AWS 서버 구축⚒️(AWS의 컴퓨터를 빌려보자..!) (1)

‍서지오·2022년 8월 17일
0

Server Study

목록 보기
4/11

구현과정🚊

1. AWS EC2 인스턴스 생성

  • AMI(Amazon Machine Image) 설정 : 서버에서 사용할 OS를 설정
    • 이전 virtual box에서 서버를 구축하기 위해 virtual machine image를 다운 받아 사용하였는데 이와 유사하다.

1-2. 인스턴스 유형 선택

  • 프리티어 계정을 사용할 경우 무조건 l GIB 메모리를 주는 t2 유형을 사용해야 한다.

1-3. 키 페어 생성

  • 키 페어를 생성하여 로컬 pc내에 다운 받는다.
    • 노트북과 데스크탑 모두에서 사용하기 위해 현재 OneDrive에 저장해 두었다.
  • .pem 확장자를 띈다.
  • 기존에 키 페어를 생성하였다면 생성하지 않고 기존 걸 사용해도 된다.

1-4. 보안 규칙 설정

  • AWS에서 빌린 컴퓨터에 접속하여 명령을 통해 조작하려면 SSH 프로토콜을 사용하여 22번 포트로 접속해야 한다.

1-5. 생성 완료

  • 퍼블릭 IPv4 : 인스턴스에 부여된 IP 주소를 의미
    • IPv4와 IPv6 : 예전에는 32bit로 구성되어 약 43억개의 IP 주소를 생성할 수 있는 IPv4를 사용하였지만 전 세계에 IP 주소를 필요로 하는 컴퓨터가 늘어 IPv4로 모든 컴퓨터의 IP 주소를 감당하긴 힘들어져 IPv6가 등장하였지만 IPv6는 IPv4와 하위 호환성을 제공하지 않고 일반 사용자에게 이점이 눈에 잘 보이지 않아 상업성이 떨어지는 한계를 갖고 있다.
  • 보안 그룹 이름 : 인스턴스 생성 시 지정했던 보안 그룹
  • 키 이름 : 인스턴스 생성 시 지정했던 키 이름

2. WinSCP 설치

  • Windows용 GUI이자 파일 전송 시 사용하는 프로토콜인 SFTPFTP를 사용하는 클라이언트 프로그램이다.
  • 로컬 컴퓨터와 원격 컴퓨터(EC2) 간에 안전하게 파일을 복사 및 전송할 수 있다.

2-1 WinSCP에 새 사이트 추가

  • 파일 프로토콜 : EC2와 파일을 주고 받을 거기 떄문에 SFTP 프로토콜 사용
  • 호스트 이름 : 생성한 인스턴의 IP 주소(IPv4) 입력
  • 사용자 이름 : 이 사이트에서 설치한 AMI에 따른 기본 사용자 이름을 확인할 수 있다.
    • 필자의 경우에는 Ubuntu를 사용하므로 ‘ubuntu’ 입력

2-2 고급 설정에서 키 페어 파일 올리기

  • 파일 검색 시 모든 파일로 해야 처음에 key pair가 보이게 된다.
  • WinSCP는 key pair를 PuTTY 형식만 지원하기에 변환 후 저장

2-3 로그인 후 AWS에 빌린 인스턴스의 폴더 구조를 확인

  • 왼쪽이 내 로컬 PC, 오른쪽이 EC2 인스턴스

2-4 Putty 설치 후 WinSPC에서 표시한 버튼을 클릭하여 실행

  • Putty를 통해 로컬 PC에서 터미널을 통해 실행할 명령을 입력하듯이 EC2에 실행할 명령을 입력한다.

3. 인바운드 규칙 편집

  • SSH : 관리자로 서버를 사용할 시 22번 포트로 접속
  • HTTP : 클라이언트로 서버를 사용할 시 80번 포트로 접속

4. NginX 설치

sudo apt update
sudo apt install nginx

  • NginX 설치 후 인스턴스의 IP 조소를 웹브라우저에 입력하면 위와 같이 niginx가 무사히 설치된 걸 확인할 수 있다.


5. MySql 설치

sudo apt install mysql-server
sudo mysql_secure_installation #이 과정에서 비밀번호 수행 중 오류 발생(밑에서 설명)
  • ‘Please consider using ALTER USER instead if you want to change authentication parameters.’ 오류 발생
    1. mysql_secure_installation을 실행중인 터미널을 끈다.

    2. 다시 터미널 창을 킨 후 sudo mysql 명령을 통해 mySql 실행

    3. 아래 명령을 통해 root 사용자의 비밀번호를 변경

      ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password by '새로운비밀번호'
  • 실행 모습

6. PHP 설치

sudo apt install php-fpm php-mysql
cd /var/www/html
sudo vi index.php #index.php 파일 생성과 동시에 편집
sudo vi /etc/nginx/sites-available/default #서버 설정 관련 내용 수정
sudo vi nginx restart
  • php-fpm : Nginx와 PHP 연동
  • php-mysql : Nginx와 MySql연동
  • /etc/nginx/sites-available/default : 이 파일에 niginx 관련 설정 내용이 들어있다.

6-1 PHP 설치 시 발생한 오류

  • 이러한 에러가 뜬다면 journalclt -xe 명령을 입력

  • 첫 줄을 확인하면 파일의 92번째 줄에 } 가 빠져있다는 문구가 보인다.
  • vi로 중괄호를 닫아주면 오류 해결

참고 자료

https://velog.io/@oyeon/AWS-서버-구축-외부-접속

https://nordvpn.com/ko/blog/ipv4-ipv6-bigyo/

https://masssal.tistory.com/3

https://seong6496.tistory.com/322

https://luminitworld.tistory.com/81

profile
백엔드 개발자를 꿈꾸는 학생입니다!

0개의 댓글