做個簡單的測試,一個Nginx, 通過FastCGI協議和另外兩台伺服器上的基於CppCMS開發的web server通訊。配置方法很簡單:
首先,必須在nginx.conf檔案開頭,server 配置之前添加下面的upstream資訊:
upstream backend { server 192.168.1.55:8080; server 192.168.1.58:8080;}
然後在某個server配置裡面,包含了fastcgi的設定檔:
include ./conf.d/fastcgi.test;
在這個fastcgi.test中,沿用CppCMS需要的fastcgi大多數配置, 除了將fastcgi_pass後面的IP:port 改成前面設定的backend.
location ~ ^/my_site_path.*$ { fastcgi_pass backend; fastcgi_split_path_info ^(/my_site)(.*)$; fastcgi_param SCRIPT_FILENAME $fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param SCRIPT_NAME /my_site; fastcgi_param QUERY_STRING $query_string; fastcgi_param REQUEST_METHOD $request_method; fastcgi_param CONTENT_TYPE $content_type; fastcgi_param CONTENT_LENGTH $content_length; fastcgi_param REQUEST_URI $request_uri; fastcgi_param DOCUMENT_URI $document_uri; fastcgi_param DOCUMENT_ROOT $document_root; fastcgi_param SERVER_PROTOCOL $server_protocol; fastcgi_param GATEWAY_INTERFACE CGI/1.1; fastcgi_param SERVER_SOFTWARE nginx; fastcgi_param REMOTE_ADDR $remote_addr; fastcgi_param REMOTE_PORT $remote_port; fastcgi_param SERVER_ADDR $server_addr; fastcgi_param SERVER_PORT $server_port; fastcgi_param SERVER_NAME $server_name;}
現在測試一下,關閉一台web server,網頁依然能夠正常瀏覽。