이번에는 웹 서버중 하나인 Nginx 를 설치하고 Nginx를 통해 pybo에 접속할 수 있도록 설정해본다.
1. Nginx 설치
MobaXterm 으로 AWS 서버에 접속하여 가상환경에 진입, 아래 명령어를 실행하여 관리자 권한으로 Nginx를 설치하자
sudo apt install nginx

정상적으로 설치되는 것을 확인할 수 있다. 중간에 선택지가 나올 경우 y(yes)를 선택해준다.
2. Nginx 설정
cd /etc/nginx/sites-avilable
sudo vi mysite


/etc/nignx/sites-available 디렉토리로 이동하여 mysite 라는 설정 파일을 위와 같이 관리자 권한으로 작성해준다.
listen 80 은 웹 서버를 80 포트로 서비스한다는 의미이다. HTTP 프로토콜의 기본포트가 80이기 때문에 이렇게 해두면
앞으로는 서버에 접속할 때 :8000 과 같은 포트번호를 생략할 수 있다.
server_name 은 서버의 고정 IP이다.
location /static 은 정적파일에 대한 설정으로, /static 으로 시작되는 url 요청에 대해 지정된 디렉토리에서 파일을 읽어
처리하도록 하는 설정이다.
location / 은 location /static 에서 설정한 것 이외의 모든 요청은 Gunicorn 이 처리하도록 하는 설정이다.
proxy_pass 는 Gunicorn 의 유닉스 소켓 경로이다.
cd /etc/nginx/sites-enabled
sudo rm default
sudo ln -s /etc/nginx/sites-available/mysite

이번에는 /etc/nginx/sites/sites-enabled 로 이동한다. 이 디렉토리는 활성화하려는 설정 파일을 링크로 관리하는
디렉토리이다. 기존의 default 링크를 관리자 권한으로 삭제하고 마찬가지로 관리자 권한을 사용하여 위에서 작성한
/etc/nginx/sites-available/mysite 설정파일의 심볼릭 링크를 생성한다.
3. Nginx 실행
이제 변경된 설정을 적용하기 위해 Nginx를 다시 실행해야한다.
sudo systemctl restart nginx

이제 Nginx 와 Gunicorn 모두 설정이 완료되었다.

브라우저에서 포트번호 없이 고정ip만으로 접속해보면 pybo가 정상적으로 작동하는 것을 볼 수 있다.
4. Nginx 오류 확인
Nginx 의 설정 파일에 오류가 있는지 확인하려면 다음 명령을 실행하면 된다.
sudo nginx -t

위의 경우 설정파일에 문제가 없기에 정상적으로 작동하지만 만약 설정 파일에 오류가 있다면 명령어 실행결과
오류가 발생하고 서버가 정상적으로 실행되지 않을 것이다.
'개인 프로젝트 > Django-mysite' 카테고리의 다른 글
#36 DEBUG (0) | 2021.10.15 |
---|---|
#35 서버 관리자 (0) | 2021.10.15 |
#33 Gunicorn (0) | 2021.10.15 |
#32 WSGI (0) | 2021.10.15 |
#31 터미널 접속 (0) | 2021.10.14 |