°²×°Nginx£¨¸ºÔؾùºâÆ÷£©[ת]
***********תÌû, ÂÔÓÐÔöɾ******** Roc.Ken@2007-09-15Ò»¡¢) °²×°Nginx
1.) °²×°
Nginx·¢ÒôΪ[engine x]£¬ÊÇÓɶíÂÞ˹ÈËIgor Sysoev½¨Á¢µÄÏîÄ¿,»ùÓÚBSDÐí¿É¡£¾Ý˵Ëûµ±³õÊÇF5µÄ³ÉÔ±Ö®Ò»£¬Ó¢ÎÄÖ÷Ò³£º[url]http://nginx.net[/url]¡£¶íÂÞ˹µÄһЩ´óÍøÕ¾ÒѾʹÓÃËü³¬¹ýÁ½Äê¶àÁË£¬Ò»Ö±±íÏÖ²»·²¡£
NginxµÄ±àÒë²ÎÊýÈçÏ£º
[root@localhost]#./configure --prefix=/usr/local/server/nginx --with-openssl=/usr/include \
--with-pcre=/usr/include/pcre/ --with-http_stub_status_module --without-http_memcached_module \
--without-http_fastcgi_module --without-http_rewrite_module --without-http_map_module \
--without-http_geo_module --without-http_autoindex_module
ÔÚÕâÀÐèҪ˵Ã÷һϣ¬ÓÉÓÚNginxµÄÅäÖÃÎļþÖÐÎÒÏëÓõ½ÕýÔò£¬ËùÒÔÐèÒª pcre Ä£¿éµÄÖ§³Ö¡£ÎÒÒѾ°²×°ÁË pcre ¼° pcre-devel µÄrpm°ü£¬µ«ÊÇ Ngxin ²¢²»ÄÜÕýÈ·ÕÒµ½ .h/.so/.a/.la Îļþ£¬Òò´ËÎÒÉÔ΢±äͨÁËһϣº
[root@localhost]#mkdir /usr/include/pcre/.libs/
[root@localhost]#cp /usr/lib/libpcre.a /usr/include/pcre/.libs/libpcre.a
[root@localhost]#cp /usr/lib/libpcre.a /usr/include/pcre/.libs/libpcre.la
È»ºó£¬ÐÞ¸Ä objs/Makefile ´ó¸ÅÔÚ908ÐеÄλÖÃÉÏ£¬×¢Ê͵ôÒÔÏÂÄÚÈÝ£º
./configure --disable-shared
½ÓÏÂÀ´£¬¾Í¿ÉÒÔÕý³£Ö´ÐÐ make ¼° make install ÁË¡£
2.) ÐÞ¸ÄÅäÖÃÎļþ /usr/local/server/nginx/conf/nginx.conf
ÒÔÏÂÊÇÎÒµÄ nginx.conf ÄÚÈÝ£¬½ö¹©²Î¿¼£º
#ÔËÐÐÓû§
user nobody nobody;
#Æô¶¯½ø³Ì
worker_processes 2;
#È«¾Ö´íÎóÈÕÖ¾¼°PIDÎļþ
error_log logs/error.log notice;
pid logs/nginx.pid;
#¹¤×÷ģʽ¼°Á¬½ÓÊýÉÏÏÞ
events {
use epoll;
worker_connections 1024;
}
#É趨http·þÎñÆ÷£¬ÀûÓÃËüµÄ·´Ïò´úÀí¹¦ÄÜÌṩ¸ºÔؾùºâÖ§³Ö
http {
#É趨mimeÀàÐÍ
include conf/mime.types;
default_type application/octet-stream;
#É趨ÈÕÖ¾¸ñʽ
log_format main '$remote_addr - $remote_user [$time_local] '
'"$request" $status $bytes_sent '
'"$http_referer" "$http_user_agent" '
'"$gzip_ratio"';
log_format download '$remote_addr - $remote_user [$time_local] '
'"$request" $status $bytes_sent '
'"$http_referer" "$http_user_agent" '
'"$http_range" "$sent_http_content_range"';
#É趨ÇëÇ󻺳å
client_header_buffer_size 1k;
large_client_header_buffers 4 4k;
#¿ªÆôgzipÄ£¿é
gzip on;
gzip_min_length 1100;
gzip_buffers 4 8k;
gzip_types text/plain;
output_buffers 1 32k;
postpone_output 1460;
#É趨access log
access_log logs/access.log main;
client_header_timeout 3m;
client_body_timeout 3m;
send_timeout 3m;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
#É趨¸ºÔؾùºâµÄ·þÎñÆ÷Áбí
upstream mysvr {
#weigth²ÎÊý±íʾȨֵ£¬È¨ÖµÔ½¸ß±»·ÖÅäµ½µÄ¼¸ÂÊÔ½´ó
#±¾»úÉϵÄSquid¿ªÆô3128¶Ë¿Ú
server 192.168.8.1:3128 weight=5;
server 192.168.8.2:80 weight=1;
server 192.168.8.3:80 weight=6;
}
#É趨ÐéÄâÖ÷»ú
server {
listen 80;
server_name 192.168.8.1 [url]www.yejr.com[/url];
charset gb2312;
#É趨±¾ÐéÄâÖ÷»úµÄ·ÃÎÊÈÕÖ¾
access_log logs/www.yejr.com.access.log main;
#Èç¹û·ÃÎÊ /img/*, /js/*, /css/* ×ÊÔ´£¬ÔòÖ±½ÓÈ¡±¾µØÎļþ£¬²»Í¨¹ýsquid
#Èç¹ûÕâЩÎļþ½Ï¶à£¬²»ÍƼöÕâÖÖ·½Ê½£¬ÒòΪͨ¹ýsquidµÄ»º´æÐ§¹û¸üºÃ
location ~ ^/(img|js|css)/ {
root /data3/Html;
expires 24h;
}
#¶Ô "/" ÆôÓøºÔؾùºâ
location / {
proxy_pass http://mysvr;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
}
#É趨²é¿´Nginx״̬µÄµØÖ·
location /NginxStatus {
stub_status on;
access_log on;
auth_basic "NginxStatus";
auth_basic_user_file conf/htpasswd;
}
}
}
ÔËÐÐÒÔÏÂÃüÁî¼ì²âÅäÖÃÎļþÊÇ·ñÎÞÎó£º
Èç¹ûûÓб¨´í£¬ÄÇô¾Í¿ÉÒÔ¿ªÊ¼ÔËÐÐNginxÁË£¬Ö´ÐÐÒÔÏÂÃüÁî¼´¿É£º
±¸×¢£ºconf/htpasswd ÎļþµÄÄÚÈÝÓà apache ÌṩµÄ htpasswd ¹¤¾ßÀ´²úÉú¼´¿É£¬ÄÚÈÝ´óÖÂÈçÏ£º
#ÕʺŠyejr,ÃÜÂë 123456 yejr:qLYyJ0ZRLAId2
3.) ²é¿´ Nginx ÔËÐÐ״̬
ÊäÈëµØÖ· [url]http://192.168.8.1/NginxStatus/[/url]£¬ÊäÈëÑéÖ¤ÕʺÅÃÜÂ룬¼´¿É¿´µ½ÀàËÆÈçÏÂÄÚÈÝ£º
Active connections: 291
server accepts handled requests
16630948 16630948 31070465
Reading: 6 Writing: 179 Waiting: 106
active connections -- ¶Ôºó¶Ë·¢ÆðµÄ»î¶¯Á¬½ÓÊý
server accepts handled requests -- nginx ×ܹ²´¦ÀíÁË 16630948 ¸öÁ¬½Ó, ³É¹¦´´½¨ 16630948 ´ÎÎÕÊÖ (Ö¤Ã÷ÖмäûÓÐʧ°ÜµÄ), ×ܹ²´¦ÀíÁË 31070465 ¸öÇëÇó (ƽ¾ùÿ´ÎÎÕÊÖ´¦ÀíÁË 1.8¸öÊý¾ÝÇëÇó)
reading -- nginx ¶ÁÈ¡µ½¿Í»§¶ËµÄHeaderÐÅÏ¢Êý
writing -- nginx ·µ»Ø¸ø¿Í»§¶ËµÄHeaderÐÅÏ¢Êý
waiting -- ¿ªÆô keep-alive µÄÇé¿öÏ£¬Õâ¸öÖµµÈÓÚ active - (reading + writing)£¬Òâ˼¾ÍÊÇNginx˵ÒѾ´¦ÀíÍêÕýÔڵȺòÏÂÒ»´ÎÇëÇóÖ¸ÁîµÄפÁôÁ¬½Ó ³£¼ûÎÊÌâÁбí:
(¼òÌåÖÐÎÄ) [url]http://nginx.pl/NginxChsFaq[/url]
Ò³:
[1]