nginx作为php站点的负载均衡实践

原创
2016-08-08 09:28:17 810浏览

我负责的一个lamp应用,需要提高高可用性,所以选择nginx作为负载均衡的工具。
nginx需要修改一下nginx.conf配置:

upstream qss {
     82         server 10.46.194.17:8088 weight=5;
     83         server 10.46.192.41:8080 weight=5;
     84     }
     8586     server {
     87         listen 8079;
     88         server_name cq01-tdw-bfe28.cq01.baidu.com;
     89         underscores_in_headers on;
     90         ignore_invalid_headers off;
     9192         location / {
     93             proxy_set_header Host $host;
     94             proxy_set_header X-Real-IP$remote_addr;
     95             proxy_set_header X-Forwarded-For$proxy_add_x_forwarded_for;
     96             proxy_pass http://qss;97         }

其中,underscores_in_headers on的意思是包含下划线的header字段被认为是合法的,如果header中有下划线字段,一定要设置这个,否则会在nginx的error_log中提示错误。

另外,站点是有session的,所以各个php模块中应该将session共享起来,可以修改php.ini文件的配置,之前是保存在tmp的文件中,现在,可以保存在memcached中:

732 extension_dir = "/home/qec/vlamp/build/php/output/lib/php/extensions/no-debug-non-zts-20100525/"733 extension = memcache.so1365 [Session]
   1366; Handler used to store/retrieve data.1367; http://php.net/session.save-handler1368; session.save_handler = files1369 session.save_handler = memcache
   1370 memcache.hash_strategy = "consistent"1371 session.save_path = "tcp://10.216.122.21:11211"

然后,就可以了。

以上就介绍了nginx作为php站点的负载均衡实践,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。