Nginx 명령어 알아보기

wordpress로 홈페이지를 운영하다가 보면 간혹 웹서버가 죽는 경우가 있는데요.

 

이럴때는 Nginx 명령어를 알고 있으면 많은 도움이 됩니다.

 

Nginx 설정 파일 불러오기

Nginx 설정 파일은 일반적으로 /etc/nginx/sites-enabled/default에 위치해 있습니다.

sudo nano /etc/nginx/sites-enabled/default

 

해당 설정파일을 수정한 다음에는 nginx -t 명령어를 통해서 정상 작동하는지

 

문법에는 이상이 없는지 확인합니다.

 

기본적으로 워드프레스가 설치되었다면

server {
        listen 80;

        root /var/www/wordpress;

        index index.html index.htm index.nginx-debian.html index.php;

        server_name www.도메인.com 도메인.com;

        location / {

                return 301 https://도메인.com$request_uri;
                #try_files $uri $uri/ /index.php?$args;
        }

        error_page 404  /404.html;

        # pass PHP scripts to FastCGI server
        #
        location ~ \.php$ {

                fastcgi_pass php-handler;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
                fastcgi_read_timeout 300;
        }

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        location ~ /\.ht {
                deny all;
        }

}

위와 같은 80포트와

 

443포트에 대한 설정 2개를 하는데요. location /에 return 301로 https로 강제로 이동시킵니다.

server {
        root /var/www/wordpress;
        listen [::]:443 ssl default_server;
        listen 443 ssl default_server;
        server_name www.도메인.com 도메인.com;

        index index.html index.htm index.nginx-debian.html index.php;
        ssl_certificate /etc/letsencrypt/live/도메인.com/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/도메인.com/privkey.pem;

        location / {
                #proxy_pass http://localhost:8081;
                #proxy_http_version 1.1;
                #proxy_set_header Upgrade $http_upgrade;
                #proxy_set_header Host $host;
                #proxy_cache_bypass $http_upgrade;
                try_files $uri $uri/ /index.php?$args;
        }

        error_page 404  /404.html;



        location ~ \.php$ {


                fastcgi_pass php-handler;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
                fastcgi_read_timeout 300;
        }

        location ~ /\.ht {
                deny all;
        }

        location ~ /\.well-known/acme-challenge/ {
               default_type "text/plain";
               root /var/www/letsencrypt;
        }
}

이런 코드를 통해서 입력할 수 있습니다.

 

본인 설정에 맞춰서 수정하시면 됩니다.

sudo nginx -t

문제가 없다면 아래처럼 syntax is ok라는 메시지가 나올겁니다.

ubuntu@second~$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

이제 NGINX를 종료하기 위해서는

 

아래처럼 systemctl stop/start를 통해서 종료후 재실행합니다.

sudo systemctl stop nginx
sudo systemctl start nginx

이렇게 하면 nginx를 설정할 수 있습니다.

 

그럼 잘 사용하시기 바랍니다.