CppCMS和Nginx協同工作

來源:互聯網
上載者:User
為什麼需要Nginx

CppCMS自己已經支援Http訪問,為什麼還需要Nginx.一些原因是我們需要動態Server Load Balancer,還有原因是安全問題。下面的文字來自於CppCMS網站。
CppCMS provides basic implementation of HTTP protocol and thus it can run behind reverse HTTP Proxy. But this option is not recommended for use in production environment unless HTTP protocol is fully sanitized by the proxy itself, otherwise you may expose yourself to various security issues.

Nginx開啟FastCGI

在nginx.conf檔案的server一節添加如下配置,請注意^/hello(.*)$代表用CppCMS構建的Web網站的URI的上下文路徑。而fastcgi_pass 192.168.30.17:8081 則是指Nginx要和位於30.17的CppCMS網站通過FastCGI協議通訊。這裡其實可以指定多個.

location ~ ^/kaimei.*$ {    fastcgi_pass localhost:8080;    fastcgi_split_path_info ^(/kaimei)(.*)$;    fastcgi_param SCRIPT_FILENAME  $fastcgi_script_name;    fastcgi_param PATH_INFO        $fastcgi_path_info;    fastcgi_param  SCRIPT_NAME     /kaimei;    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;}

簡單說明:

location ~ 後面是Regex,符合/kaimei開頭的URL都會使用location這段配置。

其他可以看nginx文檔:http://nginx.org/en/docs/http/ngx_http_fastcgi_module.html#fastcgi_split_path_info

這段配置可以單獨存放在檔案中,比如my.conf

然後在nginx.conf中 用include my.conf; 引入。

CppCMS配置

現在來配置30.17上的CppCMS服務。主要是config.js檔案的內容:
"service" : {
"api" : "fastcgi",
"ip" : "192.168.30.17",
"port" : 8081
    }

測試

現在啟動CppCMS服務和Nginx服務。然後測試通過。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.