本次环境部署使用的是Linux系统的ubuntu 16.04 。
作为服务器,nginx具有非常优秀的并发性。同时fastcgi也属于前后台通信接口中,非常易于编写的,故本文以web后台搭建为目的,对该场景的部署进行简单的说明。
部署步骤如下:
1.安装nginx 服务器
下载 nginx
apt install nginx
2.安装fastcgi
网上的fastcgi开发工具SDK都是收费的,官网关闭了,可以到这个网站找免费的: https://fastcgi-archives.github.io/
具体安装步骤略过
注意:要下载老版本的fastcgi
3.安装fastcgi进程管理工具spawn-fcgi
下载 spawn-fcgi
apt install spawn-fcgi
4.编写你的fastcgi程序
这里我们选择网上千篇一律的例子 fastcgi_test.cpp
#include "fcgi_stdio.h"
#include <stdlib.h>
int main(void)
{
int count = 0;
while (FCGI_Accept() >= 0)
{
printf("Content-type: text/html\r\n"
"\r\n"
"<title>Hello World</title>"
"<h1>Hello World from FastCGI!</h1>"
"Request number is: %d\n",
++count);
}
return 0;
}
编译:
g++ -o fastcgi_test fastcgi_test.cpp -lfcgi
5.将编译好的fastcgi_test部署到进程管理工具 spawn-fcgi 中
fastcgi_test -a 127.0.0.1 -p 8081 -f /home/user/Desktop/testFCGI/fastcgi_test
注意:有可能报错127,该错误可能原因以下几点:
1)-f 参数后的路径不正确。
2)-f 参数后的路径不是绝对路径。(只有绝对路径有效)
3)没有cgi环境,缺库,可以安装 fastcgi-wrapper试试
apt install fastcgi-wrapper
6.配置nginx.config 使其能通过url跳转
打开nginx.config,默认位置是在/etc/nginx/nginx.conf,如果你的安装路径不是这个, 使用你的安装路径
加入location
location = /fastcgi_test {
fastcgi_pass 127.0.0.1:8081;
fastcgi_index index.cgi;
include fastcgi.conf;
}
7.运行nginx ,并打开浏览器输入ip地址
nginx
在浏览器地址栏输入: 127.0.0.1:8090/fastcgi_test.cgi (端口号可以是任意的,nginx服务器会根据url路径后的路径进行location跳转)
到此,就完成了 Nginx + FastCGI 的环境部署。如果有任何疑问,或者本文有什么错误的地方,请在留言区告诉我,谢谢。
stay hungry ! stay foolish !