环境准备
官方教程:https://developer.wordpress.org/advanced-administration/before-install/
AI 引导:https://chatgpt.com/share/6a2639de-9ea8-83a7-b73a-38cc201a2d0c
我现在要在 centos 上部署 wordpress,使用的数据库是 MariaDB,之后再使用 nginx 反向代理,并使用 certbot 进行 ssl 证书添加
请告诉我具体的步骤
系统:Centos Stream 9
sudo dnf update -y
sudo dnf install -y epel-release
sudo dnf install -y wget curl unzip vim policycoreutils-python-utils
数据库:MariaDB
sudo dnf install -y mariadb-server mariadb
sudo systemctl enable --now mariadb
# 初始化安全配置:
sudo mysql_secure_installation
# Settings
# Set root password? Y
# Remove anonymous users? Y
# Disallow root login remotely? Y
# Remove test database? Y
# Reload privilege tables? Y
# 创建 WordPress 数据库和用户
sudo mysql -u root -p
CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'wpuser'@'localhost' IDENTIFIED BY '请换成强密码';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
代理:Nginx
从这一步开始需要调整,我需要使用 nginx + php 插件直接来运行 Wordpress,不需要再多安装一个 apache
ps:我的系统是 centos stream 9
安装
sudo dnf install -y nginx
sudo dnf install -y php php-fpm php-mysqlnd php-gd php-xml php-mbstring php-curl php-zip php-intl php-json php-opcache
sudo systemctl enable --now nginx
sudo systemctl enable --now php-fpm
# 配置 php-fpm
sudo vim /etc/php-fpm.d/www.conf
安装:Wordpres
# 下载并放置 WordPress
cd /tmp
wget https://wordpress.org/latest.tar.gz
sudo dnf install tar
tar -xzf latest.tar.gz
# 移动源码
sudo mkdir -p /var/www
sudo mv wordpress /var/www/wordpress
# 设置文件权限
sudo chown -R nginx:nginx /var/www/wordpress
sudo find /var/www/wordpress -type d -exec chmod 755 {} \;
sudo find /var/www/wordpress -type f -exec chmod 644 {} \;
配置 Wordpress:
cd /var/www/wordpress
sudo cp wp-config-sample.php wp-config.php
sudo vim wp-config.php
配置 nginx
sudo mkdir -p /etc/nginx/sites-available
sudo mkdir -p /etc/nginx/sites-enabled
sudo vim /etc/nginx/nginx.conf
# 添加下面这一行
include /etc/nginx/sites-enabled/*;
# 变成
http {
...
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
sudo vim /etc/nginx/sites-available/wordpress
# 添加内容后 :wq 保存退出
# 软链接
sudo ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled/wordpress
# 测试配置是否正确
sudo nginx -t
# 应用新配置
sudo systemctl reload nginx
参考配置(域名需替换):
server {
listen 80;
server_name example.com www.example.com;
root /var/www/wordpress;
index index.php index.html index.htm;
client_max_body_size 64M;
access_log /var/log/nginx/wordpress_access.log;
error_log /var/log/nginx/wordpress_error.log;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
}
location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg|webp|avif|woff|woff2|ttf|eot)$ {
expires max;
log_not_found off;
}
location ~ /\.ht {
deny all;
}
location = /xmlrpc.php {
deny all;
}
}
绑定域名:Cloudflare
Cloudflare - 域名 - DNS - 添加 A 记录
配置 SSL 证书
sudo dnf install -y epel-release
sudo dnf update -y
sudo dnf install -y certbot python3-certbot-nginx
certbot --version
# 申请证书(替换域名)
sudo certbot --nginx -d example.com
# 更新 nginx 配置
sudo nginx -t
sudo systemctl reload nginx
页面配置:
- 输入地址:wp.justincourse.site
- 按向导配置(最好尽快)
课程讨论与答疑
提问默认仅你和管理员可见;管理员精选后会作为公开讨论展示。