首页 > 代码库 > nginx的使用配置

nginx的使用配置

nginx为反向代理服务器,可以反向代理不同域名转向不同的具体服务器。可以用于负载压力或是同一台机器使用不同域名进行访问。

以下片段是服务器配置:

  1 #user cmcc;  2   3 worker_processes 16;  4 #worker_cpu_affinity 00000001 00000010 00000100 00001000;  5 worker_cpu_affinity 0000000000000001 0000000000000010 0000000000000100 0000000000001000 0000000000010000 0000000000100000 0000000001000000 0000000010000000 0000000100000000 0000001000000000 0000010000000000 0000100000000000 0001000000000000 00100000000000000000 0100000000000000 1000000000000000;  6 #pid /var/run/nginx.pid;  7 #error_log /var/log/nginx/error_log error;  8 worker_rlimit_nofile 655350;  9 events { 10     use epoll; 11     worker_connections 655350; 12 } 13 http {     14     include /etc/nginx/mime.types; 15     default_type application/octet-stream; 16     access_log /tmp/access.log; 17     error_log /tmp/error.log; 18     server_names_hash_bucket_size 128; 19     client_header_buffer_size 4k; 20     large_client_header_buffers 4 4k; 21     client_max_body_size 10m; 22     open_file_cache max=655350 inactive=20s; 23     open_file_cache_min_uses 1; 24     open_file_cache_valid 30s; 25     sendfile on; 26     gzip on; 27     gzip_min_length 1k; 28     gzip_buffers 4 16k; 29     gzip_http_version 1.0; 30     gzip_comp_level 2; 31     gzip_types text/plain application/x-javascript text/cssapplication/xml; 32     gzip_vary on; 33  34     include /etc/nginx/conf.d/*.conf; 35     include /etc/nginx/sites-enabled/*; 36  37 #proxy server 38     upstream webvoc.com{ 39         server 115.28.213.130:8080 weight=2; 40     } 41     upstream www.webvoc.com{ 42         server 115.28.213.130:8080 weight=2; 43     } 44     #upstream tomcat_stat { 45     #    server 111.13.47.186:8080 weight=3; 46     #} 47  48 #visual master_server 49 server { 50         listen       8011; 51         server_name  localhost; 52  53         #charset koi8-r; 54  55         #access_log  logs/host.access.log  main; 56  57         location / { 58             root   /usr/local/www; 59             index  index.php; 60         } 61          62         location /svn {  63             proxy_set_header Host $host;  64             proxy_set_header X-Real-IP $remote_addr;  65             proxy_set_header X-Forwarded-Proto https;  66             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  67             proxy_pass http://127.0.0.1:8099/svn/;  68         }  69         #error_page  404              /404.html; 70  71         # redirect server error pages to the static page /50x.html 72         # 73         error_page   500 502 503 504  /50x.html; 74         location = /50x.html { 75             root   /usr/local/www; 76         } 77  78         # proxy the PHP scripts to Apache listening on 127.0.0.1:80 79         # 80         #location ~ \.php$ { 81         #    proxy_pass   http://127.0.0.1; 82         #} 83  84         # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 85         # 86         location ~ \.php$ { 87             root           /usr/local/www; 88             fastcgi_pass   127.0.0.1:9000; 89             fastcgi_index  index.php; 90             fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name; 91             include        fastcgi_params; 92         } 93  94         # deny access to .htaccess files, if Apache‘s document root 95         # concurs with nginx‘s one 96         # 97         #location ~ /\.ht { 98         #    deny  all; 99         #}100     }101     server{102         listen 80;103         server_name webvoc.com;104         error_log /tmp/vm_err.log;105         access_log /tmp/vm_access.log;106         location /{107             proxy_pass      http://webvoc.com;108             client_max_body_size    10m;109             client_body_buffer_size 128k;110             proxy_read_timeout 120;111             proxy_connect_timeout 120;112             proxy_buffer_size 32k;113             proxy_buffers 4 64k;114             proxy_busy_buffers_size 128k;115             proxy_headers_hash_bucket_size 128;116             proxy_temp_file_write_size 128k;117             proxy_set_header X-Real-IP $remote_addr;118             proxy_set_header X-Forwarded-For $remote_addr;119             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;120         }121         location ~ .(qqLogin|registerQQ|registerWeiBo).action$ {122             proxy_pass http://webvoc.com;   123         }124 125         location ~ .(oauth2_qq).jsp$ {126             proxy_pass   http://webvoc.com;127         }    128 129         error_page   500 502 503 504  /50x.html;130             location = /50x.html 131                 {132                         root   /usr/share/nginx/www;133                 }134 135         #location /NginxStatus {136 137         #    stub_status on;138         #    access_log off;139         #    auth_basic "NginxStatus";140         #}141 142         location ~* \.(gif|jpg|jpeg|questionStyle|kindeditor|fileupload)$ {143     144                  proxy_pass      http://webvoc.com;145                 }    146         147     }    148     server{149         listen 80;150         server_name www.webvoc.com;151         error_log /tmp/vm_err.log;152         access_log /tmp/vm_access.log;153         location /{154             proxy_pass      http://www.webvoc.com;155             client_max_body_size    10m;156             client_body_buffer_size 128k;157             proxy_read_timeout 120;158             proxy_connect_timeout 120;159             proxy_buffer_size 32k;160             proxy_buffers 4 64k;161             proxy_busy_buffers_size 128k;162             proxy_headers_hash_bucket_size 128;163             proxy_temp_file_write_size 128k;164             proxy_set_header X-Real-IP $remote_addr;165             proxy_set_header X-Forwarded-For $remote_addr;166             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;167         }168         location ~ .(qqLogin|registerQQ|registerWeiBo).action$ {169             proxy_pass http://webvoc.com;   170         }171 172         location ~ .(oauth2_qq).jsp$ {173             proxy_pass   http://www.webvoc.com;174         }    175 176         error_page   500 502 503 504  /50x.html;177             location = /50x.html 178                 {179                         root   /usr/share/nginx/www;180                 }181 182         #location /NginxStatus {183 184         #    stub_status on;185         #    access_log off;186         #    auth_basic "NginxStatus";187         #}188 189         location ~* \.(gif|jpg|jpeg|questionStyle|kindeditor|fileupload)$ {190     191                  proxy_pass      http://www.webvoc.com;192                 }    193         194     }    195 }

 

#proxy server 在这里配置一个代理名称,最重要的是server指向的地址。

如下:

upstream webvoc.com{
  server 115.28.213.130:8080 weight=2;
 }

名称为webvoc.com的域名指向了115.28.213.130:8080的实际地址。

weight=2向的反向代理权重,当多个负载服务器工作时,可以加大转向某个服务器的机率。

upstream www.webvoc.com{
  server 115.28.213.130:8080 weight=2;
 }

表明使用www.webvoc.com指向同一个网站。

 1     server{ 2         listen 80; 3         server_name webvoc.com; 4         error_log /tmp/vm_err.log; 5         access_log /tmp/vm_access.log; 6         location /{ 7             proxy_pass      http://webvoc.com; 8             client_max_body_size    10m; 9             client_body_buffer_size 128k;10             proxy_read_timeout 120;11             proxy_connect_timeout 120;12             proxy_buffer_size 32k;13             proxy_buffers 4 64k;14             proxy_busy_buffers_size 128k;15             proxy_headers_hash_bucket_size 128;16             proxy_temp_file_write_size 128k;17             proxy_set_header X-Real-IP $remote_addr;18             proxy_set_header X-Forwarded-For $remote_addr;19             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;20         }21         location ~ .(qqLogin|registerQQ|registerWeiBo).action$ {22             proxy_pass http://webvoc.com;   23         }24 25         location ~ .(oauth2_qq).jsp$ {26             proxy_pass   http://webvoc.com;27         }    28 29         error_page   500 502 503 504  /50x.html;30             location = /50x.html 31                 {32                         root   /usr/share/nginx/www;33                 }34 35         #location /NginxStatus {36 37         #    stub_status on;38         #    access_log off;39         #    auth_basic "NginxStatus";40         #}41 42         location ~* \.(gif|jpg|jpeg|questionStyle|kindeditor|fileupload)$ {43     44                  proxy_pass      http://webvoc.com;45                 }    46         47     }    

server:是一个完整的服务器转向规则说明:

 listen:是要侦听的端口号,如果使用域名访问,这里可全部设置为80端口。

server_name:这个就是上面提到upstream后面的名字。一般情况下和域名相同,但是可以不一致。

这个nginx配置中,有一个站点为PHP站点,直接使用nginx作解析。配置代码如下:

 1 server { 2         listen       8011; 3         server_name  localhost; 4  5         #charset koi8-r; 6  7         #access_log  logs/host.access.log  main; 8  9         location / {10             root   /usr/local/www;11             index  index.php;12         }13         14         location /svn { 15             proxy_set_header Host $host; 16             proxy_set_header X-Real-IP $remote_addr; 17             proxy_set_header X-Forwarded-Proto https; 18             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 19             proxy_pass http://127.0.0.1:8099/svn/; 20         } 21         #error_page  404              /404.html;22 23         # redirect server error pages to the static page /50x.html24         #25         error_page   500 502 503 504  /50x.html;26         location = /50x.html {27             root   /usr/local/www;28         }29 30         # proxy the PHP scripts to Apache listening on 127.0.0.1:8031         #32         #location ~ \.php$ {33         #    proxy_pass   http://127.0.0.1;34         #}35 36         # pass the PHP scripts to FastCGI server listening on 127.0.0.1:900037         #38         location ~ \.php$ {39             root           /usr/local/www;40             fastcgi_pass   127.0.0.1:9000;41             fastcgi_index  index.php;42             fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;43             include        fastcgi_params;44         }45 46         # deny access to .htaccess files, if Apache‘s document root47         # concurs with nginx‘s one48         #49         #location ~ /\.ht {50         #    deny  all;51         #}52     }

 

nginx的使用配置