本文主要是希望web服务器能调用cgi程序,并不涉及到相关web程序,所以不会用到web.py,django等web应用框架。
主要用到如下工具:
1.Python
2.Nginx
3.Spawn-FCGI,因为Nginx不能直接执行fastcgi程序,需要安装FASTCGI管理器。Spawn-FCGI是一个通用的FASTCGI管理器,原本是lighttpd的一部分,但目前已经单独成为一个项目。
4.flup:https://www.saddi.com/software/flup/dist/
安装
安装Python
常规安装即可
安装Nginx
下载地址:http://nginx.org/en/download.html
这里用的是:http://nginx.org/download/nginx-1.14.0.tar.gz
下载完成,解压,进入nginx-1.14.0目录后,打开命令行执行:
./configure
make
sudo make install
默认安装到/usr/local/nginx目录下,安装完成后可以查看下nginx版本:
y@ubuntu:~$ /usr/local/nginx/sbin/nginx -v
nginx version: nginx/1.14.0
nginx相关知识:
1)默认目录结构
主目录:/usr/local/nginx/
配置目录:/usr/local/nginx/conf/
root目录:/usr/local/nginx/html/
可执行文件路径:/usr/local/nginx/sbin/
2)启动
sudo /usr/local/nginx/sbin/nginx (默认启动方式)
sudo /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf (指定配置文件启动)
3)停止
sudo /usr/local/nginx/sbin/nginx -s stop
3)检查配置文件
y@ubuntu:~$ sudo /usr/local/nginx/sbin/nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
4)重新加载配置文件
修改配置文件后需要重新加载配置文件:
sudo /usr/local/nginx/sbin/nginx -s reload
安装Spawn-FCGI
两种方法安装Spawn-FCGI:
方法1:
下载:https://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-1.4.50.tar.gz
下载完成后,解压并安装:
./configure
make
sudo make install
编译完成后,将可执行文件spawn-cgi复制到nginx的sbin目录下:
cp ./src/spawn-fcgi /usr/local/nginx/sbin/
方法2:
单独下载Spawn-FCGI:
https://download.lighttpd.net/spawn-fcgi/releases-1.6.x/spawn-fcgi-1.6.4.tar.gz
或者
https://github.com/lighttpd/spawn-fcgi/releases/tag/spawn-fcgi-1.6.4
下载完成后,解压并安装:
(如果没有configure,则先执行./autogen.sh)
./configure
make
编译完成后,将可执行文件spawn-fcgi复制到nginx的sbin目录下:
cp ./src/spawn-fcgi /usr/local/nginx/sbin/
这里实际安装时,采用的是方法2。
安装完成后查看版本:
y@ubuntu:~/softwares/nginx_fastcgi/spawn-fcgi-1.6.4$ spawn-fcgi -v
spawn-fcgi v1.6.4 - spawns FastCGI processes
安装flup
下载:https://www.saddi.com/software/flup/dist/flup-1.0.2.tar.gz
下载完成后,解压并安装:
sudo python setup.py install
参考:
只涉及cgi程序调用的:
python:
Nginx+FastCGI+Python
nginx+python+fastcgi环境配置(flup版本)
nginx+python+fastcgi环境配置(flup版本)
c/c++:
nginx配置spawn-fastcgi执行自己编写的CGI程序(c/c++)
【入门篇】Nginx + FastCGI 程序(C/C++) 搭建高性能web service的Demo及部署发布
搭建web程序相关的:
linux下nginx+python+fastcgi部署总结(web.py版)
linux下nginx+python+fastcgi部署总结(django版)
Ubuntu上配置nginx+php+fastcgi(PHP-FPM版)的流程