如何在Ubuntu 20.04上为Nginx安装fcgiwrap
时间:2020-01-09 10:39:19 来源:igfitidea点击:
fcgiwrap是用于通过FastCGI运行CGI应用程序的简单服务器。
我们可以使用它为Nginx Web服务器提供干净的CGI支持。
它是具有零配置选项的轻型服务器,可以使用同一池运行不同的站点。
本教程说明如何在Ubuntu 20.04上安装fcgiwrap。
CGI表示通用网关接口,它是创建动态页面的一种早期方法。
另一个很好的例子是告诉您的Web服务器执行Unix程序等等。
本教程假定您已在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/ { # Disable gzip (it makes scripts feel slower since they have to complete # before getting gzipped) gzip off; # Set the root to /usr/lib (inside this location this means that we are # giving access to the files under /usr/lib/cgi-bin) root /usr/lib; # Fastcgi socket fastcgi_pass unix:/var/run/fcgiwrap.socket; # Fastcgi parameters, include the standard ones include /etc/nginx/fastcgi_params; # Adjust non standard parameters (SCRIPT_FILENAME) fastcgi_param SCRIPT_FILENAME /usr/lib$fastcgi_script_name; }
编辑您的nginx.conf或虚拟域配置文件。
例如:
sudo nano /etc/nginx/nginx.conf ## OR ## sudo nano /etc/nginx/sites-enabled/default
接下来,找到"服务器"部分,并添加以下指令:
## Trun on /cgi-bin/ support to run CGI apps ## 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: created directory '/usr/lib/cgi-bin/'`
Bash中的Hello World CGI脚本
打开您选择的文本编辑器并创建以下文件:
sudo vi /usr/lib/cgi-bin/hello.cgi
追加以下bash代码:
#!/usr/bin/env bash echo "Content-type: text/html" echo "" now="$(date)" echo '<html><head><title>Hello World - CGI app</title></head>' echo '<body>' echo '<h2>Hello World!</h2>' echo "Computer name : $HOSTNAME<br/>" echo "The current date and time : ${now}<br/>" echo '</body>' echo '</html>'
使用chmod命令和chown命令在/usr/lib/cgi-bin/hello.cgi
上设置可执行权限:
$ sudo chmod +x -v /usr/lib/cgi-bin/hello.cgi `mode of '/usr/lib/cgi-bin/hello.cgi' changed from 0644 (rw-r--r--) to 0755 (rwxr-xr-x)`
测试一下。
打开一个网络浏览器,然后输入URL:
https://your-domain-here/cgi-bin/hello.cgi ## For instance ## https://www.theitroad.local/cgi-bin/hello.cgi
您可以使用所需的任何编程语言(例如Perl或C)编写CGI应用程序或脚本。
。