nginx + fastcgi + c/c++ 程序 部署

部署环境 centos7.4

1.安装nginx,查看网上的安装教程安装即可;

2.安装fastcgi

yum install fcgi-devel

3.安装spawn-fcgi

下载地址http://redmine.lighttpd.net/versions/21

下载最新版本解压后按照下面的步骤执行

./configure
 make
 make install(须要root权限)

复制 编译好的spawn-fcgi到 nginx文件夹(须要root权限)。非常主要!!。。

cp ./src/spawn-fcgi /usr/local/nginx/sbin/

4.测试用例编写

#include <fcgi_stdio.h>
 
int main(int argc, char *argv[])
{
    while( FCGI_Accept() >=0 )
    {
        FCGI_printf("Status[200 ok]\r\n ");
        FCGI_printf("Content-Type: text/html\r\n\r\n");
        FCGI_printf("hello world! [from fcgi, in C Lan]");
    }
 
    return 0;
}

编译gcc -o test test.cpp -L/usr/local/lib/ -lfcgi

修改test可执行文件名为 test.cgi

5.编写运行脚本

#!/bin/bash                                                                                     
DESTDIR=.
HOST='127.0.0.1'
PORT='7000'
PROCESSNAME='test.cgi'
sudo killall -9 $PROCESSNAME
echo "=====killed====="
RESTART="sudo /usr/local/nginx/sbin/spawn-fcgi -a $HOST -p $PORT -f $DESTDIR/$PROCESSNAME -F 1"
echo $RESTART
$RESTART
echo "======done======"
ps -ef | grep $PROCESSNAME

保存脚本名称为span-fcgi.sh

chmod u+x span-fcgi.sh   --给脚本添加可执行权限

执行脚本: ./span-fcgi.sh

6.nginx.conf配置文件修改

在http节点的子节点-"server节"点中下添加如下配置信息

nginx + fastcgi + c/c++ 程序 部署

图中的ssl模块的配置可忽略

7.在浏览器中输入http://192.168.1.21:7001/tts/test.cgi

浏览器中输出

nginx + fastcgi + c/c++ 程序 部署