我负责的一个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 } 85 86 server { 87 listen 8079; 88 server_name cq01-tdw-bfe28.cq01.baidu.com; 89 underscores_in_headers on; 90 ignore_invalid_headers off; 91 92 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.so 1365 [Session] 1366 ; Handler used to store/retrieve data. 1367 ; http://php.net/session.save-handler 1368 ; session.save_handler = files 1369 session.save_handler = memcache 1370 memcache.hash_strategy = "consistent" 1371 session.save_path = "tcp://10.216.122.21:11211"
然后,就可以了。