前言
记录一次部署WordPress5.7版本的步骤
0x01 安装web前端
此次web服务器我选择了轻量化的NGINX+PHP(此教程使用的是软件源安装,也可自行编译安装,PHP编译教程参考这里)
#安装NGINX和PHP
dnf install -y nginx-all-modules php*
#设置nginx和php自动启动
chkconfig nginx on
chkconfig php-fpm on
#新建一个www用户,使PHP和NGINX都以此用户运行以防止权限问题
#新建用户
useradd -s /sbin/nologin www
#将nginx用户也加如www组
gpasswd -a nginx www
#更改NGINX和PHP配置文件,修改为使用www用户运行
#NGINX
nano /etc/nginx/nginx.conf
#找到如下参数
user nginx;
#将nginx修改为www
#PHP
nano /etc/php-fpm.d/www.conf
#找到如下参数
user = nobody
group = nobody
listen.owner = nobody
listen.group = nobody
#将以上的nobody替换为www即可
#启动PHP和NGINX
#PHP
systemctl start php-fpm
#NGINX
直接终端中执行nginx即可
0x02 部署WordPress
#进入www目录
cd /home/www
#下载最新的wordpress
wget https://cn.wordpress.org/latest-zh_CN.tar.gz
#解压wordpress到www目录
tar -zxvf wordpress*.tar
#如果你是以root进行以上操作的请不要忘了更改文件所有者,如果你不更改你会无法正常运行WordPress
chown -R 1000:1000 /home/www
#更改缓存目录的所有者,如果你的wp媒体管理器无法上传文件,多半就是它的权限不对造成的,你也可以多多查看位于/var/log/nginx/error.log的错误日志来精确的确定错误
chown -R 1000:1000 -R /var/lib/nginx
#1000:1000是www用户和用户组的GUID,请根据实际情况自行修改,如果你不知道你用户的GUID是什么,请执行
cat /etc/passwd|grep www
#复制一份默认配置文件修改初始配置
cp wordpress/wp-config-sample.php wordpress/wp-config.php
#填写你的数据库地址,这里我使用了外部SQL数据库作为我的后端储存,如果你想全部部署到本地,请自行选择一个数据库服务器安装
nano www/wordpress/wp-config-sample.php
#找到以下字段,自行填写
#MySQL数据库用户名
define( 'DB_USER', 'root' );
#MySQL数据库密码(填写明文密码)
define( 'DB_PASSWORD', '********' );
#MySQL主机(填写主机IP和端口)
define( 'DB_HOST', '127.0.0.1:3306' );
0x03 添加服务器配置
新建一个配置文件(建议把NGINX的默认监听注释掉)
nano /etc/nginx/conf.d/wordpress.conf
以下为参考配置,请根据实际修改,全部照抄没用的
server {
#监听端口
#IHTTP
listen 80 default_server;
listen [::]:80 default_server;
#HTTPS
listen 443 ssl http2 default_server;
listen [::]:443 ssl http2 default_server;
#绑定的服务器域名
server_name www.gitlx.com;
#SSL配置
ssl_certificate /home/www/ssl/fullchain.pem;
ssl_certificate_key /home/www/ssl/privkey.pem;
ssl_prefer_server_ciphers on;#允许服务器设定协议版本
ssl_session_timeout 15m;
include /home/www/ssl/tls.conf*; #导入ssl支持的协议类型
#重定向https
if ($server_port = "80") {
return 301 https://$server_name$request_uri;
}
#启用HSTS
add_header Strict-Transport-Security max-age=15768000;
#跨域配置
# add_header Access-Control-Allow-Origin *;
#这行代表允许谁来访问,可配置为域名,,*号代表所有
# add_header Access-Control-Allow-Headers X-Custom-Header;
# add_header Access-Control-Allow-Methods GET,POST,OPTIONS; #允许的跨域访问方式
#网站根目录
root "/home/www/wordpress";
index index.html index.htm index.cgi index.php index.php5 ; #允许解析的文件类型
error_page 400 401 402 403 404 405 406 407 408 500 501 502 503 504 505 @error_page;
#最大请求文件大小,需配合修改php.ini使用
client_max_body_size 64m;
#伪静态设置
location / {
try_files $uri $uri/ /index.php?$args;
}
rewrite /wp-admin$ $scheme://$host$uri/ permanent;#使用伪静态方式重写链接
#错误页设置,提供个性化的错误代码页
location @error_page {
root /usr/share/nginx/html;
rewrite ^ /$status.html break;
}
#PHP设置,可以更改监听路径自定义使用不同的PHP版本
location ~* \.(php[345]?|phtml)$ {
fastcgi_pass 127.0.0.1:9001;
include fastcgi.conf;
}
}
0x04 运行WordPress
重新加载NGINX,在浏览器输入你的服务器地址或域名即可正式开始使用WordPress。
nginx -s reload
后记
数据库服务器根据个人喜好自行选择,可以使用云数据可或者本地数据库,本地数据库管理这里我推荐MariaDB+phpMyAdmin的组合对数据库进行管理。
Comments NOTHING