CentOS7 使用Apache部署PHP(WordPress) 以及配置伪静态

5 篇文章 0 订阅
5 篇文章 0 订阅

PHP的安装请看:CentOS7 使用webtatic源 yum方式安装php7

如果你是先安装的Apache再安装的PHP,那么PHP安装完之后,需要重启Apache加载PHP配置文件(PHP配置文件自动生成,看完就懂了)

相比于Nginx,Apache部署wordpress更简单一些,主要体现在伪静态配置和PHP解释器配置上。了解Nginx部署WordPress可以看CentOS7 使用Nginx部署PHP(WordPress) & 伪静态配置

安装&配置Apache

yum方式安装Apache

yum install httpd -y

检查是否安装成功:httpd -v

把你的wordpress项目用ftp传到/var/www/html
配置虚拟主机

vim /etc/httpd/conf/httpd.conf
<VirtualHost *:80>
    DocumentRoot "/var/www/html/wordpress"
    ServerName xx.com #你的域名或ip
    # 设置索引文件
    DirectoryIndex index.html index.php
    <Directory "/var/www/html/wordpress">
    	# 关掉目录浏览功能,安全一些
    	# 	(在httpd.conf中可以看到:Apache在var/www/html目录默认开启了目录浏览功能,所以这里要写减号,目的是覆盖上层目录的配置)
        options -indexes
        # 伪静态相关配置,会读取目录下的.htaccess文件,这个文件由wordpress自动生成,用于伪静态
        AllowOverride All
    </Directory>
</VirtualHost>

启动Apache

systemctl start httpd
# 设置开机自启动
systemctl enable httpd

成功访问地址xx.com
在这里插入图片描述

拓:Apache和PHP的交互解析

感兴趣的朋友或许会发现,我们使用Nginx部署PHP时是需要配置fastcgi反向代理的(参考使用Nginx部署PHP(WordPress)),但是Apache却不用:我们从未手动配置过PHP和Apache,但是Apache却能正常解析PHP,这是为什么呢

经过测试(初始化服务器,php和apache各先后安装一次)后发现

PHP安装(yum install php72w指令)时,会在Apache的modules中(/usr/lib64/httpd/modules)加入以下两个文件
在这里插入图片描述
以及在conf中(/etc/httpd/conf.modules.d)加入以下文件
在这里插入图片描述
文件内容
在这里插入图片描述
即使没有安装Apache,先安装PHP,也是如此
在这里插入图片描述
这下应该明白了,至少心里的疑惑没有了

那么也应该知道一件事,这里我是用的yum安装的PHP和Apache,默认目录两个都能对的上,PHP安装的lib文件和conf文件正好可以在Apache默认配置范围内
但如果是编译安装,或者其他安装,很有可能会出现Apache解析不了php文件的情况,那么只需找到这两个lib文件,在Apache的配置中加载上即可!

心里的疑惑暂时解除,如果想要了解Apache和PHP之间工作的原理,可以参考:apache-php底层工作原理,这篇文章里的mod_php.so就是libphp7.so
(可以搜索一些 ‘Apache不能解析php’ 的文章,解决方法都是加载libphp7.so文件)


😁欢迎加入QQ群交流: [游戏-Web-开发技术栈 ☄️] '300567032’
点击下方图标一键加入!
游戏-Web-开发技术栈 ☄


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值