저번 시간에 Wiscp와 putty로 AWS에서 생성한 서버로 접속하는 것까지 알아봤다. 이번 시간에는 Nginx, Mysql, php를 패키지 설치 해 볼 것이다.
$ sudo apt update
$ sudo apt install nginx
위의 코드로 nginx를 설치하면 해줘야 할 일이 있다. AWS에서 우리가 만든 서버는 SSH프로토콜 밖에 받지 못하므로 외부에서 접속하는 것이 불가능하다. 인바운드 규칙에 HTTP도 추가해서 연결해 줘야 한다.
보안그룹->인바운드 규칙 편집 -> 규칙 추가 -> 유형:HTTP -> 소스: anywhere 로 설정하고 규칙을 저장 한다.
이제 검색창에 인스턴스의 IP주소를 입력하면 어떤 위치에서도 80번 포트로 접근을 허용했기 때문에 접속에 성공한 것을 볼 수 있다.
$ sudo apt install mysql-server
$ sudo mysql
$ sudo mysql_secure installation
코드 마지막 줄은 비밀번호와 보안설정을 해주는 명령어이다.
마지막 줄 명령어를 입력하면 총 5가지의 질문이 나온다.
완료하면 위에 사진처럼 정상 작동 되는 것을 볼 수 있다.
$ sudo apt install php-fpm php-mysql
여기서 php-fpm은 php와 nginx를 서로 연동시킬 때 필요한 것이라고 한다.
$ cd /var/www/html
$ sudo vi phpinfo.php
<?php
phpinfo();
?>
$ sudo service nginx restart
phpinfo.php 파일 저장 후 nginx를 재시작, 검색창에 인스턴스 IP주소/phpinfo.php를 입력했지만 아무 창도 뜨지 않았다. 찾아보니 nginx와 php는 연동시킬 때 nginx의 기본 설정파일에 들어가서 수동으로 설정해주어야 한다고 한다.
$ cd /etc/nginx/sites-available
$ sudo vi default
위에 첨부한 코드대로 /etc/nginx/sites-availalbe/default로 들어와서 연다. 위의 사진은 내가 바꾼 다음 캡쳐한 사진이다. 원래 주석처리가 되어있는 부분을 사진처럼 풀어준다. 수정한 파일을 저장하고 nginx를 재시작하면 위의 사진과 같이 인스턴스 IP주소/phpinfo.php의 주소로 정상 작동하는 것을 볼 수 있다.