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’
点击下方图标一键加入!