Fcgiwrap 是一个简单的服务器,用于通过 FastCGI 运行 CGI 应用程序。我们可以使用它为 nginx 网络服务器提供干净的 CGI 支持。它是一个具有零配置选项的轻量级服务器,允许使用同一组运行不同的网站。以下是在 Ubuntu 20.04 上安装 fcgiwrap 的方法。
CGI(通用网关接口)是创建动态网站的原始方法。以下说明假设您已在 Ubuntu Linux 20.04 LTS 上安装并配置了 Nginx 服务器。
在 Ubuntu 20.04 上安装 fcgiwrap
打开终端并输入以下命令以更新 Ubuntu 20.04 上的安全安装包:
$ sudo apt update $ sudo apt upgrade
要为 Nginx 安装 fcgiwrap 包,请在 [nixmcd name= 'apt'] 的帮助下以 root 用户身份运行以下命令:
$ sudo apt install fcgiwrap
在 Ubuntu 20.04 上启用 fcgiwrap 服务
使用systemctl命令如下:
$ sudo systemctl enable fcgiwrap $ sudo systemctl start fcgiwrap $ sudo systemctl status fcgiwrap
为 Nginx 配置 fcgiwrap
现在我们已经安装了 fcgiwrap,接下来是为 FastCGI 文件创建一个新的配置:
sudo nano/etc/nginx/fcgiwrap.conf
连接如下配置:
location/cgi-bin/{ # 禁用 gzip(这让脚本感觉更慢,因为它们必须在 gzip 之前完成 #) gzip off; # 将 root 设置为/usr/lib(在这个位置这意味着我们可以访问/usr/lib/cgi-bin 下的文件) root/usr/lib; # fastcgi socket fastcgi_pass unix:/var/run/fcgiwrap.socket; #fastcgi参数,包括标准的include/etc/nginx/fastcgi_params; # 调整非标准参数(SCRIPT_FILENAME) fastcgi_param SCRIPT_FILENAME/usr/lib$fastcgi_script_name; }
编辑 nginx.conf 或虚拟域文件。例如:
sudo nano/etc/nginx/nginx.conf ## 或 ## sudo nano/etc/nginx/sites-enabled/default
接下来,定位服务器并添加以下指令:
## Trun on/cgi-bin/支持运行 CGI 应用程序 ## include/etc/nginx/fcgiwrap.conf;
保存并关闭文件。重新加载或重启 Nginx 服务器:
$ sudo nginx-t $ sudo nginx-s reload
编写基本的 CGI 脚本
使用 FastCGI 编写基本的 CGI 脚本非常简单。首先,我们必须使用 mkdir 命令在/usr/lib/中创建一个 cgi-bin 目录:
$ sudo mkdir-vp/usr/lib/cgi-bin/mkdir: 创建目录'/usr/lib/cgi-bin/'
Bash 中的 Hello World CGI 脚本
你好世界-CGI 应用程序打开文本编辑器并创建以下文件:
sudo vi/usr/lib/cgi-bin/hello.cgi
追加如下bash代码:
#!/usr/bin/env bash echo "Content-type: text/html" echo "" now="06/07/2020" echo 'Hello World-CGI应用程序'回声''回声'
世界你好!
' echo "计算机名称:$HOSTNAME
" echo "当前日期和时间:${now}
" echo '' echo ''
使用chmod和chown在/usr/lib/cgi-bin/hello.cgi上设置执行权限:
$ sudo chmod +x-v/usr/lib/cgi-bin/hello.cgi 模式 '/usr/lib/cgi-bin/hello.cgi' 从0644 (rw-r--r--) 到 0755 (rwxr-xr-x)
通过打开网页浏览器并输入网址进行检查:
https://your-domain-here/cgi-bin/hello.cgi ## 例如## https://www.cyberciti.biz/cgi-bin/hello.cgi
您可以使用任何编程语言编写 CGI 应用程序或脚本。用于应用程序/脚本的 CGI 看似简单易行,但编写这些应用程序并不简单。
0 评论