AWS 서버 구축, Linux + Nginx PHP MySQL 설치
1 ) AWS 가입 및 지역 설정
먼저 AWS 프리티어 계정을 만들어 준다! 기본 지원 - 무료를 선택하고 가입을 완료하면 된다.
AWS에 가입을 하고 나면 위와 같은 콘솔 홈이 등장하는데, 이때 우측 상단에서 지역 설정을 할 수 있다.
지역을 아시아 태평양(서울)로 변경해주면 된다!
2 ) 인스턴스 생성
콘솔에 ec2를 검색하고 인스턴스 생성을 이미지 파일을 선택해주면 된다.
나 같은 경우 Ubuntu 18.04 LTS ARM을 선택해주었다.
인스턴스 유형은 t2.micro를 선택해준다.
용량의 경우 프리티어 계정이 사용할 수 있는 용량이 최대 30GB라고 하니 30으로 설정하고 넘어가겠다.
- 보안 그룹 규칙 1 : ssh 0.0.0.0/0 22
- 보안 그룹 규칙 2 : 사용자 지정 TCP 위치 무관 80
다음으로 키페어 이름을 설정해주고, RSA, .pem을 선택하고 키페어를 생성해준다.
나중에 SSH를 등록할 때 키페어가 필요하기 때문에 다운 받은 후 위치를 알아두자.
키페어를 다운로드하고 인스턴스를 시작하면 된다 → 키페어를 통해서 내가 생성한 ec2에 접근할 수 있다 !
3 ) 탄력적 IP 주소 할당
콘솔에서 [탄력적 IP] - [탄력적 IP 주소 할당] 경로로 이동하여 탄력적 IP주소를 할당하면 된다.
(내가 만든 인스턴스를 선택했는지 확인해주자!)
4 ) 서버 접속
인스턴스 생성과 탄력적 IP주소까지 할당하였다면 이제 터미널을 통해서 서버에 접속하면 된다.
$ cd [키페어를 보관해둔 경로]
일단 먼저 아까 다운받았던 키페어가 있는 곳으로 이동하면 된다.
[EC2] - [인스턴스] - [연결] - [SSH 클라이언트]로 이동하면퍼블릭 DNS을(를) 사용하여 인스턴스에 연결할 수 있는 예시가 있다
→ 터미널에 입력하면 접속이 가능하다.. 하지만!
이런식으로 경고가 뜬다.. "WARNING : UNPROTECTED PRIVATE KEY FILE!"
이는 최초 접속시 AWS EC2의 pem 파일 권한변경을 하지 않아서이다!
$ chmod 400 [나의 키페어 이름].pem
$ 다시 연결
이렇게 권한 변경을 하고 다시 접속하면 성공이다! → 터미널에서 ubuntu@ip -~~ 이렇게 뜨면 된다.
5 ) Nginx 설치
$ sudo apt update
$ sudo apt install nginx
우선 우분투 패키지를 모두 업데이트 해준 후 nginx를 설치해주자.
이 후에 EC2 인스턴스의 퍼블릭 IPv4 주소로 접속하면 Nginx가 구동되고 있음을 확인할 수 있다.
6 ) MySQL 설치
$ sudo apt-get install mysql
7 ) PHP 설치
$ sudo apt install php-fpm php-mysql
$ php -v
php 설치 후 Ngnix의 기본 경로인 var/www/html로 접근하여 index.php파일을 작성해준다.
→ IP주소로 접근
$ vi index.php
<?php
phpinfo();
?>
그리고 브라우저에서 (퍼블릭 IP주소)/index.php로 접속한다. 그러면 index파일이 다운로드 되는 것을 볼 수 있다.
이는 아직 PHP와 Nginx가 연동되지 않았기 때문에 발생하는 현상이다.
8 ) Nginx 기본 설정
다음 경로로 이동해서 해당 파일을 아래 사진과 같이 편집해준다. 그 후 재시작 해주자!
$ sudo vi /etc/nginx/sites-available/default
# 편집 이후 재시작
$ sudo service nginx restart
nginx를 재시작하고 <퍼블릭ip주소/index.php> 로 접속하려고 했음에도 불구하고 502 gateway가 발생하였다.
그래서 아래의 블로그를 참조하여 에러를 고쳐보았다.
1. /etc/nginx/sites-available/default 경로에서
- nginx 설정 파일에서 PHP를 처리하는 부분의, fastcgi-pass 값을 확인하여 PHP-fpm sock 파일이 정상적으로 위치해 있는지 확인
2. /ect/php/7.2/fpm/pool.d/www.conf 경로에서
- PHP-fpm 설정 파일에서 listen 부분의 sock 파일이 경로가 동일한지 확인
https://blog.gomgom.net/502-bad-gateway-solution-on-nginx-php_fpm/
수정 이후 다시 재시작해주자!
$ sudo service nginx restart
$ sudo service php7.0-fpm restart
다시 접속하면 성공!
'Server' 카테고리의 다른 글
[Server] phpMyAdmin 설치법 (0) | 2022.08.16 |
---|---|
[Server] MySQL 외부에서 접속하기(Workbench) (0) | 2022.08.16 |
[Server] 포트포워딩을 통해 외부에서 phpinfo 접속하기 (0) | 2022.08.08 |
[Server] Bitnami 설치 후 APM 실행하기 (0) | 2022.08.08 |
[Server] Ubuntu에서 PHP 소스 설치하기/컴파일 설치/수동설치 (0) | 2022.08.02 |
댓글