nginx 서버 에서 여러 사이트 설정 방법

3600 단어 linux
여기 서 2 개의 사이트 (2 개의 도 메 인 이름) 를 설정 하 는 것 을 예 로 들 면 n 개의 사이트 가 상응 하 게 조정 할 수 있 습 니 다. 가설:
IP 주소: 202.55.1.100 도 메 인 1 example 1. com / www / example 1 도 메 인 2 example 2. com / www / example 2
nginx virtual hosting 의 기본 사고방식 과 절 차 는 다음 과 같 습 니 다.
두 사이트 example 1. com, example 2. com 을 nginx 가 접근 할 수 있 는 디 렉 터 리 / www / 각 사이트 에 각각 nginx 프로필 example 1. com. conf, example 2. com. conf 를 만 들 고 설정 파일 을 / etc / nginx / vhosts / 에 넣 은 다음 / etc / nginx. conf 에 include 를 추가 하여 절차 2 로 만 든 프로필 을 모두 포함 시 킵 니 다 (* 번 으로) nginx 를 다시 시작 합 니 다.
구체 적 과정
다음은 구체 적 인 설정 과정 입 니 다. 1. / etc / nginx 에서 vhosts 디 렉 터 리 를 만 듭 니 다.
mkdir /etc/nginx/vhosts

2. / etc / nginx / vhosts / 에 example 1. com. conf 라 는 파일 을 만 들 고 다음 내용 을 복사 합 니 다.
server {
        listen  80;
        server_name  example1.com www. example1.com;

        access_log  /www/access_ example1.log  main;

        location / {
            root   /www/example1.com;
            index  index.php index.html index.htm;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /usr/share/nginx/html;
        }

       # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        location ~ \.php$ {
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /www/example1.com/$fastcgi_script_name;
            include        fastcgi_params;
        }

        location ~ /\.ht {
            deny  all;
        }
}

3. / etc / nginx / vhosts / 에 example 2. com. conf 라 는 파일 을 만 들 고 다음 내용 을 복사 합 니 다.
server {
        listen  80;
        server_name  example2.com www. example2.com;

        access_log  /www/access_ example1.log  main;

        location / {
            root   /www/example2.com;
            index  index.php index.html index.htm;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /usr/share/nginx/html;
        }

       # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        location ~ \.php$ {
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /www/example2.com/$fastcgi_script_name;
            include        fastcgi_params;
        }

        location ~ /\.ht {
            deny  all;
        }
}

4. / etc / nginix. conf 파일 을 열 고 해당 위치 에 include 를 추가 하여 상기 2 개의 파일 을 포함 합 니 다.
user  nginx;
worker_processes  1;

# main server error log
error_log	/var/log/nginx/error.log ;
pid	/var/run/nginx.pid;

events {
	worker_connections  1024;
}

# main server config
http {
	include       mime.types;
	default_type  application/octet-stream;
	log_format  main  '$remote_addr - $remote_user [$time_local] $request '
                      '"$status" $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

	sendfile        on;
	#tcp_nopush     on;
    	#keepalive_timeout  0;
	keepalive_timeout  65;
	gzip  on;

	server {
        	listen         80;
        	server_name     _;
        	access_log      /var/log/nginx/access.log main;
        	server_name_in_redirect  off;
        	location / {
            		root  /usr/share/nginx/html;
            		index index.html;
        	}
	}

    #               
    include /usr/local/etc/nginx/vhosts/*;
}

5. Nginx 재 부팅
/etc/init.d/nginx restart

좋은 웹페이지 즐겨찾기