Nginx虛擬主機雙主機的配置方法
Nginx虛擬主機在組建的時候有很多需要注意的事情,當在遇到雙主機使用的方法上還需要我們不斷的學習。前些日子給公司網站前面加了varnish,緩存的目的還是為了降低后面apache的壓力,照web服務器的硬件能力,apache撐死大概3000個左右連接,瓶頸應該還是在內存上。曾經多次被大量連接掛死。
varnish的日志比較怪異,一段時間來都沒有在google上找到解決方法,日志里總是出現127.0.0.1來的訪問,還不少,還有很多各個字段都是null的情況。對訪問日志統計造成一些麻煩。
于是在前面再加一個Nginx虛擬主機,采用Nginx除了能支持高并發以外,還有一個看中的就是日志格式可以很容易地構造,想做成啥樣就能做成啥樣。
Nginx上做兩個虛擬主機,一個虛擬主機用作運行狀態查看,另一個做proxy到varnish。varnish跑在127.0.0.1:8080上。
Nginx官網上說是做proxying without caching,但實際觀察下來,似乎也是有cache的。實際上在同一時刻,外部來的HTTP連接數遠大于proxy到varnish的連接數。
用Nginx虛擬主機的另一個考慮,也為以后訪問量進一步增大后,可能需要增加的第二臺緩存服務器做簡單負載均衡的準備。
- upstream mysite.cn {
- server 127.0.0.1:8080 ;
- # server 192.168.11.1:80; 今后可能的第二臺cache
- }
- server
- {
***個虛擬主機,用于varnish和Nginx運行狀態監測
- listen 80;
- server_name cache.mysite.cn;
- index index.htm index.html index.php;
- root /web/htdocs;
- location / {
- index infov.txt;
- allow 192.168.0.0/16;
- deny all;
- }
- location /status {
- stub_status on;
- access_log off;
- allow 192.168.0.0/16;
- deny all;
- }
- }
- server
- {
第二個虛擬主機,proxy到后面的varnish
- listen 80;
- client_max_body_size 50M;
- server_name .mysite.cn;
- index index.htm index.html index.php;
- root /web/htdocs;
- location / {
- proxy_pass http://mysite.cn;
- 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 50m;
- client_body_buffer_size 256k;
- proxy_connect_timeout 10;
- proxy_send_timeout 15;
- proxy_read_timeout 15;
- proxy_buffer_size 4k;
- proxy_buffers 4 32k;
- proxy_busy_buffers_size 64k;
- proxy_temp_file_write_size 64k;
- }
- #location ~ .*\.php?$
- #{
- # include conf/fcgi.conf;
- # fastcgi_pass 127.0.0.1:10080;
- # fastcgi_index index.php;
- #}
- }
以上就是對Nginx虛擬主機雙主機配置的方法介紹。
【編輯推薦】