0

假设我有这样的目录结构:

/index
/contact
/view_post

这三个都是可执行文件,它们只使用类似于fcgi 示例中的 echo-cpp的东西输出 html。

我读过的文档刚刚展示了如何使用一个程序来解析 request-uri 并从中调用各个部分。我希望能够将这些中的每一个都作为单独的程序,而不是解析请求 uri 并基于它提供页面。

因此,如果我进入程序localhost/indexindex程序将通过输入(发布数据)运行,其输出将发送到 nginx 以提供页面。

我不确定 fcgi 是否是正确的工具,所以如果其他东西会更好,那很好。

4

1 回答 1

2

你可以用 nginx 和 fcgi 来做。最简单的方法是使用spawn-fcgi -

首先你需要设置你的 nginx.conf。在 server {} 块中添加以下内容 -

location /index {
    fastcgi_pass 127.0.0.1:9000;
    include fastcgi_params;
}
location /contact {
    fastcgi_pass 127.0.0.1:9001;
    include fastcgi_params;
}
location /view_post {
    fastcgi_pass 127.0.0.1:9002;
    include fastcgi_params;
}

重新启动 nginx,然后运行您的应用程序,侦听 nginx.conf 中声明的相同端口。假设您的程序位于 ~/bin/ 文件夹中 -

~ $ cd bin
~/bin $ spawn-fcgi -p 9000 ./index
~/bin $ spawn-fcgi -p 9001 ./contact
~/bin $ spawn-fcgi -p 9002 ./view_post

现在请求localhost/index将转发到您的index程序,其输出将返回到 nginx 以服务页面!contact和也一样view_post

于 2013-11-14T05:33:37.567 回答