>백엔드 개발 >PHP 튜토리얼 >nginx 구성 및 설치 튜토리얼

nginx 구성 및 설치 튜토리얼

WBOY
WBOY원래의
2016-08-08 09:25:23934검색

nginx 구성 및 설치 튜토리얼

Nginx("엔진 POP3/SMTP 프록시 서버. Nginx Igor에 의해 구동됩니다. Sysoev 는 러시아에서 두 번째로 방문자가 많은 Rambler.ru 사이트를 위해 개발되었습니다. 첫 번째 공개 버전 0.1.02004에 출시되었습니다. 104일. BSD와 유사한 라이센스로 소스 코드를 출시하며 안정성, 풍부한 기능 세트, 샘플 구성 파일 및 낮은 시스템 리소스 소비로 유명합니다. 201161일,nginx 1.0.4출시.

일반적으로

pcre와 zlib를 먼저 설치해야 합니다. 전자는 rewrite

를 위한 것이고, 후자는

gzip
압축을 위한 것입니다.

1.소스코드 디렉토리 선택 선택한 디렉토리 /usr/local/

cd /usr/local/

2.

PCRE

라이브러리 설치

cd /usr/local/

wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.21.tar.gz

tar -zxvf pcre-8.21.tar.gz

cd pcre-8.21

./구성

만들다

설치하기

3.

zlib

라이브러리 설치

cd /usr/local/

wget http://zlib.net/zlib-1.2.8.tar.gz

tar -zxvf zlib-1.2.8.tar.gz cd zlib-1.2.8

./구성

만들다

설치하기

4.설치

SSL

cd /usr/local/

wget http://www.openssl.org/source/openssl-1.0.1c.tar.gz

tar -zxvf openssl-1.0.1c.tar.gz

./config

만들다

설치하기

5.설치

nginx

Nginx에는 일반적으로 안정 버전과 개발 버전 두 가지가 있습니다. 목적에 따라 두 가지 버전 중 하나를 선택하여

Nginx

에 설치하면 됩니다. /usr/local/nginx 디렉토리 아래의 세부 단계:

cd /usr/local/

wget http://nginx.org/download/nginx-1.2.8.tar.gz

tar -zxvf nginx-1.2.8.tar.gz

cd nginx-1.2.8

./configure --prefix=

/usr/local/nginx

만들다

설치하기

--with-pcre=/usr/src/pcre-8.21

pcre-8.21

의 소스 코드 경로를 나타냅니다.

--with-zlib=/usr/src/zlib-1.2.7

zlib-1.2.7의 소스 코드 경로를 나타냅니다.

6.시작

시스템의 80 포트가 다른 프로그램에 의해 사용되고 있지 않은지 확인하세요.

/usr/local/nginx/sbin/nginx

시작이 성공했는지 확인하십시오.

netstat -ano|grep 80

결과가 입력되면 시동에 성공한 것입니다.

브라우저를 열어 이 머신의 IP 에 액세스하세요. 브라우저에

Welcome to nginx!

가 표시되면 Nginx 가 성공적으로 설치 및 실행되었음을 의미합니다.

7.다시 시작

/usr/local/nginx/sbin/nginx –s 다시 로드

8.구성 파일 수정

cd /usr/local/nginx/conf

vi nginx.conf

9.일반적인 nginx 구성

#nginx사용자 및 그룹 실행

사용자 www www

#

프로세스 시작

,

은 일반적으로

cpu worker_processes 4;

#전역 오류 로그 및 PID파일

pid /var/run/nginx.pid;

error_log /var/log/nginx/error.log;

이벤트 {

   #epoll은 다중화 방식IO(I/O Multiplexing),그러나 linux2.6 커널 이상인 경우에만 크게 개선될 수 있습니다nginx공연

epoll을 사용하세요.

              # 작업자 연결 10240; }

#

http

서버를 설정하고 역방향 프록시 기능을 사용하여 로드 밸런싱 지원을 제공합니다 http { mime.types 포함;

default_type 애플리케이션/옥텟-스트림;

error_page 400 403 500 502 503 504 /50x.html;

색인 index.html index.shtml

자동 색인 꺼짐;

fastcgi_intercept_errors 켜짐;

파일 보내기;

        # 이는 좋은 기본값입니다.

tcp_nopush 켜짐;

tcp_nodelay 꺼짐;

         # 출력 압축으로 대역폭 절약

gzip으로 압축 해제;

        #gzip_static on;

#gzip_min_length 1k;

gzip_http_version 1.0;

gzip_comp_level 2;

gzip_buffers 4 16k;

gzip_proxied;

gzip_disable "MSIE [1-6].";

gzip_types 텍스트/일반 텍스트/html 텍스트/css 애플리케이션/x-javascript 애플리케이션/xml 애플리케이션/xml+rss 텍스트/javascript;

        #gzip_vary on;

server_name_in_redirect 꺼짐;

#

로드밸런싱 서버 목록 설정

업스트림 포털 { 서버 172.16.68.134:8082 max_fails=2 failure_timeout=30s;

서버 172.16.68.135:8082 max_fails=2 failure_timeout=30s;

서버 172.16.68.136:8082 max_fails=2 failure_timeout=30s;

                 서버 172.16.68.137:8082 max_fails=2 failure_timeout=30s;

        }

 

        #업스트림 오버플로 {

         #       서버 10.248.6.34:8090 max_fails=2 failure_timeout=30s;       

         #       서버 10.248.6.45:8080 max_fails=2 failure_timeout=30s;       

        #}

 

        서버 {

                                  #侦听8080端口

                듣기       8080;

               서버_이름  127.0.0.1;

 

                  #403404면중정向地址

                  error_page  403 = http://www.e100.cn/ebiz/other/217/403.html;

                  error_page  404 = http://www.e100.cn/ebiz/other/218/404.html;

                  proxy_connect_timeout      90;

                  proxy_send_timeout         180;

                  proxy_read_timeout         180;

 

                  proxy_buffer_size 64k;

                  proxy_buffers 4 128k;

                  proxy_busy_buffers_size 128k;

 

 

                  client_header_buffer_size 16k;

                  large_client_header_buffers 4 64k;

 

                #proxy_send_timeout         3분;

                #proxy_read_timeout         3분;

                #proxy_buffer_size          4k;

               #proxy_buffers              4 32k;

 

                proxy_set_header 호스트 $http_host;

                proxy_max_temp_file_size 0;

                #proxy_hide_header 세트-쿠키;

                 

         #       if ($host != 'www.e100.cn' ) {

         #               다시 쓰기 ^/(.*)$ http://www.e100.cn/$1 영구;

         #       }

 

 

               위치 / {

                      모두 거부;

               }

 

                  위치 ~ ^/resource/res/img/blue/space.gif {

                   proxy_pass http://teopera;

               }

 

               위치 = / {

                  ^(.*)$  /ebiz/event/517.html 마지막으로 다시 작성하세요.

               }

 

 

 

                  위치 = /ebiz/event/517.html {

                   add_header Vary Accept-Encoding;

                   root /data/web/html;

                   10분 후에 만료됩니다.

               }

 

 

 

 

               위치 = /check.html {

                   루트 /usr/local/nginx/html/;

                   액세스_로그오프;

               }

 

               위치 = /50x.html {

                   루트 /usr/local/nginx/html/;

                   1분 만료;

                   액세스_로그오프;

               }

 

 

위치 = /index.html {

                                                              add_header Vary Accept-Encoding;

#서버의 기본 웹사이트 루트 위치 정의

루트 /data/web/html/ebiz;

10분 후에 만료됩니다.

          }

#역방향 프록시 액세스 이름 정의

위치 ~ ^/ecps-portal/* {

                    # 10분 후에 만료;

#클러스터 이름 리디렉션

proxy_pass http://portals;

                            #proxy_pass http://172.16.68.134:8082;

          }

위치 ~ ^/fetionLogin/* {

                     # 10분 후에 만료됩니다.

proxy_pass http://portals;

                         #proxy_pass http://172.16.68.134:8082;

          }

                                                                                                                             

                                                                                                                              를 통해

                                                                                                             >

                                                                                                                                   

         #}

위치 ~ ^/rsmanager/* {

10분 후에 만료됩니다.

루트 /data/web/;

                                        #proxy_pass http://rsm;

          }

#nginx에서 처리되는 페이지 접미사 정의

위치 ~* (.*).(jpg|gif|htm|html|png|js|css)$ {

루트 /data/web/html/;

#페이지 캐시 시간은 10분입니다.

10분 후에 만료됩니다.

            }

#Nginx 상태  주소를 볼 수 있도록 설정

위치 ~* ^/NginxStatus/ {

stub_status 켜짐;

접속_로그오프;

10.1.252.126 허용;

10.248.6.49 허용;

127.0.0.1 허용;

모두 거부;

          }

#error_page 405 = 200 @405

# 위치 @405

                                                                     

# # 프록시_패스 http://10.248.6.45:8080;

                                                                            

access_log /data/logs/nginx/access.log 결합;

               error_log     /data/logs/nginx/error.log;

}

서버 {

8082 들어보세요;

서버_이름 _;

               위치 = /check.html {

                   루트 /usr/local/nginx/html/;

                   액세스_로그오프;

               }

                 

        }

         서버 {

                  듣기       8088;

                  서버_이름  _;

                  위치 ~ ^/* {

                  root /data/web/b2bhtml/;

                  access_log off;

         }               

         }

        서버 {

               듣기       9082;

                서버_이름  _;

 

        #        위치 ~ ^/resource/* {

        #            10분 후에 만료됩니다.

         #           root /data/web/html/;

         #       }

 

                위치  / {

                    root /data/web/html/sysMaintain/;

                      if (!-f $request_filename) {

                           다시 작성 ^/(.*)$ /sysMaintain.html 마지막;

                          }

               }

        }

 

}


以上就介绍了nginx 配置安装教程, 包括了nginx 配置方면적内容, 希望对PHP教程有兴趣的朋友有所帮助.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.