nginx란? 래픽이 많은 웹사이트의 서버(WAS)를 도와주는 비동기 이벤트 기반구조의 경량화 웹 서버 프로그램이다. 클라이언트로부터 요청을 받았을 때 요청에 맞는 정적 파일을 응답해주는 HTTP Web Server로 활용되기도 하고, 또는 Reverse Proxy Server로 활용하여 WAS의 부하를 줄일 수 있는 로드밸런서 역할을 하기도 한다.
자세한 개념 설명은 링크를 참조
설치 전 패키지 목록 업데이트
sudo apt update
sudo apt upgrade
nginx 설치 명령어
sudo apt install nginx
계속할지 묻는 메시지가 표시되면 키보드에서 'Y'를 누르고 Enter 키를 누르면 설치 완료
# nginx 시작
sudo systemctl start nginx
# nginx 상태 확인
sudo systemctl status nginx
UFW 방화벽을 실행중인 경우 Nginx 애플리케이션 프로필을 허용해야한다.
ufw 방화벽과 관련된 3개의 Nginx 프로필이 있다.
# 방화벽 활성화
sudo ufw enable
# 원하는 프로필 허용
sudo ufw allow 'Nginx Full'
sudo ufw allow 'Nginx HTTP'
sudo ufw allow 'Nginx HTTPS'
# 방화벽 변경사항 리로드
sudo ufw reload
# 방화벽 상태 확인
sudo ufw status
Nginx 관련한 디렉토리 경로는 기본적으로 /etc/nginx이다.
기본적인 환경 설정 파일의 경로는 /etc/nginx/conf.d 디렉토리 하위의 default.conf에 있는데
혹시나 conf.d 디렉토리 아래에 기본 설정 파일이 없다면 sites-availabe이라는 디렉토리 하위에 있을 수 있다.
sudo vim /etc/nginx/nginx.conf
# nginx 중지
sudo systemctl stop nginx
# nginx 시작
sudo systemctl start nginx
# 부팅 혹은 재부팅 시 nginx 자동 시작
sudo systemctl enable nginx
# 변경 사항 적용
sudo systemctl restart nginx
# 혹은
sudo service nginx restart
# 테스트
nginx -t
테스트 통과 시 아래 화면
/etc/nginx/nginx.conf: 기본 구성 파일입니다. 서버의 요구사항에 맞게 설정을 수정할 수 있습니다.
/etc/nginx/sys-available: 서버 블록 구성을 저장하는 디렉토리입니다. Nginx는 서버 블록이 사이트 사용 디렉토리에 연결된 경우에만 사용합니다.
/etc/nginx/http 지원: 디렉터리에는 이미 활성화된 사이트별 Nginx 서버 블록이 포함되어 있습니다.
conf.d : sites-enabled와 같이 nginx에 반영되는 작업들이 있지만 비활성해야 하는 경우 삭제하거나 변경해야 함
sites-enabled : 설정 파일을 복사 또는 심볼릭 링크로 걸어줌(nginx에 반영)
sites-available : 설정을 저장하는 곳(nginx에 반영 X)
Nginx 웹 서버 문제를 해결하는 데 사용할 수있는 두 가지 주요 로그 파일이 있습니다.
/var/log/nginx/access.log: 웹 서버에 대한 모든 요청이 기록됩니다.
/var/log/nginx/error.log: 오류 로그 파일이며 Nginx에서 발생하는 모든 오류를 기록합니다.
[출처] : https://computer-science-student.tistory.com/737, https://t-okk.tistory.com/154, https://ko.linux-console.net/?p=721#gsc.tab=0