【发布时间】:2016-11-13 19:11:28
【问题描述】:
这应该是我关于 FastCGI 和 NGINX 的最后一个问题(我已经问了太多了),但是我有一个关于在 Web 服务器上运行 C FastCGI 脚本的问题,特别是 NGINX。所以现在这就是我的 nginx.conf 文件的样子:
user nobody nobody;
events {
worker_connections 1024;
}
http {
server {
listen 80;
server_name localhost;
location / {
root /nginx/html;
index index.html index.htm new.html;
autoindex on;
fastcgi_pass 127.0.0.1:8000;
}
}
}
我有一个简单的 C FastCGI 脚本,可以打印出 Hello World。我知道为了运行这个脚本,我首先必须编译 C 脚本,这会产生一个二进制文件。然后我使用spawn-fcgi -p 8000 -n <binary> 或cgi-fcgi -start -connect localhost:8000 ./<binary> 执行这个二进制文件。我已经成功地做到了这一点并显示了正确的结果。但是,当我这样做时,CGI 脚本是唯一显示在 Web 服务器上的东西。为此,我无法访问任何 .html 页面或任何其他页面。即使我输入了一个随机扩展名,这会导致 404 Page not Found 错误,CGI 脚本也会显示出来。基本上我试图让 index.html 成为主页,然后当用户单击按钮时,用户将被带到显示 C CGI 脚本的新页面。
这可能吗?如果是这样,我该怎么做?我花了几个小时试图在网上找到解决方案,但没有成功。如果问题太模糊/不清楚,或者您需要更多信息,请告诉我!谢谢!
【问题讨论】: