php cgi 程序,nginx服务器下编写cgi程序

本人使用的是Ubuntu系统

1、安装nginx服务器http://nginx.org/download/nginx-1.9.2.tar.gz

tar -zvxf nginx-1.9.2.tar.gz

cd nginx

./configure

make && make install

默认安装路径:/usr/local/nginx

nginx简单配置:/usr/local/nginx/conf/nginx.conf#user nobody;

worker_processes 4;

error_log logs/error.log;

error_log logs/error.log notice;

error_log logs/error.log info;

pid logs/nginx.pid;

events {

worker_connections 1024;

}

http {

include mime.types;

default_type application/octet-stream;

log_format main '$remote_addr - $remote_user [$time_local] "$request" '

'$status $body_bytes_sent "$http_referer" '

'"$http_user_agent" "$http_x_forwarded_for"';

access_log logs/access.log main;

sendfile on;

tcp_nopush on;

#keepalive_timeout 0;

keepalive_timeout 90;

#gzip on;

server {

listen 192.168.88.134:8080; //修改成自己的ip地址跟端口

server_name 192.168.88.134;

#charset koi8-r;

access_log logs/host.access.log main;

location / {

root html;

index index.html index.htm index.php;

#autoindex on;

}

#error_page 404 /404.html;

# redirect server error pages to the static page /50x.html

#

error_page 500 502 503 504 /50x.html;

location = /50x.html {

root html;

}

# proxy the PHP scripts to Apache listening on 127.0.0.1:80

#

#location ~ \.php$ {

# proxy_pass http://127.0.0.1;

#}

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000

#

location ~ \.php$ {

root html;

fastcgi_pass 127.0.0.1:9999;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;

include fastcgi_params;

}

location ~ \.cgi$ {

root html;

fastcgi_pass 127.0.0.1:7000;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;

include fastcgi_params;

}

# deny access to .htaccess files, if Apache's document root

# concurs with nginx's one

#

#location ~ /\.ht {

# deny all;

#}

}

}启动nginx:/usr/local/nginx/sbin/nginx

关闭nginx:kill `ps aux|grep nginx|sed -n '1p'| awk '{print $2}'`

2、安装spawn-fcgiapt-get install apawn-fcgi3、安装fast-cgiwget http://www.fastcgi.com/dist/fcgi.tar.gz

tar -xvzf fcgi.tar.gz此时不能编译安装

cd fcgi-2.4.1/include

打开fcgio.h 添加#include ./configure

make && make install复制 编译好的spawn-fcgi到 nginx目录

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

cp/usr/local/lib/libfcgi.so.0/usr/lib

每个人安装的目录未必一致,请自行搜索按安装的目录进行 拷贝修改

4、编写cgi程序

#include #include using namespace std;

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 in C\n" );

}

return 0;

}编译:

g++ -o test.cgi test.cpp -L /usr/local/lib/ -lfcgi将test.cgi 拷贝到/usr/local/nginx/html/ 下

启动spqwn-fcgi程序

spawn-fcgi -a 127.0.0.1 -p 7000 -u nobody -f ./test.cgi在nginx.conf 添加

location ~ \.cgi$ {

root html;

fastcgi_pass 127.0.0.1:7000;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;

include fastcgi_params;

}

打开浏览器输入:http://192.168.88.134:8080/test.cgi

打印出:Hello world in C

文章参考:

http://wiki.ubuntu.org.cn/Nginx

http://blog.chinaunix.net/uid-30030431-id-4669581.html

http://terry831010.blog.163.com/blog/static/6916117120126185428827/

版权声明:本文为博主原创文章,未经博主允许不得转载。

以上就介绍了nginx服务器下编写cgi程序,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

相关文章

相关视频

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值