웹서버/엔진엑스

nginx 환경설정 / 웹 서버 경로 변경

삐뚤어진 개발자 2020. 1. 7.

nginx 환경설정은 nginx가 어떻게 구성되고 동작하라는 것을 명세 해놓은 것이다.

사용자가 도메인을 통해 웹 사이트를 접속하면, 어느 경로의 파일을 열어주는 다리 역할을 한다.

 

그리고 http 접속을 할 것인지, ssl을 적용해 https 접속을 할 것인지 등, 많은 설정을 할 수있다.

 

 

 

nginx.conf 파일이 웹 서버의 환경 설정 정보를 담고 있는 파일이다. (메인 설정 파일)

 

그리고 

fcgi.conf : FastCGI 환경설정 파일

sites-enabled (폴더) : 활성화된 사이트들의 설정 파일들이 위치. 

sites-available (폴더) : 비활성화된 사이트들의 설정 파일들이 위치

등이 있다.

 

메인 설정 파일 nginx.conf 를 알아본다.

 

nginx.conf 파일 수정해야 하기 때문에 위치를 찾아준다.

 

sudo find / -name nginx.conf

빨간 테두리 부분이 경로로 나왔다. 

 

나는 nano로 열어서 편집할꺼다. vi나 vim을 사용해도 상관없다.

 

sudo nano /etc/nginx/nginx.conf

 

 

파일을 열면,

 

user www-data;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;

events {
        worker_connections 768;
        # multi_accept on;
}

http {

        ##
        # Basic Settings
        ##

        sendfile on;
        tcp_nopush on;
        tcp_nodelay on;
     }
     ....

nginx 설치시, 기본적으로 세팅되어있는 기본 설정 값이 나온다.

 

 

 

 

 

worker_processes 1;
events {
	worker_connections 1024;
	}
http {
	include mime.types;
	server {
		listen 80;
	location / {
		root html;
		index index.html index.htm;
			}
		}
	}

- core modules 블록

가장 윗 부분을 core modules 블록이라고 한다.

user www-data;

worker_processes auto; 

등 nginx의 기본적인 설정을 하는 부분dlek다. 

 

- http 블록

http 블록은 server, location 블록을 포함한다. http 블록을 여러개 생성하여 관리할 수 있지만, 권장사항은 아니다.(권장사항은 http 블록을 하나만 생성하는 것) (oop 상위 클래스 개념으로 생각하면 쉽다.)

 

- server 블록

server 블록은 하나의 웹사이트를 선언하는 용도이다. 

예를 들어, 하나의 서버에 개발을 소개하는 블로그(www.dev_monster.com), 운동을 소개하는 블로그 (www.exercise.com)을 각각 운영하고 싶을때, server 블록 단위로 선언하여 나뉜다.

 

- location 블록

서버의 하위단 블록으로 특정 경로, 즉 특정 url을 처리하는 단위이다.

예를 들어  개발 소개 블로그 (www.dev_monster.com) 에서

www.dev_moster.com/nginx   (nginx를 소개하는 카테고리) 

www.dev_moster.com/apache (apache를 소개하는 카테고리)

로 나누고 싶을때 사용할 수 있다.

 

- events 블록

http, server, location 블록과 엮이지 않고 독립적은 블록이다.

주로, 네트워크 동작 방법을 설정한다. 

예를 들어 

events {

worker_connections 100;

}

이렇게 worker_connections 을 100으로 설정하면,

이 웹서버에 한번에 최대 100명이 동시에 접근을 할 수 있다는 것을 의미한다. 

 

 

 

 

 

출처: http://nginx.org/en/docs/ngx_core_module.html#worker_connections

댓글