在 CentOS 系统下,可以通过 LNMP(Linux + Nginx + MySQL/MariaDB + PHP)或 LAMP(Linux + Apache + MySQL/MariaDB + PHP)架构来搭建 WordPress。以下是详细的步骤说明。
一、准备工作
1. 更新系统
sudo yum update -y
2. 安装常用工具(可选)
sudo yum install -y wget curl vim net-tools epel-release
二、选择方案:LNMP 或 LAMP
⚠️ 注意:Nginx 和 Apache 不建议同时运行,避免端口冲突(默认都是80端口)。选择一种即可。
方案一:LNMP 搭建 WordPress(推荐用于高性能场景)
1. 安装 Nginx
sudo yum install -y nginx
sudo systemctl enable nginx
sudo systemctl start nginx
设置防火墙允许 HTTP/HTTPS:
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
测试访问:浏览器打开 http://你的服务器IP,应看到 Nginx 欢迎页。
2. 安装 MariaDB(MySQL 替代品)
sudo yum install -y mariadb-server mariadb
sudo systemctl enable mariadb
sudo systemctl start mariadb
安全初始化(设置 root 密码、删除匿名用户等):
sudo mysql_secure_installation
按提示操作即可。
3. 安装 PHP 及相关模块(WordPress 所需)
安装 PHP 7.4(CentOS 7/8 默认可能较旧,推荐使用 Remi 源):
启用 EPEL 和 Remi 源(以 CentOS 7 为例):
sudo yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
sudo yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm
启用 PHP 7.4:
sudo yum-config-manager --enable remi-php74
sudo yum install -y php php-fpm php-mysql php-gd php-xml php-mbstring php-zip php-curl
启动并启用 PHP-FPM:
sudo systemctl enable php-fpm
sudo systemctl start php-fpm
4. 配置 Nginx 支持 PHP
编辑站点配置文件:
sudo vim /etc/nginx/conf.d/wordpress.conf
写入以下内容(替换 your_domain.com 为实际域名或 IP):
server {
listen 80;
server_name your_domain.com;
root /var/www/html/wordpress;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ .php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /.ht {
deny all;
}
}
重启 Nginx:
sudo systemctl restart nginx
5. 创建数据库和用户(用于 WordPress)
登录 MariaDB:
mysql -u root -p
执行 SQL 命令:
CREATE DATABASE wordpress CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'strong_password';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
6. 下载并部署 WordPress
创建网站目录:
sudo mkdir -p /var/www/html/wordpress
cd /var/www/html/wordpress
下载 WordPress(最新中文版):
sudo wget https://cn.wordpress.org/latest-zh_CN.tar.gz
sudo tar -zxvf latest-zh_CN.tar.gz --strip-components=1
设置权限:
sudo chown -R nginx:nginx /var/www/html/wordpress
sudo chmod -R 755 /var/www/html/wordpress
注意:Nginx 使用
nginx用户运行,确保权限正确。
7. 完成 WordPress 安装
浏览器访问:http://your_domain.com
按照向导填写数据库信息:
- 数据库名:
wordpress - 用户名:
wpuser - 密码:你设置的密码
- 数据库主机:
localhost - 表前缀:
wp_(可自定义)
继续完成安装即可。
方案二:LAMP 搭建 WordPress(适合初学者)
1. 安装 Apache
sudo yum install -y httpd
sudo systemctl enable httpd
sudo systemctl start httpd
防火墙放行:
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --reload
测试:访问 http://IP 应看到 Apache 测试页。
2. 安装 MariaDB(同 LNMP 步骤)
略(同上)
3. 安装 PHP(同上,使用 Remi 源)
sudo yum install -y php php-mysql php-gd php-xml php-mbstring php-zip php-curl
无需安装 php-fpm,Apache 直接通过 libphp 模块处理 PHP。
重启 Apache:
sudo systemctl restart httpd
4. 创建数据库(同上)
CREATE DATABASE wordpress;
CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL ON wordpress.* TO 'wpuser'@'localhost';
FLUSH PRIVILEGES;
5. 部署 WordPress
cd /var/www/html
sudo wget https://cn.wordpress.org/latest-zh_CN.tar.gz
sudo tar -zxvf latest-zh_CN.tar.gz
sudo mv wordpress/* wordpress/.htaccess .
sudo chown -R apache:apache /var/www/html
sudo chmod -R 755 /var/www/html
6. 完成安装
浏览器访问:http://your_ip/
按向导填写数据库信息,完成安装。
三、常见问题与优化建议
1. 权限问题
- LNMP:确保
/var/www/html/wordpress属于nginx:nginx - LAMP:属于
apache:apache
2. PHP 配置优化
编辑 /etc/php.ini:
upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 300
修改后重启服务(Nginx+PHP-FPM 需重启 php-fpm)。
3. 启用 HTTPS(推荐)
使用 Let’s Encrypt 免费证书:
sudo yum install -y certbot python3-certbot-nginx # LNMP
# 或
sudo yum install -y certbot python3-certbot-apache # LAMP
然后运行:
sudo certbot --nginx -d your_domain.com # LNMP
# 或
sudo certbot --apache -d your_domain.com # LAMP
总结
| 架构 | 优点 | 适用场景 |
|---|---|---|
| LNMP | 资源占用少,并发高 | 高流量网站、VPS 资源有限 |
| LAMP | 配置简单,兼容性好 | 初学者、传统项目 |
✅ 推荐新手从 LAMP 开始,熟练后再尝试 LNMP。
如需自动化部署,也可考虑使用 宝塔面板(支持 CentOS)简化管理。
秒懂云