Nginx 설정 on Ubuntu

기본 설정파일

경로
/etc/nginx/sites-available

파일
default

원격에서 에디터등으로 파일을 직접 열 경우 파일권한 변경
파일의 소유자나 소유그룹을 변경한다.
원격 접속 계정에게 해당 파일에 대한 쓰기 권한(644, 664, 755, 775)을 준다.

소유자 변경 sudo chown 사용자 /etc/nginx/sites-available/default
사용자그룹 변경 sudo chgrp 사용자그룹 /etc/nginx/sites-available/default
파일권한 변경 sudo chmod 664 /etc/nginx/sites-available/default

에디터로 열어서 수정한다
sudo nano default

도메인 설정
원하는 도메인으로 변경한다.
server_name localhost;

인덱스 페이지 설정
원하는 페이지를 추가/삭제한다
index index.php index.html index.htm index.nginx-debian.html;

PHP설정

# pass PHP scripts to FastCGI server
location ~ \.php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/run/php/php7.4-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    fastcgi_read_timeout 300;
}

location ~ /\.ht {
deny all;
}

설정파일 변경후 검증, 재시작
sudo nginx -t
sudo service nginx restart

Tomcat 연동 방식 1

별도 파일로 설정하는 방식이다.

경로
/etc/nginx/nginx.conf

파일
새로운 파일을 만든다.
touch tomcat.conf

설정내용을 추가한다.

Tomcat 연동방식 2

기본 설정파일의 server 블럭을 설정내용으로 수정한다.

Tomcat 연동 설정내용

upstream tomcat { 
    ip_hash; 
    server 127.0.0.1:8080; 
 } 

server { 
    listen  80; 
    server_name localhost; 

    location / {
    proxy_set_header X-Real-IP $remote_addr; 
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
    proxy_set_header Host $http_host; 

    proxy_pass http://tomcat; 
    proxy_redirect off; 
    charset utf-8; 
    } 
}

특정 확장자에 대해서 설정하자고 할 경우
아래 location 블럭을 추가한다
location ~\.jsp$ {
location ~ \.php$ {
location ~* \.(gif|jpg|png|js|css) {

톰캣과 PHP를 동시에 사용하고자 한다면 위의 설정내용에 아래 내용을 추가시킨다.

location ~ \.php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/run/php/php7.4-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    fastcgi_read_timeout 300;
}

Leave a Reply