学习本教程须掌握:

1、Linux下指定版本编译安装LAMP

2、Linux下Apache虚拟主机配置

3、CentOS 7.x编译安装Nginx1.10.3+MySQL5.7.16+PHP5.2 5.3 5.4 5.5 5.6 7.0 7.1 7.2 7.3多版本全能环境

安装约定:

Apache版本:2.2

Apache安装路径:/usr/local/apache

Apache虚拟主机配置文件:/usr/local/apache/conf/vhost

php版本:支持php5.2到最新的php7.3

php安装路径:/usr/local/php56      /usr/local/php73

开始配置:

1、安装Apache的mod_fcgid模块#mod_fcgid模块可以实现Apache下多版本php同时运行

cd  /usr/local/src

wget   https://mirrors.tuna.tsinghua.edu.cn/apache/httpd/mod_fcgid/mod_fcgid-2.3.9.tar.gz   #下载

tar -zxvf mod_fcgid-2.3.9.tar.gz

cd mod_fcgid-2.3.9

APXS=/usr/local/apache/bin/apxs      ./configure.apxs

make

make install

2、修改apache配置文件

cp  /usr/local/apache/conf/httpd.conf   /usr/local/apache/conf/httpd.conf-bak   #备份

vi  /usr/local/apache/conf/httpd.conf   #编辑

#在Group apache下面一行添加如下代码,如果配置文件有就不用重复添加。

LoadModule fcgid_module modules/mod_fcgid.so

FcgidMaxProcesses 1000  #php-cgi最大的进程数

MaxRequestLen    52428800   #php程序最大文件上传限制50MB

:wq!  #保存退出

一般安装完第一步mod_fcgid模块,会在apache配置文件httpd.conf中自动添加上面第一行的代码。

apache  php fastcgi模式下,默认上传文件大小只有131072字节(128kb),需要在apache的配置文件中修改,

fastcgi模式下,在php.ini中修改upload_max_filesize等参数无效。

3、配置虚拟主机文件

cd  /usr/local/apache/conf/vhost

vi  osyunwei.com.conf   #编辑虚拟主机配置文件,添加下面的红色字体代码。

# ServerAdmin webmaster@dummy-host.example.com

DocumentRoot /data/root/osyunwei.com/www.osyunwei.com/wwwroot/

ServerName www.osyunwei.com

ServerAlias osyunwei.com

# ErrorLog logs/dummy-host.example.com-error_log

# CustomLog logs/dummy-host.example.com-access_log common

CustomLog "|/usr/local/apache/bin/rotatelogs /upload/log/osyunwei.com/www.osyunwei.com/logf iles/access_log%Y%m%d.log 86400 480" combined

DirectoryIndex index.htm index.html index.php

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/php73/"   #php安装路径

FcgidWrapper "/usr/local/php73/bin/php-cgi" .php    #php-cgi脚本执行路径

php_admin_value open_basedir "/data/root/osyunwei.com/www.osyunwei.com/wwwroot/:/tmp/"

Options Includes ExecCGI FollowSymLinks

AllowOverride All

Order allow,deny

Allow from all

#其他的虚拟主机设置方法一样,php安装路径部分,根据服务器上php实际安装路径填写。

#apache使用mod_fcgid模块后,php_admin_value open_basedir 参数就不起作用了,防止php脚本跨站必须去php.ini配置文件中设置。

[HOST=www.osyunwei.com]

[PATH=/data/root/osyunwei.com/www.osyunwei.com/wwwroot/]

open_basedir=/data/root/osyunwei.com/www.osyunwei.com/wwwroot/:/tmp/

4、测试虚拟主机

在虚拟主机目录下上传测试文件,查看php版本信息的变化。

ceshi.php

phpinfo();

?>

打开测试页面,会看到php版本已经变成了7.3

特别注意:

这样配置的apache、php运行模式为apache fastcgi模式,此模式下apache的伪静态规则需要做调整。

如:默认的

RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]

规则在apache fastcgi模式下会导致No input file specified.

修改成

RewriteRule ^(.*)$ index.php [L,E=PATH_INFO:$1]

就正常了。

Thinkphp框架的apache规则.htaccess文件,默认为:

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]

apache fastcgi模式需要调整为:

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_FILENAME} !-f

#RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]

RewriteRule ^(.*)$ index.php [L,E=PATH_INFO:$1]

至此,Linux下apache虚拟主机配置多版本php同时运行教程完成。

linux apache部署php,Linux下apache虚拟主机配置多版本php同时运行 | 系统运维相关推荐

  1. 基于不同IP地址下的虚拟主机配置以及基于不同端口下的虚拟主机配置

    基于不同IP地址下的虚拟主机配置 一.配置vhost.conf(主配置文件) (一).进入主配置文件目录:cd /etc/httpd/conf.d (二).配置主配置文件:vim vhost/conf ...

  2. Ubuntu 下apache2 虚拟主机配置

    一.安装: ubuntu 及debian 下的apahce 有点特别,如果使用apt-get 方式安装( apt-get install apache2 ) 则安装目录默认在 /etc/apache2 ...

  3. yum mysql 启动失败_Linux下MySQL数据库yum升级后无法启动解决办法 | 系统运维

    说明: 操作系统:CentOS 5.8 Web运行环境:Apache+MySQL+PHP(全部使用yum命令在线安装) Apache版本:2.2.3 MySQL版本:5.0.95 PHP版本:5.1. ...

  4. Tomcat服务(部署、虚拟主机配置、优化)

    目录 一.介绍tomcat服务器 1. servlet 2.JSP 3.tomcat核心组件 4.Tomcat处理请求过程 1.Tomcat 功能组件结构 二.tomcat数据流向 三.部署Tomca ...

  5. linux下安装iasp以及apache多站点虚拟主机配置

                      安装配置 1.     linux下安装iasp 1.1需要准备的的安装包: httpd-2.0.59.tar.gz(最好选该版本,2.2版本在安装配置完后启动出错 ...

  6. Linux下Apache虚拟主机配置

    说明: Apache版本:httpd-2.2.31 Apache安装目录:/usr/local/apache 目的: 配置Apache虚拟主机 具体操作: 1.修改Apache主配置文件 cp /us ...

  7. linux apache ip配置,linux apache虚拟主机配置(基于ip,端口,域名)

    配置环境: linux版本:Centos6.4 httpd版本: [[email protected] init.d]# pwd /etc/init.d [[email protected] init ...

  8. 虚拟服务器英文版设置,apache配置(linux及windows中的设置)以及虚拟主机的设置(国外英语资料).doc...

    apache配置(linux及windows中的设置)以及虚拟主机的设置(国外英语资料) apache配置(linux及windows中的设置)以及虚拟主机的设置 Syllabus Apache in ...

  9. linux apache 多域名配置,apache-2.4.12基于域名访问的多虚拟主机配置

    apache-2.4.12基于域名访问的多虚拟主机配置 原始配置: ServerAdmin kk@etiantian.org DocumentRoot "/data/cms" Se ...

最新文章

  1. 解决Office 2010出现the setup controller has encountered a problem...
  2. ES6转ES5:Gulp+Babel
  3. 【C/C++】“std::basic_ios _Elem,_Traits:无法访问private变量在类中的声明”错误原因与解决办法
  4. 连分数求解Pell方程
  5. vue中多行文本标签_vue控制多行文字展开收起的实现示例
  6. c语言编程游戏开代码错误,[蓝桥杯][历届试题]数字游戏 (C语言代码)(兄弟们帮我看一下为什么运行错误86%)...
  7. unknown chromium error 400
  8. 干货 · UI设计|APP引导页面可临摹素材
  9. ma5200g启用mpls l2***故障处理一则
  10. 每天Leetcode 刷题 初级算法篇-打乱数组
  11. 向对象中添加数据_在RMarkdown编译HTML文件中添加数据下载按钮
  12. ionic在app内部打开pdf文件
  13. 水平面:篡命铜钱の1
  14. 机器人导论 学习笔记2 - 运动学(D-H模型)
  15. Little_Women8.txt
  16. Kali Linux入门教程(非常详细)从零基础入门到精通,看完这一篇就够了。
  17. 期货接盘(期货接盘什么意思)
  18. 电子防盗标签 之一:射频软标签 《转》
  19. 怀旧服务器联盟优势,魔兽世界怀旧服阵营怎么选择 联盟和部落区别对比分析...
  20. android 如何修改系统语言

热门文章

  1. c语言编程操作系统,操作系统下c语言编程入门.doc
  2. 器官芯片相关研究最新进展(2023年3月)
  3. 05 比特币价格的含义
  4. 数字化转型成为一把手工程,数字中台总领转型方法论
  5. ML\图像处理等资料汇总
  6. Windows cmd命令行窗口 查看局域网所有IP的简单方法
  7. C语言exit/atexit/_exit的区别
  8. sql server 2005
  9. springboot+vue整合pdf.js实现预览pdf
  10. Linux系统安装Apache