专门做护肤品的网站是,企业形象设计英文,哈尔滨网站建设设计公司,上海微信网站设计制作fcgiwrap在其他系统上一般直接输命令就能安装#xff0c;但是OracleLinux9会提示找不到软件包。安装成功后#xff0c;selinux也会阻碍nginx的调用。 原因
OracleLinux9的这个软件包位于默认不启用的developer仓库。
安装fcgiwrap
编辑配置#xff0c;将repo启用
sudo v… fcgiwrap在其他系统上一般直接输命令就能安装但是OracleLinux9会提示找不到软件包。安装成功后selinux也会阻碍nginx的调用。 原因
OracleLinux9的这个软件包位于默认不启用的developer仓库。
安装fcgiwrap
编辑配置将repo启用
sudo vi /etc/yum.repos.d/oracle-epel-ol9.repo
sudo dnf update成功安装
sudo dnf install fcgiwrap手动配置fcgiwrap服务
安装的fcgiwrap并没有systemd服务因此需要手动配置
新建/var/run/nginx目录
cd /var/run
sudo mkdir nginx
sudo chown nginx:nginx nginx创建fcgiwrap服务需要先安装nginx
sudo dnf install nginx
sudo nano /etc/systemd/system/fcgiwrap.service写入如下内容
[Unit]
DescriptionSimple CGI Server
Afternetwork.target[Service]
ExecStart/usr/sbin/fcgiwrap -s unix:/run/nginx/fcgiwrap.socket
Usernginx
Groupnginx[Install]
WantedBymulti-user.target刷新并启动服务查看运行状态
sudo systemctl daemon-reload
sudo systemctl start fcgiwrap
sudo systemctl status fcgiwrap启动正常后设置开机启动
sudo systemctl enable fcgiwrap配置nginx CGI
进入某网站的配置
sudo vi /etc/nginx/conf.d/yourweb.conf写入cgi配置
location /cgi-bin/yourcgi {include fastcgi_params;fastcgi_pass unix:/var/run/nginx/fcgiwrap.socket;fastcgi_param SCRIPT_FILENAME /path/to/your/cgi/file;# 继续传递其他参数...
}解决selinux问题
在这一步后nginx对cgi的访问仍然会被selinux拦截因此还需要放行访问。请按如下步骤操作
创建审计规则文件夹
sudo mkdir /etc/selinux/audit2allow
cd /etc/selinux/audit2allow访问目标cgi路径被拒绝访问查看审计拦截情况
sudo cat /var/log/audit/audit.log | grep nginx | grep denied输出示例如下
typeAVC msgaudit(1699720883.997:1431781): avc: denied { connectto } for pid2205472 commnginx path/var/run/nginx/fcgiwrap.socket scontextsystem_u:system_r:httpd_t:s0 tcontextsystem_u:system_r:unconfined_service_t:s0 tclassunix_stream_socket permissive0基于此创建放行规则
sudo cat /var/log/audit/audit.log | grep nginx | grep denied | audit2allow -M allow_nginx_proxy_fcgiwrap正常情况下输出
******************** IMPORTANT ***********************
To make this policy package active, execute:semodule -i allow_nginx_proxy_fcgiwrap.pp加载放行规则
sudo semodule -i allow_nginx_proxy_fcgiwrap.pp检查是否能正常访问cgi如不行重复执行2~6直至成功访问。大功告成