728x90
반응형

Nginx 설치
sudo apt update
sudo apt -y install nginx
- 2022.09.11 기준 Ubuntu 22.04 LTS에선 nginx version: nginx/1.18.0 (Ubuntu) 가 설치된다.
- 2025.09.07 기준으로도 동일.
다음을 통해 부팅시 자동으로 실행되도록 등록한다.
sudo systemctl enable nginx
- 서비스가 부팅 시 자동으로 실행되도록 등록합니다.
- /etc/systemd/system/multi-user.target.wants/ 같은 곳에 심볼릭 링크가 생김.
- 여기에 심볼릭 링크가 있으면, 장비가 multi-user.target으로 진입할 때 해당 서비스가 자동으로 실행됨.
- multi-user.target
- 장비가 전통적인 runlevel 3 로 시작할 때 진입 (network 포함, console login, gui 없음)
- 대부분의 서버가 이상태로 부팅됨 (네트워크 서비스 + 다중사용자 로그인 가능한 정상 서버 동작 모드)
- sudo systemctl disable nginx : 해당 디렉토리에서 심볼링 링크 삭제.
- 단, enable 만 해서는 지금 당장은 실행되지 않음: sudo systemctl enable --now nginx (등록과 시작을 같이)
Nginx 설정 추가하기.
/etc/nginx/sites-available/ 디렉토리에 추가할 설정파일을 만든다.
- 기본으로
default파일이 존재 : 기본 설정이 작성되어 있음 (port 80을 사용). - 이를 수정하는 방법도 가능하나 개인적으로는 다른 port를 사용하는 방식으로 설정을 추가하는 것을 선호.
- sudo vi /etc/nginx/sites-available/<youfile_name>.conf
단, 주의할 것은
/etc/nginx/sites-available/디렉토리는 설정을 저장하는 곳으로,- 해당 디렉토리 내의 설정 파일들은
Nginx에 반영이 이루어지지 않는다.
Nginx에 반영이 되도록 하기 위해서는 /etc/nginx/sites-enabled/ 디렉토리로
- 설정 파일을 복사하거나 또는
- 대상 파일의 심볼릭 링크를 생성한다.
❯ sudo ln -sf /etc/nginx/sites-available/<새설정파일> /etc/nginx/sites-enabled/<새설정파일>
설정 체크.
다음의 명령어로 nignx의 설정에 문제 없는지 확인해야 한다.
❯ sudo nginx -t
오류가 없다면 다음과 같은 메시지를 확인할 수 있다.
❯ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
반드시 sudo를 사용해야 함. 일반 사용자는 log file과 PID파일을 열 권한이 없음:
❯ nginx -t
nginx: [alert] could not open error log file: open() "/var/log/nginx/error.log" failed (13: Permission denied)
2025/09/07 04:31:54 [warn] 5817#5817: the "user" directive makes sense only if the master process runs with super-user privileges, ignored in /etc/nginx/nginx.conf:1
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
2025/09/07 04:31:54 [emerg] 5817#5817: open() "/run/nginx.pid" failed (13: Permission denied)
nginx: configuration file /etc/nginx/nginx.conf test failed
변경된 설정만 반영하려면 : sudo systemctl reload nginx
- 안정적이고 무중단임.
Nginx 재시작
변경된 설정이 적용되도록 Nginx를 재시작시킨다.
- 끄고나서 재시작이라
- 프로세스가 꼬인 경우 등에서도 잘 동작 (잠시 서비스가 중단됨
❯ sudo systemctl restart nginx
상태 확인 및 에러 및 접속 로그 확인.
다음의 명령어로 nginx의 현재 상태를 확인할 수 있음.
❯ systemctl status nginx.service
로그 확인
-
/var/log/nginx/error.log의 로그를 통해 에러를 확인 가능함. - 접속 로그는 기본적으로 다음에서 확인 가능:
/var/log/nginx/access.log
같이보면 좋은 자료들
2023.08.01 - [WebApp] - [WebApp] NginX 설정 관련 .
[WebApp] NginX 설정 관련 .
nginx.conf 파일을 이용하여 설정한다. 기본 용어 directives란? nginx에서 각 line에서 처음 등장하는 word를 directive라고 부르며, 이들은 각각 nginx가 특정 설정을 담당함. directives는 크게 두 종류로 나뉨.
ds31x.tistory.com
728x90
'WebApp' 카테고리의 다른 글
| [HTTPS] certbot을 통한 nginx에서 HTTPS 설정. (0) | 2023.09.10 |
|---|---|
| [HTTPS] Certification 갱신 : certbot renew (0) | 2023.09.10 |
| [HTTPS] certbot 사용법 : chain 삭제 (0) | 2023.09.10 |
| [WebApp] NginX 설정 관련 . (0) | 2023.08.01 |
| [WebApp] CGI vs. WSGI (0) | 2023.07.31 |