[AWS] AWS 서버 구축(Linux + Nginx, PHP, MySQL)

sally·2021년 7월 17일
0
post-thumbnail

1. Linux

리눅스 환경을 구축하기 위해서 지난번에는 가상머신을 이용했다면 이번엔 AWS에서 서버를 대여할 것이다.

아마존 AWS 사이트로 들어가서 EC2를 만든다.
OS는 Ubuntu 20.04 AMI로 선택하고 인스턴스 유형은 t2.micro(프리티어)로 선택한다.

설치를 진행하다 보면 아래와 같은 창이 나온다.

새 키페어를 생성하고 키페어를 다운받으면 된다. 이때 '키페어이름'.pem 파일이 다운받아지는데 이 파일은 절대 잃어버리면 안되고 잘 관리해야 한다.

AWS 서버 구축이 완료되면 인스턴스가 새로 생긴걸 확인할 수 있다.

AWS 서버에 접속하기 위해서 PuTTYPuTTYgen 을 다운로드 해준다.

putty를 사용하여 서버에 접속할때 ec2에서 아까 제공한 프라이빗 키(.pem)파일은 지원하지 않기 때문에 .ppk파일로 바꿔주어야 한다. 이때 사용하는 툴이 puttygen이다.

[PuTTYgen]
PuTTYgen을 실행하여 Conversion -> Import Key를 클릭하여 아까 다운받았던 .pem 파일을 열어줍니다.

Save private key를 클릭하면 ppk 파일로 저장된다.

[PuTTY]

PuTTY를 실행하고 Host Name에 EC2에서 생성한 서버의 퍼블릭 IPv4 주소를 복사하여 넣어준다.
2.

SSH -> Auth 로 이동하여 아까 저장한 ppk 파일을 Browsw하여 넣어준다.

인증 설정까지 완료하고 난 후에 open을 눌러주면

PuTTY 창이 뜨게 되는데, ubuntu를 입력하고 엔터를 치면


AWS에서 빌린 Ubuntu 서버에 접속이 되었다!

2. Nginx, PHP, MySQL

1) nginx 설치

$ sudo apt update
$ sudo apt install nginx

여기서 꿀팁 🎉

sudo apt install nginx -y

명령어 뒤에 -y를 붙여주면 중간에 y를 입력안해도 알아서 진행된다.

nginx가 잘 설치됐는지 확인해보자
주소창에 서버의 퍼블릭 IPv4로 접속하면 nginx창이 나와야 한다.

나오지 않는다..!!

왜?
인바운드 규칙을 설정 안해줬기 때문이다.
EC2 보안 설정에 인바운드 규칙을 들어가보면 SSH 포트 (putty랑 연결되는 포트번호)만 지정이 되어있다.
브라우저상에서 열려면 80 포트가 열려가 하기 때문에 HTTP 형식의 인바운드 규칙을 추가해주었다.

다시 퍼블릭 IPv4를 주소창에 쳐보면

welcome to nginx!가 떴다.

2)mysql

설치

$ sudo apt install mysql-server
$ sudo mysql
mysql> exit


설치가 잘 된걸 확인하고 나오면 된다.

설정

$ sudo mysql_secure_installation

설치 진행 중 나오는 There are three levels of password validation policy:

질문에서 0, 1, 2 의 단계 중 1을 선택하였다. 이외의 질문들은 y로 넘어가면 된다. 이후 비밀번호를 입력한다.

$ sudo mysql -u root -p
mysql> exit

3)php

$ sudo apt install php-fpm php-mysql

nginx에서는 php-fpm을 반드시 설치해야 한다. nginx와 php를 연동시키는데 필요하기 때문이다.

$ cd /var/www/html
$ vi index.php

phpinfo 정보를 띄어주는 index.php 파일을 아래와 같이 만들었다.

$ vi /etc/nginx/sites-available/default


php 부분의 주석을 해제하였다.

설정을 완료했으면 nginx를 restart 시킨다.

$ sudo service nginx restart

퍼블릭IPv4/index.php 경로로 phpinfo가 잘 나오는것을 볼수있다.

참고블로그
https://velog.io/@oyeon/AWS-%EC%84%9C%EB%B2%84-%EA%B5%AC%EC%B6%95-%EC%99%B8%EB%B6%80-%EC%A0%91%EC%86%8D

profile
Believe you can, then you will✨

0개의 댓글