本人使用的是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中文网,转载请注明出处,感谢您的尊重!
相关文章
相关视频