Nginx虛擬主機(jī)雙主機(jī)的配置方法
Nginx虛擬主機(jī)在組建的時候有很多需要注意的事情,當(dāng)在遇到雙主機(jī)使用的方法上還需要我們不斷的學(xué)習(xí)。前些日子給公司網(wǎng)站前面加了varnish,緩存的目的還是為了降低后面apache的壓力,照web服務(wù)器的硬件能力,apache撐死大概3000個左右連接,瓶頸應(yīng)該還是在內(nèi)存上。曾經(jīng)多次被大量連接掛死。
varnish的日志比較怪異,一段時間來都沒有在google上找到解決方法,日志里總是出現(xiàn)127.0.0.1來的訪問,還不少,還有很多各個字段都是null的情況。對訪問日志統(tǒng)計造成一些麻煩。
于是在前面再加一個Nginx虛擬主機(jī),采用Nginx除了能支持高并發(fā)以外,還有一個看中的就是日志格式可以很容易地構(gòu)造,想做成啥樣就能做成啥樣。
Nginx上做兩個虛擬主機(jī),一個虛擬主機(jī)用作運行狀態(tài)查看,另一個做proxy到varnish。varnish跑在127.0.0.1:8080上。
Nginx官網(wǎng)上說是做proxying without caching,但實際觀察下來,似乎也是有cache的。實際上在同一時刻,外部來的HTTP連接數(shù)遠(yuǎn)大于proxy到varnish的連接數(shù)。
用Nginx虛擬主機(jī)的另一個考慮,也為以后訪問量進(jìn)一步增大后,可能需要增加的第二臺緩存服務(wù)器做簡單負(fù)載均衡的準(zhǔn)備。
- upstream mysite.cn {
- server 127.0.0.1:8080 ;
- # server 192.168.11.1:80; 今后可能的第二臺cache
- }
- server
- {
***個虛擬主機(jī),用于varnish和Nginx運行狀態(tài)監(jiān)測
- 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
- {
第二個虛擬主機(jī),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虛擬主機(jī)雙主機(jī)配置的方法介紹。
【編輯推薦】