nginx 구성 및 설치 튜토리얼
Nginx("엔진 POP3/SMTP 프록시 서버. Nginx 는 Igor에 의해 구동됩니다. Sysoev 는 러시아에서 두 번째로 방문자가 많은 Rambler.ru 사이트를 위해 개발되었습니다. 첫 번째 공개 버전 0.1.0은 2004에 출시되었습니다. 10월4일. BSD와 유사한 라이센스로 소스 코드를 출시하며 안정성, 풍부한 기능 세트, 샘플 구성 파일 및 낮은 시스템 리소스 소비로 유명합니다. 2011년6월1일,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;
#403、404면중정向地址
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教程有兴趣的朋友有所帮助.