如何在Ubuntu Nginx上安装fcgiwrap

fcgiwrap是一个简单的服务器,用于在FastCGI上运行CGI应用程序。我们可以用它来为nginx webserver提供干净的CGI支持。它是一个轻量级的服务器,具有零配置选项,可以使用同一个池来运行不同的站点。本文介绍了如何在Ubuntu 20.04上安装fcgiwrap。

CGI的意思是Common Gateway Interface,它是早期创建动态页面的一种方法。另一个很好的例子是告诉你的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>

四、编写你的第一个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)

测试一下。打开浏览器,输入网址:

https://你的域名/cgi-bin/hello.cgi

你可以用任何你想用的编程语言,如Perl或C语言编写CGI应用程序或脚本,乍一看,应用程序/脚本的CGI似乎很简单,很容易,但编写这种应用程序必须小心。

posted @ 2023-06-14 15:08  阿风小子  阅读(481)  评论(0编辑  收藏  举报