우선 만들어둔 AWS ec2 인스턴스에 접속한다. nginx를 설치하기 전 apt update를 한다. Debian 서버와의 최신 싱크를 맞추기 위해 Ubuntu 사용시 해당 명령어를 특정한 패키지를 다운로드 받기 전에 항상 해주는 것이 좋다.
참고로 apt update와 apt upgrade에 대한 설명이다.
apt update : 운영체제에서 사용 가능한 패키지들과 그 버전에 대한 정보를 업데이트하는 명령어다. 설치되어 있는 패키지를 최신으로 업데이트하는 것이 아닌 설치가능한 리스트를 업데이트하는 것이다.
apt upgrade : 운영체제에 apt install 명령으로 설치한 패키지들을 최신 버전으로 업그레이드하는 명령어다. apt upgrade 명령을 이용하면 apt update로 가져온 각 패키지들의 최신 버전에 맞게 업그레이드를 한다.
다음은 nginx를 설치하겠다. sudo apt install nginx 명령어를 입력한다. 설치 중간에 추가적인 디스크 사용 여부 동의한다.
nginx -v 명령어를 통해 정상적으로 설치된 것을 확인할 수 있다.
다음은 mysql-server를 설치한다. sudo apt install mysql-server 명령어를 입력하자. nginx와 동일하게 설치 중간에 추가적인 디스크 사용 여부에 동의한다.
mysql-server 설치 후 sudo mysql_secure_installation 명령어를 통해 보안 설정을 진행한다. validate password plugin 설정에 동의하고 원하는 비밀번호 레벨을 선택 후 비밀번호 설정을 한다. 추후에 나오는 항목들 중 원격으로 루트 로그인 허용 관련 항목을 제외한 나머지 항목들은 모두 동의를 했다.
설정이 완료됐다면 sudo mysql -u root -p 명령어로 mysql에 접속할 수 있다.
다음으로는 php 설치를 해야하는데, php 설치에 앞서 php-fpm과 php-mysql 설치를 먼저 진행 해야한다.
sudo apt install php-fpm php-mysql 명령어로 동시에 설치를 진행한다.
php-fpm : 동적 콘텐츠를 읽은 뒤 html로 변환시켜 웹 서버에게 다시 전달해주는 모듈
php -v 명령어를 통해 php 버전을 확인할 수 있다.
브라우저에서 ip로 접속하면 nginx에서 제공하는 index 페이지를 확인할 수 있다.
다음은 phpinfo 화면을 띄어보겠다. 우선 nginx의 기본 경로인 /var/www/html 디렉토리로 이동한 뒤 vi 명령어로 phpinfo.php 파일을 생성한다.
이제 php와 nginx를 연동시킬 차례다. nginx의 기본 설정 경로인 /etc/nginx/sites-available로 이동하고 vi 명령어로 default 파일을 연다.
default 파일에 대한 간략한 설명이다.
index : 접속 시 처음 불러오는 파일
root : 처음 불러오는 파일들의 경로
위와 같이 주석을 해제하고 해당 경로에 있는 php-fpm 버전에 맞게 변경한다.
다음은 /etc/nginx로 이동 후 vi 명령어로 nginx.conf를 실행시킨다.
해당 부분의 주석을 해제한 후 저장한다.
nginx의 설정 파일을 변경하면 반드시 test를 하고 restart를 해야 한다.
sudo nginx -t : test 명령어. test is successful 이 보이면 성공한 것.
sudo service nginx restart : nginx 재시작 명령어
nginx 재시작을 한 뒤 ip/phpinfo.php로 접속 시 다음과 같은 화면을 볼 수 있다.
참고
https://dev.plusblog.co.kr/22
https://yumserv.tistory.com/146