nginx下启用CGI的步骤详解

注意:为了在nginx下使用Tcl脚本,这里记录下配置过程,已测试有效

安装fcgiwrap

安装fcgiwrap需要fcgi-devel包支持,此包在epel中包含,已安装epel的可以直接安装

yum install fcgi-devel
下载并安装fcgiwrap

wget https://github.com/gnosek/fcgiwrap/archive/master.zip -O fcgiwrap.zip
unzip fcgiwrap.zip
cd fcgiwrap-master
autoreconf -i #这里报错的话安装automake包
./configure
make
make install
安装spawn-fcgi

安装spawn-fcgi包,通过此包来使fcgiwrap作为一个daemon运行

yum install spawn-fcgi
编辑spawn-fcgi配置文件

vi /etc/sysconfig/spawn-fcgi
添加如下内容

FCGI_SOCKET=/var/run/fcgiwrap.socket
FCGI_PROGRAM=/usr/local/sbin/fcgiwrap
FCGI_USER=nginx
FCGI_GROUP=nginx
FCGI_EXTRA_OPTIONS="-M 0700"
OPTIONS="-u $FCGI_USER -g $FCGI_GROUP -s $FCGI_SOCKET -S $FCGI_EXTRA_OPTIONS -F 1 -P /var/run/spawn-fcgi.pid -- $FCGI_PROGRAM"
NOTICE: -F 1表示启动一个fcgiwrap进程,有性能需要的可以多启动几个
添加开机启动:

chkconfig spawn-fcgi on
启动spawn-fcgi服务:

service spawn-fcgi start
设置nginx

在nginx.conf中添加如下配置:

location /cgi-bin/ {
            gzip off;
            root /var/www/;
            fastcgi_pass unix:/var/run/fcgiwrap.socket;
            include fastcgi_params;
            fastcgi_param SCRIPT_FILENAME $document_root$fast
cgi_script_name;

        }
创建/var/www/cgi-bin目录

mkdir /var/www/cgi-bin
目录赋予权限为nginx

chown -R nginx:nginx /var/www/cgi-bin
在/var/www/cgi-bin目录下创建一个test.cgi测试文件

#!/usr/bin/tclsh

puts  "Content-type: text/html"
puts ""
puts  "This is a tcl test script"
修改文件权限,使其具有执行权限

chmod 755 test.cgi
打开浏览器,可以看到能访问脚本执行内容了

http://localhost/cgi-bin/test.cgi

到此,已经能够通过CGI方式执行Tcl脚本了,Tcl脚本的可玩性又更强了。也可以通过这种方式来执行bash、python等脚本语言。

时间: 2024-09-21 11:37:46

nginx下启用CGI的步骤详解的相关文章

nginx下php-fpm安装配置步骤详解

从PHP 5.4 RC2开始,php-fpm已经转正了,不再被php团队标注为EXPERIMENTAL(实验性的东西)[2-3]   . 相对Spawn-FCGI,PHP-FPM在CPU和内存方面的控制都更胜一筹,而且前者很容易崩溃,必须用crontab进行监控,而PHP-FPM则没有这种烦恼. PHP5.3.3已经集成php-fpm了,不再是第三方的包了.PHP-FPM提供了更好的PHP进程管理方式,可以有效控制内存和进程.可以平滑重载PHP配置,比spawn-fcgi具有更多优点,所以被PH

Mac上搭建nginx+rtmp直播服务器的步骤详解_nginx

前言 相信大家都知道nginx是非常优秀的开源服务器,用它来做hls或者rtmp流媒体服务器是非常不错的选择,所以小编在网上整理了安装流程,现在分享给大家并且作备忘.有需要的朋友们可以参考学习,下面来一起看看吧. 一.安装Homebrow 已经安装了brow的可以直接跳过这一步. 执行命令 ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 如果已经安装过,而

Mac环境下配置tomcat的步骤详解_Tomcat

前言 相信对Java Web稍微知道一点,一般对Tomcat都不会陌生,Apache是普通服务器,本身只支持html即普通网页,可以通过插件支持PHP,还可以与Tomcat连通(单向Apache连接Tomcat,就是说通过Apache可以访问Tomcat资源.Tomcat无法取访问Appache资源).Appache只支持静态网页,但像asp,php,cgi,jsp等动态就需要Tomcat来处理.下面我们就来看看详细的步骤. 一. 下载 登录Apache Tomcat官网,地址 http://t

nginx反向代理缓存配置步骤详解

这里给出示例,并详解. http { [...] [...]   proxy_cache_path  /data/nginx/cache/one  levels=1:2   keys_zone=one:10m max_size=10g; proxy_cache_key  "$host$request_uri";   server {     server_name www.centos.bz centos.bz;     root /home/www.centos.bz/web;   

Nginx下ThinkPHP5的配置方法详解

本文主要给大家介绍了关于Nginx下ThinkPHP5的配置方法,分享出来供大家参考学习,下面话不多说,来一起看看详细的介绍: url里public目录的隐藏 出于安全的考虑,TP5的入口文件改成放在public下了,因为这样的话能防止被恶意用户访问到"/thinkphp/"."/vendor/"等等这些目录下的文件.所以当你以之前的习惯将网站documentroot配置为项目根目录的时候就会需要在url后面加上/public/来访问.当然可能也会有童鞋把入口文件放

win7 php环境搭建教程:win7下php环境搭建步骤详解

  今天绿茶小编带给大家的是win7 php环境搭建教程,php新手如果不知道如何在win7下php环境搭建方法的话,那么接下来这篇文章就可以帮到你,步骤还是很详细的哦~ 以下是一些注意事项: 一.apache选择msi格式下载,一路next,ok,修改httpd.conf进行配置; 二.配置的LoadModule php5_module路径一定要正确设置,并且注意双引号为英文字符; 三.php配置按参考修改即可,一般无大问题; 四.配置完成apache不能启动报错:the requested

Linux系统下安装MySQL的步骤详解

如下是我工作中的记录,介绍的是linux系统下使用官方编译好的二进制文件进行安装MySql的安装过程和安装截屏,这种安装方式速度快,安装步骤简单! 需要的朋友可以按照如下步骤进行安装,可以快速安装MySql,希望可以帮助大家:)! 1.下载mysql的linux版本的二进制安装包: 地址:http://dev.mysql.com/download... 这里我将安装包重命名为:tingyun-mysql-5.6.22.tar.gz 说明:根据自己需要可以不进行重命名操作 2.解压安装包: 在需要

lnmp环境下zabbix编译安装步骤详解

由于已有php运行环境,所以只需要编译安装zabbix即可.一.安装依赖组件 yum -y install net-snmp net-snmp-devel perl-DBI php-gd php-xml php-bcmath fping OpenIPMI-devel php-mbstring 二.编译安装zabbix ①.下载zabbix cd /usr/local/srcwget -O zabbix-2.4.3.tar.gz -c "http://sourceforge.net/project

centos6下awstats安装配置步骤详解

awstats功能 一:访问量,访问次数,页面浏览量,点击数,数据流量等 二:精确到每月.每日.每小时的数据 三:访问者国家 四:访问者IP 五:Robots/Spiders的统计 六:访客持续时间 七:对不同Files type 的统计信息 八:Pages-URL的统计 九:访客操作系统浏览器等信息 十:其它信息(搜索关键字等等) I. 下载源码 下载地址:http://www.awstats.org/#DOWNLOAD 老高推荐下载Last stable # Last stable vers