当前位置: 首页 > 工具软件 > mod_fcgid > 使用案例 >

Linux之Redhat Apache添加mod_fcgid模块

乜心思
2023-12-01

Linux之Redhat Apache添加mod_fcgid模块

    Date: 2020.9.26   阴天 . 有风 . 凉凉的  

背景

想要实现apache2.2的php多版本运行,缺少mod_fcgid模块

步骤

  1. 先下载mod_fcgid模块,下载链接

  2. 然后上传到服务器,解压,发现缺少apxs,原因是缺少 httpd-devel

  3. 下载 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"
    
  4. 接下来回到解压的 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,成功!!!
    
  5. 配置文件 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
    

# 博客小菜鸟,记录日常,不喜尽情喷。

 类似资料: