AWS EC2 Linux, Nginx + MySQL + PHP 서버 구축하기 2탄 (Nginx, mysql, php 설치편)

Jayden JaeMin Jeong·2021년 6월 1일
3

Rising programmer 3

목록 보기
6/12
post-custom-banner

이번에는 Nginx와 mysql, php를 설치해보겠다. 아 참고로 이걸 LEMP stack 이라고 부르더라.

Nginx 설치

일단 시작하기 전에 SSH에 접속해놓길 바란다. SSH에 접속했다면

$ sudo apt update

이 명령어로 패키지 업데이트를 해준다. 업데이트를 했다면

$ sudo apt install nginx

이 명령어로 nginx를 다운로드 받으면 된다.
localhost엔 nginx 웹페이지가 잘 나타난다. 그리고 퍼블릭 IPv4 주소로 접속해보면
위와 같이 뜨면 성공한다.(안 뜨는 사람은 보안 그룹으로 가서 http 포트 80을 설정해놓으시길 바람)

MySQL 설치

어디서 읽었는 지 모르겠는데 원래 설치 순서가 웹 서버 설치, DBMS 설치, PHP 설치 이런 식으로 된다고 한다. 어쨌든 계속 진행해보자.

$ sudo apt install mysql-server

이 명령어로 다운로드 해주자. 참고로 나는 다운로드 하는 과정에서 처음이랑 다르게 비밀번호 설정, 뭐 설정 이런게 안 떴다. 일단 당황하지 말고 그냥 킵고잉 하자. 잘 깔렸는 지 확인하기 위해

$ sudo apt install mysql-server

이걸 입력해서
mysql에 정상적으로 접속되면 성공한 것이다.

PHP 설치

php 설치를 위해선

$ sudo apt install php-fpm php-mysql

이 명령어로 설치해야 한다고 한다. 주의해야 할 점은 apache로 웹 서버를 돌리는 사람은 fpm을 설치하지 않지만 nginx를 돌릴 때는 fpm이 꼭 필요하다고 한다. 설치를 마치고 나면

$ cd /var/www/html 

이 디렉토리로 이동해서 phpinfo.php 파일을 만들어준다.

보이능가 index.php가 ㅋ. 그런데 /index.php로 이동하면 아마 파일이 다운받아 질 것이다.
(이렇게)

이건 nginx와 php가 아직 연동이 되지 않아서 그렇다. 해결하려면 nginx 설정 파일로 가서 연결해줘야한다. 하는 방법은

$ cd /etc/nginx/sites-available

이 경로로 이동해서

$ sudo vi default

이 명령어로 "default" 파일을 편집해주는데
https://velog.io/@banjjoknim/Ubuntu%EC%97%90-Nginx-MySQL-PHP-LEMP-stack-%EC%84%9C%EB%B2%84-%ED%99%98%EA%B2%BD-%EA%B5%AC%EC%B6%95%ED%95%98%EA%B8%B0
콜트의 글을 참고해보면 php7.2-fpm을 사용하면 따로 또 뭐 추가로 해야한다고 한다. 일단 진행해본다.

fastcgi를 찾아서 저렇게 고쳐준다. 참고로 중괄호가 잘 닫혀있어야 에러가 나지 않는다. 그 다음

$ sudo service nginx restart

다시 재실행해준다.
.
.
.
접속해봤는데 502 bad gateway? 이 에러가 떴음ㅋㅋ; 알고보니 저기 위에 설정 파일 고쳐줄 때 7.2-fpm으로 고치는게 맞았음 ㅎㅎ,,

고쳐주고 다시 /index.php 접속해보면

하하 성공

여기까지 성공했으니 다음은 mysql을 외부 접속하는 것에 대해서 알아보겠다. 그럼 이만!

profile
천방지축 CEO & CTO
post-custom-banner

1개의 댓글

comment-user-thumbnail
2021년 8월 14일

와 진짜 너무 감사합니다 - 미래의 재민이가-

답글 달기