安装PHP
从网站 http://rpms.remirepo.net/enterprise/ 找到系统对应的rpm
现在是CentOS8,这里使用 http://rpms.remirepo.net/enterprise/remi-release-8.rpm
sudo dnf -y install https://rpms.remirepo.net/enterprise/remi-release-8.rpm
查看是否安装成功:
sudo yum repolist
显示有 remi-modular 和 remi-safe 就表示安装成功了!
查看可以安装的版本:
sudo dnf module list php
找到需要安装的版本,并记下Stream列对应的名称,比如8.0版本就有两个选择 8.0 和 remi-8.0
设定PHP版本:
sudo dnf module reset php
sudo dnf module enable php:remi-8.1
安装PHP
sudo dnf -y install php
sudo dnf -y install php php-gd php-mysqlnd
其中后面几个模块是WordPress所需要的,可以酌情安装。
配置php-fpm,配置文件 /etc/php-fpm.d/www.conf,调整如下行的设置,与nginx启动用户一致:
user = username
group = group
启动php-fpm
sudo systemctl enable --now php-fpm
配置Nginx
以 WordPress 为例
设置nginx启动用户和组,配置文件 /etc/nginx/nginx.conf
# user nginx; 这个是默认用户,如果这里不调整php-fpm的配置就要设置成nginx
user username group;
在nginx的配置目录下 /etc/nginx/conf.d/ 新建一个配置文件 wordpress.conf
server {
listen 2000;
server_name wordpress.site.com;
location / {
root /home/wordpress;
index index.php index.html index.htm;
autoindex off;
autoindex_exact_size off;
autoindex_localtime on;
}
location ~ \.php$ {
try_files $uri = 404;
root /home/wordpress;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
include fastcgi_params;
}
}
WordPress里的文件也要设置为同样的用户。
chown -R username:group /home/wordpress
可能遇到的问题
Nginx 和 php-fpm 一定要设置相同的用户名和组,不然会文件权限不足。
下面这个问题的原因是路径上的目录没有访问权限
open() "/var/lib/nginx/tmp/fastcgi/2/00/0000000002" failed (13: Permission denied)
把 fastcgi 目录的权限设置为755就好了。