[Nginx] 01. Nginx 기초
카테고리: NGINX
태그: nginx
01. Nginx 설치
■ 필수 구성 요소 설치
sudo apt install curl gnupg2 ca-certificates lsb-release ubuntu-keyring
■ nginx 공식 서명 키 가져오기
curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor \
| sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null
■ repository 설정
echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \
http://nginx.org/packages/ubuntu `lsb_release -cs` nginx" \
| sudo tee /etc/apt/sources.list.d/nginx.list
■ nginx 설치
sudo apt update
sudo apt install nginx
02. Nginx 설치 확인
■ 버전 확인
nginx -v
■ 실행 중인지 확인
ps -ef | grep nginx
■ nginx 기본 페이지 출력 확인
ps -ef | grep nginx
03. Nginx의 중요 파일, 디렉터리 및 명령
■ NGINX 파일 및 디렉토리
| 파일 및 디렉터리 | 설명 |
|---|---|
| /etc/nginx/ | NGINX 서버의 기본 설정 디렉토리로, 서버 동작 방식을 정의하는 설정 파일들이 위치함 |
| /etc/nginx/nginx.conf | NGINX 서비스의 기본 설정 파일로, 전역 설정(워커 프로세스, 로깅, 동적 모듈 로딩 등)을 포함하고 있으며, 다른 설정 파일들을 참조함 |
| /etc/nginx/conf.d/ | 기본 HTTP 서버 설정 파일이 위치하는 디렉토리로, .conf로 끝나는 파일들이 nginx.conf의 http 블록에 포함되며 설정 파일을 간결하게 유지하기 위해 include 문을 사용하는 것이 좋다. |
| /var/log/nginx/ | NGINX의 기본 로그 위치로, access.log와 error.log 파일이 존재한다. (access.log는 요청 기록을, error.log는 오류 이벤트와 디버그 정보를 포함함.) |
■ NGINX 명령
| 명령 | 설명 |
|---|---|
| nginx -h | NGINX 도움말 메뉴를 표시 |
| nginx -v | NGINX 버전을 표시 |
| nginx -V | NGINX 버전, 빌드 정보 및 구성 인수를 표시하여 NGINX 바이너리에 포함된 모듈을 보여줌 |
| nginx -t | NGINX 설정을 테스트함 |
| nginx -T | NGINX 설정을 테스트하고 검증된 설정을 화면에 출력함. 지원 요청 시 유용함. |
| nginx -s signal | NGINX 마스터 프로세스에 신호를 전송함. 전송 가능한 신호로는 stop(즉시 종료), quit(요청 처리 후 종료), reload(설정 재로드), reopen(로그 파일 재개방)이 있음. |
04. 정적 컨텐츠 제공
$ mv /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.conf.old
$ cat <<EOF > /etc/nginx/conf.d/default.conf
server {
# NGINX가 포트 80에서 수신하도록 설정하며, default_server 매개변수로 이 서버를 기본 서버로 지정
listen 80 default_server;
# server_name 지시어는 요청할 호스트 이름을 정의
# 기본 서버로 설정된 경우, 도메인이 없어도 server_name 지시어를 생략할 수 있음
server_name www.example.com;
# location 지시어는 URL 경로에 따른 설정을 정의하며, '/'로 모든 요청을 매칭
location / {
# root 지시어는 정적 파일을 찾을 디렉토리를 지정. 요청 URI는 root 값에 추가되어 파일을 찾음
root /usr/share/nginx/html;
# index 지시어는 URI에 추가 경로가 없을 경우 확인할 기본 파일을 명시
index index.html index.htm;
}
}
EOF
# Nginx 서버를 중지하지 않고 구성을 정상적으로 다시 로드함
$ nginx -s reload
댓글 남기기