ngnix配置cgi和fastcgi

参考

ngnix官网
spawn-fcgi官网
Socket中winsock.h和winsock2.h的不同
Nginx安装与使用
Nginx + CGI/FastCGI + C/Cpp
三大WEB服务器对比分析(apache ,lighttpd,nginx)
Nginx + FastCGI架构部署指导
nginx + spawn-fcgi + fastCgi配置web服务并测试
Windows下配置nginx+FastCgi + Spawn-fcgi
【入门篇】Nginx + FastCGI 程序(C/C++) 搭建高性能web service的Demo及部署发布
Windows下Nginx的启动、停止等命令
pkg-config的用法
fcgiwrap官网
nginx配置cgi
让Nginx支持CGI

nginx常用命令

start nginx #启动
nginx.exe #启动,窗口一直处于执行中,不能进行其他命令操作
nginx.exe -s stop #快速停止nginx,不保存相关信息
nginx.exe -s quit #完整有序的停止,保存相关信息
nginx.exe -s reload #重新载入Nginx
nginx.exe -s reopen #重新打开日志文件
nginx -v #查看Nginx版本

安装

ngnix有windows版本可直接下载,spawn-fcgi下载源码,编译,spawn-fcgi.exe在src文件夹下,cygwin下使用绝对路径,

$ ./configure --prefix=*/dog/program/cgi/spawn-fcgi-1.6.4/bin
$ make
$ make install

下载fcgiwrap,编译,pkg-config不能用,待定位原因

$ ./configure --prefix=/cygdrive/c/dog/program/cgi/fcgiwrap-1.1.0/bin CFLAGS="-I/cygdrive/c/dog/program/cgi/fcgi2-2.4.2/bin/include -Wno-implicit-fallthrough" LDFLAGS=-L/cygdrive/c/dog/program/cgi/fcgi2-2.4.2/bin/lib systemd_LIBS=-L/cygdrive/c/dog/program/cgi/fcgi2-2.4.2/bin/lib
$ make
$ make install

配置fastcgi

nginx配置文件,

location = /cmd {
	fastcgi_pass 127.0.0.1:8088;
	fastcgi_index index.cgi;
	include fastcgi.conf;
}

运行或重启nginx,在cygwin里运行spawn-fcgi.exe

$ ./spawn-fcgi.exe -a 127.0.0.1 -p 8088 -f /cygdrive/c/dog/program/cgi/fcgi2-2.4.2/examples/echo.exe -n
$ spawn-fcgi: child spawned successfully: PID: 282
$ kill 282

浏览器输入http://localhost/cmd,显示,
ngnix配置cgi和fastcgi_第1张图片
fastcgi开发包其实自带了启动程序cgi-fcgi

$ ./cgi-fcgi.exe -start -connect 127.0.0.1:8088 /cygdrive/c/dog/program/cgi/fcgi2-2.4.2/examples/echo.exe
$ ps
      PID    PPID    PGID     WINPID   TTY         UID    STIME COMMAND
      291     265     291       8108  pty0      197609 22:42:15 /usr/bin/ps
      290       1     289       8852  pty0      197609 22:41:50 /cygdrive/c/dog/program/cgi/fcgi2-2.4.2/examples/.libs/echo
      265     264     265      10676  pty0      197609 22:30:23 /usr/bin/bash
      264       1     264      14024  ?         197609 22:30:23 /usr/bin/mintty

$ kill 290

配置cgi

nginx配置文件,

location ~ \.cgi$ {
	root cgi-bin;
	fastcgi_pass 127.0.0.1:8081;
	fastcgi_index index.cgi;
	include fastcgi.conf;
}

运行,

$ ./spawn-fcgi.exe -a 127.0.0.1 -p 8081 -f /cygdrive/c/dog/program/cgi/fcgiwrap-1.1.0/bin/sbin/fcgiwrap.exe -n

浏览器输入http://localhost/cgictest.cgi,显示,
ngnix配置cgi和fastcgi_第2张图片

你可能感兴趣的:(web全栈开发)