十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
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虚拟主机双主机配置的方法介绍。