在ubuntu下为nginx配置支持cgi脚本的方案
发布时间 - 2026-01-10 23:12:41 点击率:次在nginx下支持cgi脚本于支持node类似的,只要在nginx直接做个转发,转发到对应的cgi套接字就好。

使用Fcgiwrap
Fcgiqwrap是另外一个CGI封装库,跟Simple CGI类似。
安装fcgiwrap
apt-get install fcgiwrap
安装以后fcgiwrap默认已经启动,对应的套接字是 /var/run/fcgiwrap.socket 。如果没有启动,使用 /etc/init.d/fcgiwrap 手动启动。
配置nginx的vhost文件
在要支持cgi脚本的路径下,添加对应的server配置。比如所有的cgi都在cgi-bin路径下:
server {
[...]
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 /var/www/www.example.com;
# 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 $document_root$fastcgi_script_name;
}
[...]
}
重新加载nginx:
nginx -s reload
测试
在cgi-bin下创建hello-world.cgi
#!/usr/bin/perl -w # Tell perl to send a html header. # So your browser gets the output # rather then <stdout>(command line # on the server.) print "Content-type: text/html\n\n"; # print your basic html tags. # and the content of them. print "<html><head><title>Hello World!! </title></head>\n"; print "<body><h1>Hello world</h1></body></html>\n";
设置执行权限
chmod 755 /var/www/www.example.com/cgi-bin/hello_world.cgi
在浏览器打开对应脚本,即可看到已经配置成功! http://www.example.com/cgi-bin/hello_world.cgi
# nginx
# cgi
# 配置
# php
# ubuntu
# nginx启动脚本
# shell脚本定时统计Nginx下access.log的PV并发送给API保存到数据库
# Apache Nginx 禁止目录执行PHP脚本文件的方法
# 详解Nginx SSL快速双向认证配置(脚本)
# 使用shell脚本对Nginx日志进行切分的示例代码
# nginx源码分析configure脚本详解
# Nginx中使用Lua脚本配置示例
# PHP脚本监控Nginx 502错误并自动重启php-fpm
# Nginx和PHP-FPM的启动、重启、停止脚本分享
# Linux下创建nginx脚本-start、stop、reload…
# shell脚本之nginx自动化脚本
# 都在
# 就好
# 如果没有
# 做个
# 另外一个
# 加载
# 只要在
# location
# gzip
# Disable
# plain
# pre
# slower
# brush
# class
# root
# Set
# usr
# means
# lib
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
高端建站如何打造兼具美学与转化的品牌官网?
如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南
Laravel Eloquent访问器与修改器是什么_Laravel Accessors & Mutators数据处理技巧
如何在云指建站中生成FTP站点?
微博html5版本怎么弄发语音微博_语音录制入口及时长限制操作【教程】
如何在云主机快速搭建网站站点?
Laravel如何创建自定义Artisan命令?(代码示例)
轻松掌握MySQL函数中的last_insert_id()
uc浏览器二维码扫描入口_uc浏览器扫码功能使用地址
Windows家庭版如何开启组策略(gpedit.msc)?(安装方法)
Laravel如何生成URL和重定向?(路由助手函数)
大连 网站制作,大连天途有线官网?
如何快速生成橙子建站落地页链接?
小米17系列还有一款新机?主打6.9英寸大直屏和旗舰级影像
如何快速搭建高效可靠的建站解决方案?
详解Android图表 MPAndroidChart折线图
Linux虚拟化技术教程_KVMQEMU虚拟机安装与调优
简单实现jsp分页
LinuxShell函数封装方法_脚本复用设计思路【教程】
Chrome浏览器标签页分组怎么用_谷歌浏览器整理标签页技巧【效率】
如何在腾讯云免费申请建站?
胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?
Laravel如何生成和使用数据填充?(Seeder和Factory示例)
Win11怎样安装网易有道词典_Win11安装词典教程【步骤】
JavaScript中的标签模板是什么_它如何扩展字符串功能
lovemo网页版地址 lovemo官网手机登录
Windows10怎样连接蓝牙设备_Windows10蓝牙连接步骤【教程】
Angular 表单中正确绑定输入值以确保提交与验证正常工作
Laravel 419 page expired怎么解决_Laravel CSRF令牌过期处理
PHP 500报错的快速解决方法
如何用狗爹虚拟主机快速搭建网站?
C语言设计一个闪闪的圣诞树
php结合redis实现高并发下的抢购、秒杀功能的实例
如何登录建站主机?访问步骤全解析
Laravel怎么返回JSON格式数据_Laravel API资源Response响应格式化【技巧】
Laravel Pest测试框架怎么用_从PHPUnit转向Pest的Laravel测试教程
邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?
Laravel如何使用Collections进行数据处理?(实用方法示例)
齐河建站公司:营销型网站建设与SEO优化双核驱动策略
手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?
Laravel怎么使用artisan命令缓存配置和视图
Internet Explorer官网直接进入 IE浏览器在线体验版网址
详解jQuery停止动画——stop()方法的使用
Laravel Admin后台管理框架推荐_Laravel快速开发后台工具
如何在HTML表单中获取用户输入并结合JavaScript动态控制复利计算循环
阿里云高弹*务器配置方案|支持分布式架构与多节点部署
Laravel Eloquent:优雅地将关联模型字段扁平化到主模型中
,交易猫的商品怎么发布到网站上去?
Laravel怎么实现软删除SoftDeletes_Laravel模型回收站功能与数据恢复【步骤】
JavaScript如何实现继承_有哪些常用方法

