linux apache部署php,Linux下apache虚拟主机配置多版本php同时运行 | 系统运维
学习本教程须掌握:
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同时运行 | 系统运维相关推荐
- 基于不同IP地址下的虚拟主机配置以及基于不同端口下的虚拟主机配置
基于不同IP地址下的虚拟主机配置 一.配置vhost.conf(主配置文件) (一).进入主配置文件目录:cd /etc/httpd/conf.d (二).配置主配置文件:vim vhost/conf ...
- Ubuntu 下apache2 虚拟主机配置
一.安装: ubuntu 及debian 下的apahce 有点特别,如果使用apt-get 方式安装( apt-get install apache2 ) 则安装目录默认在 /etc/apache2 ...
- yum mysql 启动失败_Linux下MySQL数据库yum升级后无法启动解决办法 | 系统运维
说明: 操作系统:CentOS 5.8 Web运行环境:Apache+MySQL+PHP(全部使用yum命令在线安装) Apache版本:2.2.3 MySQL版本:5.0.95 PHP版本:5.1. ...
- Tomcat服务(部署、虚拟主机配置、优化)
目录 一.介绍tomcat服务器 1. servlet 2.JSP 3.tomcat核心组件 4.Tomcat处理请求过程 1.Tomcat 功能组件结构 二.tomcat数据流向 三.部署Tomca ...
- linux下安装iasp以及apache多站点虚拟主机配置
安装配置 1. linux下安装iasp 1.1需要准备的的安装包: httpd-2.0.59.tar.gz(最好选该版本,2.2版本在安装配置完后启动出错 ...
- Linux下Apache虚拟主机配置
说明: Apache版本:httpd-2.2.31 Apache安装目录:/usr/local/apache 目的: 配置Apache虚拟主机 具体操作: 1.修改Apache主配置文件 cp /us ...
- linux apache ip配置,linux apache虚拟主机配置(基于ip,端口,域名)
配置环境: linux版本:Centos6.4 httpd版本: [[email protected] init.d]# pwd /etc/init.d [[email protected] init ...
- 虚拟服务器英文版设置,apache配置(linux及windows中的设置)以及虚拟主机的设置(国外英语资料).doc...
apache配置(linux及windows中的设置)以及虚拟主机的设置(国外英语资料) apache配置(linux及windows中的设置)以及虚拟主机的设置 Syllabus Apache in ...
- linux apache 多域名配置,apache-2.4.12基于域名访问的多虚拟主机配置
apache-2.4.12基于域名访问的多虚拟主机配置 原始配置: ServerAdmin kk@etiantian.org DocumentRoot "/data/cms" Se ...
最新文章
- 解决Office 2010出现the setup controller has encountered a problem...
- ES6转ES5:Gulp+Babel
- 【C/C++】“std::basic_ios _Elem,_Traits:无法访问private变量在类中的声明”错误原因与解决办法
- 连分数求解Pell方程
- vue中多行文本标签_vue控制多行文字展开收起的实现示例
- c语言编程游戏开代码错误,[蓝桥杯][历届试题]数字游戏 (C语言代码)(兄弟们帮我看一下为什么运行错误86%)...
- unknown chromium error 400
- 干货 · UI设计|APP引导页面可临摹素材
- ma5200g启用mpls l2***故障处理一则
- 每天Leetcode 刷题 初级算法篇-打乱数组
- 向对象中添加数据_在RMarkdown编译HTML文件中添加数据下载按钮
- ionic在app内部打开pdf文件
- 水平面:篡命铜钱の1
- 机器人导论 学习笔记2 - 运动学(D-H模型)
- Little_Women8.txt
- Kali Linux入门教程(非常详细)从零基础入门到精通,看完这一篇就够了。
- 期货接盘(期货接盘什么意思)
- 电子防盗标签 之一:射频软标签 《转》
- 怀旧服务器联盟优势,魔兽世界怀旧服阵营怎么选择 联盟和部落区别对比分析...
- android 如何修改系统语言