在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 】
相关推荐:
php打包exe后无法访问网络共享_共享权限设置方法【教程】
JavaScript如何实现音频处理_Web Audio API如何工作?
奇安信“盘古石”团队突破 iOS 26.1 提权
公司网站制作价格怎么算,公司办个官网需要多少钱?
如何在Windows环境下新建FTP站点并设置权限?
Laravel如何处理跨站请求伪造(CSRF)保护_Laravel表单安全机制与令牌校验
Laravel如何处理CORS跨域请求?(配置示例)
网易LOFTER官网链接 老福特网页版登录地址
青岛网站建设如何选择本地服务器?
PHP正则匹配日期和时间(时间戳转换)的实例代码
利用vue写todolist单页应用
如何用5美元大硬盘VPS安全高效搭建个人网站?
如何用AWS免费套餐快速搭建高效网站?
如何快速搭建高效香港服务器网站?
如何实现建站之星域名转发设置?
湖南网站制作公司,湖南上善若水科技有限公司做什么的?
Laravel如何实现用户角色和权限系统_Laravel角色权限管理机制
Laravel如何为API编写文档_Laravel API文档生成与维护方法
Laravel如何创建和注册中间件_Laravel中间件编写与应用流程
Linux安全能力提升路径_长期防护思维说明【指导】
网站页面设计需要考虑到这些问题
软银砸40亿美元收购DigitalBridge 强化AI资料中心布局
网站制作软件免费下载安装,有哪些免费下载的软件网站?
Laravel如何实现多表关联模型定义_Laravel多对多关系及中间表数据存取【方法】
如何基于云服务器快速搭建网站及云盘系统?
Laravel如何使用Vite进行前端资源打包?(配置示例)
Laravel中Service Container是做什么的_Laravel服务容器与依赖注入核心概念解析
laravel怎么通过契约(Contracts)编程_laravel契约(Contracts)编程方法
,南京靠谱的征婚网站?
详解MySQL数据库的安装与密码配置
Laravel怎么使用Session存储数据_Laravel会话管理与自定义驱动配置【详解】
文字头像制作网站推荐软件,醒图能自动配文字吗?
郑州企业网站制作公司,郑州招聘网站有哪些?
电商网站制作价格怎么算,网上拍卖流程以及规则?
Laravel如何实现本地化和多语言支持?(i18n教程)
js实现获取鼠标当前的位置
Laravel如何集成第三方登录_Laravel Socialite实现微信QQ微博登录
个人摄影网站制作流程,摄影爱好者都去什么网站?
Laravel storage目录权限问题_Laravel文件写入权限设置
Laravel N+1查询问题如何解决_Eloquent预加载(Eager Loading)优化数据库查询
Laravel怎么做数据加密_Laravel内置Crypt门面的加密与解密功能
Laravel如何实现图片防盗链功能_Laravel中间件验证Referer来源请求【方案】
Laravel中的Facade(门面)到底是什么原理
香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧
如何在 Python 中将列表项按字母顺序编号(a.、b.、c. …)
Swift开发中switch语句值绑定模式
ChatGPT 4.0官网入口地址 ChatGPT在线体验官网
HTML5空格和margin有啥区别_空格与外边距的使用场景【说明】
laravel怎么用DB facade执行原生SQL查询_laravel DB facade原生SQL执行方法
企业网站制作这些问题要关注

