如何根据request-uri配置nginx和fcgi来调用单独的可执行文件

时间:2013-09-08 14:07:12

标签: nginx fastcgi

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

/index
/contact
/view_post

这三个都是可执行文件,只使用fcgi示例中基本类似echo-cpp的内容输出html。

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

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

我不确定fcgi是否是正确的工具,所以如果其他东西能更好用,那就没关系了。

1 个答案:

答案 0 :(得分:2)

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

首先,您需要设置nginx.conf。在服务器{}块中添加以下内容 -

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以提供页面! contactview_post

也是如此