LinuxÒÁµéÔ°ÂÛ̳'s Archiver

Roc.Ken ·¢±íÓÚ 2007-9-15 18:37

°²×°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˵ÒѾ­´¦ÀíÍêÕýÔڵȺòÏÂÒ»´ÎÇëÇóÖ¸ÁîµÄפÁôÁ¬½Ó

Roc.Ken ·¢±íÓÚ 2007-9-15 18:38

³£¼ûÎÊÌâÁбí:
(¼òÌåÖÐÎÄ)  [url]http://nginx.pl/NginxChsFaq[/url]

Ò³: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.