cgi-bin是什么

cgi-bin是什么,第1张

CGI-BIN是一种特殊的目录,在进行交互式的WWW访问(如填写在线表格)时,需要服务器上有相应的程序对访问者输入的信息进行处理,这些程序就是CGI程序。CGI程序不能放在任意的目录下,只能放在CGI-BIN目录下。有的虚拟主机系统只提供一个公用的CGI-BIN目录,放置一些常用的CGI程序供虚拟主机用户使用,这对用户不够方便,因为用户经常需要放置自己编制的CGI程序。

我安装一个apache,apche的cgi-bin在/usr/local/apache/cgi下,我又安装了一个程序,目录在/home/wmail,cgi-bin在/home/wmail/www/cgi-bin下。我设置apache的httpd.conf的虚拟主机:

<VirtualHost *:80>

SetEnv SQWEBMAIL_TEMPLATEDIR /home/wmail/html

ScriptAlias /cgi-bin/ "/home/wmail/www/cgi-bin/"

<Directory "/home/wmail/www">

AllowOverride All

Options +Includes

</Directory>

ServerAdmin a@a.net

DocumentRoot /home/wmail/www

ServerName mail.xxx.com

</VirtualHost>

这样设置以后可以访问/home/wmail/www/cgi-bin下的wmail了,但是现在不能访问apche目录下/usr/local/apache/cgi-bin下的cgi程序了,怎样才能实现我现在既能访问/home/wmail/www/cgi-bin下的程序,又能访问/usr/local/apache/cgi-bin下的程序呀?

谢谢各位帮忙,真是没有头绪呀!

peijun.jiang 回复于:2003-07-22 17:37:22 问题已经解决,可以使用一下方法实现:

[code:1:d38cfc4441]

Port 80

ServerName www.mydomain.com

NameVirtualHost 192.168.0.1

<VirtualHost 192.168.0.1:80>

SetEnv SQWEBMAIL_TEMPLATEDIR /home/wmail/html

ScriptAlias /cgi-bin/ "/home/wmail/www/cgi-bin/"

<Directory "/home/wmail/www">

AllowOverride All

Options +Includes

</Directory>

ServerAdmin a@a.net

DocumentRoot /home/wmail/www

ServerName www.mydomain.com

</VirtualHost>

<VirtualHost 192.168.0.1:80>

ScriptAlias /cgi-bin/ "/usr/local/apache/cgi-bin/"

<Directory "/usr/local/apache/htdocs">

AllowOverride All

Options +Includes

</Directory>

ServerAdmin a@a.net

DocumentRoot /usr/local/apache/htdocs

ServerName www1.mydowain.com

</VirtualHost>

这是基于同一个IP地址,不同域名的实现方法。

CGI-BIN是一种特殊的目录,在进行交互式的WWW访问(如填写在线表格)时,需要服务器上有 相应的程序对访问者输入的信息进行处理,这些程序就是CGI程序。 CGI全称是“公共网关接口”(Common Gateway Interface),HTTP服务器与你的或其它机器上的程序进行“交谈”的一种工具,其程序须运行在网络服务器上。所以,你打开很多网站,不仅仅是腾讯旗下的网站,都会包含cgi-bin的哟。

yum install fcgi-devel -y

yum install autoconf automake libtool -y # 安装autoreconf

安装spawn-fcgi

yum install spawn-fcgi

yum install fcgiwrap

配置nginx

location ~/cgi-bin/.*.(sh|py|cgi) {

fastcgi_pass unix:/var//fcgiwrap/fcgiwrap.socket

fastcgi_param SCRIPT_NAME $fastcgi_script_name

includefastcgi_params

}

service fcgiwrap start

systemctl restart nginx

大概就i是这样折腾的,我在docker里用的,yum不太好用,所以调整过yum之后,用yum安装一切就方便多了

之前用apache安装cgi也是经历了一番折腾,最后是脚本的问题,所以多方面排查最好


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/143523.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-19
下一篇2023-03-19

发表评论

登录后才能评论

评论列表(0条)

    保存