首页 > 系统相关 >如何在Ubuntu Nginx上安装fcgiwrap

如何在Ubuntu Nginx上安装fcgiwrap

时间:2023-06-14 15:22:59浏览次数:42  
标签:cgi bin fcgiwrap lib sudo Nginx usr Ubuntu

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似乎很简单,很容易,但编写这种应用程序必须小心。

标签:cgi,bin,fcgiwrap,lib,sudo,Nginx,usr,Ubuntu
From: https://www.cnblogs.com/kn-zheng/p/17480300.html

相关文章

  • Nginx 重啟/修改conf後生效
    Nginx重啟/修改conf後生效 1.程序運行參數Nginx安裝後只有一個程序文件,本身並不提供各種管理程序,它是使用參數和系統信號機制對Nginx進程本身進行控制的。Nginx的參數包括有如下幾個:-c<path_to_config>:使用指定的配置文件而不是conf目錄下的nginx.conf。-t:測試配置......
  • mac下nginx+tomcat+memcached集群配置和共享session
     mac下nginx+tomcat+memcached集群配置和共享session  首先分别安装nginx(版本1.5.8)、tomcat(版本7.0)、memcached(版本1.4.17),具体安装说明请分别参考下面的文章。 nginx安装说明 http://stephen830.iteye.com/blog/2002195tomcat安装说明http://stephen830.iteye.com/blog/2001......
  • ubuntu下的apache+php环境安装和配置
     ubuntu下的apache+php环境安装和配置  ■一、安装Apache2#apt-getinstallapache2 安装好后,重启 serviceapache2restart ,会发现1条警告信息:有一条关于ServerName的警告。要去除该警告,必须修改/etc/apache2/apache2.conf配置文件在apac......
  • odoo16.0源码安装Ubuntu22.04环境
    同样使用的OS是ubuntu22.04,通过vbox虚拟机来进行测试安装。一、安装好虚拟环境以后,先更新一下当前系统sudoapt-getupdate&&sudoapt-getupgrade二、安装odoo运行环境依赖包、node.js包安装工具,以及rtlcss包sudo apt-get install npmxfonts-encodingsxfonts-utilspy......
  • Ubuntu22.04安装odoo16.1alpha
    Odoo16.0马上就要发布了,官网上的odoo16.1也已经开放下载。作为老odoo粉,当然也想尝鲜一下。经过在虚拟机多次测试,通过source安装比较困难,各种python模块包版本总是不太兼容。后来改用deb包就比较简单了。只要三步走就可以拥有全新的odoo16.1测试环境。一、我下载的是ubuntu-22.04......
  • VMWare+Ubuntu+VsCode+C环境配置
    昨天整个流程走了四次,我现在已经是虚拟机战士了TT一、下载VMWareStation,打开一个新虚拟机,网络设置选NAT二、到Ubuntu官网下载iso映像文件,虚拟机就使用这个映像。    建议到官网下载最新版本22.04LTS,我用旧版本老是各种出错!!!    Ubuntu系统下载|Ubuntu三、......
  • 使用nginx搭建https服务器
    最近在研究nginx,整好遇到一个需求就是希望服务器与客户端之间传输内容是加密的,防止中间监听泄露信息,但是去证书服务商那边申请证书又不合算,因为访问服务器的都是内部人士,所以自己给自己颁发证书,忽略掉浏览器的不信任警报即可。下面是颁发证书和配置过程。首先确保机器上安装了op......
  • ubuntu2204脚本初始化集群
    @目录脚本实现脚本测试用于一键部署集群(多节点)的环境初始化,如修改主机名,主机映射,节点相互免密,时间同步等,可多节点部署ps:脚本需要下载sshpass,chrony等软件包,确保ubuntu源正常脚本实现#!/bin/bash#定义节点信息NODES=("192.168.200.180controllerroot""192.168.200.182c......
  • nginx rewrite实践
    nginxrewrite跳转(高级)官网https://nginx.org/en/docs/http/ngx_http_rewrite_module.html该ngx_http_rewrite_module模块用于使用PCRE正则表达式更改请求URI、返回重定向和条件选择配置。 1.介绍实际工作需求中,我们经常要修改用户url的请求比如早期的京东官......
  • 升级Ubuntu18.04上的gitlab 13.7.3
    1、查看gitlab版本,在首页后面添加/help就可以看到了也可以用命令查看cat/opt/gitlab/embedded/service/gitlab-rails/VERSION2、gitLab版本升级,需要按照官方的指示版本进行依次升级8.11.Z->8.12.0->8.17.7->9.5.10->10.8.7->11.11.8->12.0.12->12.1.17->12.10.1......