Linux之Redhat Apache添加mod_fcgid模块
Date: 2020.9.26 阴天 . 有风 . 凉凉的
背景
想要实现apache2.2的php多版本运行,缺少mod_fcgid模块
步骤
-
先下载mod_fcgid模块,下载链接
-
然后上传到服务器,解压,发现缺少apxs,原因是缺少 httpd-devel
-
下载 httpd-devel ,上传到服务器 rpm -ivh 安装
我还额外安装了 apr 相关的包### 此处可能存在版本号不对应,依赖缺失的问题,所以我 rpm 加上参数 -- force --nodeps 进行强制安装 [root@lbsdb download]# rpm -ivh httpd-devel-2.2.15-69.el6.centos.x86_64.rpm --force --nodeps Preparing... ########################################### [100%] 1:httpd-devel ########################################### [100%]
[lbs@lbsdb build]$ vim /usr/sbin/apxs ### 我修改了一下apxs文件, 将 my $installbuilddir = $libdir . "/httpd/build" ==> my $installbuilddir = $libdir . "/usr/lib64/httpd/build"
-
接下来回到解压的 mod_fcgid 文件夹
[root@lbsdb mod_fcgid-2.3.9]# APXS=/usr/sbin/apxs ./configure.apxs ### 会生成一个配置文件 Makefile [root@lbsdb mod_fcgid-2.3.9]# make && make install [root@lbsdb mod_fcgid-2.3.9]# ls -l /usr/lib64/httpd/modules|grep fcgid -rwxr-xr-x 1 root root 353253 May 29 15:37 mod_fcgid.so ### 生成了 mod_fcgid.so,成功!!!
-
配置文件 httpd.conf
LoadModule fcgid_module modules/mod_fcgid.so <IfModule mod_fcgid.c> FcgidIOTimeout 384 FcgidConnectTimeout 360 FcgidOutputBufferSize 128 FcgidMaxRequestsPerProcess 1000 FcgidMinProcessesPerClass 0 FcgidMaxProcesses 16 FcgidMaxRequestLen 524288000 FcgidInitialEnv PHP_FCGI_MAX_REQUESTS 1000 FcgidInitialEnv PHPRC /usr/local/php/bin/ AddHandler fcgid-script .php FcgidWrapper /usr/local/php7.4.6/bin/php-cgi .php FcgidIPCDir /dev/shm ProcessLifeTime 360 <IfModule mod_mime.c> AddHandler fcgid-script .fcgi </IfModule> </IfModule> <VirtualHost *:82> DocumentRoot /home/developEnvironment/ AddHandler fcgid-script .fcgi .php #映射fcgi执行脚本 FcgidInitialEnv PHP_FCGI_MAX_REQUESTS 1000 #设置PHP_FCGI_MAX_REQUESTS大于或等于FcgidMaxRequestsPerProcess,防止php-cgi进程 在处理完所有请求前退出 FcgidMaxRequestsPerProcess 1000 #php-cgi每个进程的最大请求数 FcgidIOTimeout 300 #最大执行时间 FcgidIdleTimeout 300 #最大空闲时间 FcgidMaxRequestLen 2097152 #限制最大请求字节 MaxRequestLen 52428800 #php程序最大文件上传限制50MB,默认只有2MB FcgidInitialEnv PHPRC "/usr/local/php7.4.6/" #php安装路径 FcgidWrapper "/usr/local/php7.4.6/bin/php-cgi" .php #php-cgi脚本执行路径 <Directory "/home/developEnvironment/"> Options Includes ExecCGI FollowSymLinks AllowOverride All Order allow,deny Allow from all </Directory> </VirtualHost>
6.重启apache服务
service httpd restart
# 博客小菜鸟,记录日常,不喜尽情喷。