在Ubuntu服务器上使用命令行部署WordPress的完整教程
- Linkreate AI插件 文章
- 2025-08-21 19:29:55
- 14阅读
想要在Ubuntu服务器上通过命令行快速部署WordPress网站,从环境搭建到访问配置一步到位?这篇教程将带你深入实践,掌握从零开始构建WordPress站点的完整流程。我们将使用Nginx作为Web服务器,PHP及必要扩展,MySQL作为数据库,并通过命令行完成所有配置。跟随以下步骤,部署WordPress将变得简单高效,避免常见陷阱。
环境准备
在开始之前,确保你拥有以下条件:
- 一台运行Ubuntu的服务器(推荐Ubuntu 20.04 LTS或更高版本)
- 服务器root用户或具有sudo权限的用户
- 一个已解析到服务器IP的域名
- WordPress网站文件(可以从
wordpress.org
下载最新版本)
核心原理解析
使用命令行部署WordPress涉及以下关键组件及其交互:
- Nginx:作为前端Web服务器,负责接收HTTP请求,并将动态请求(如PHP处理)转发给后端PHP处理器。
- PHP:作为服务器端脚本语言,处理WordPress核心文件、主题和插件的PHP代码。
- MySQL:作为关系型数据库管理系统,存储WordPress的所有数据,包括帖子、页面、用户信息等。
- WordPress:基于PHP的开源内容管理系统,通过上述组件协同工作,实现网站功能。
部署流程的核心是:搭建并配置Nginx、PHP、MySQL环境,然后下载WordPress文件并配置文件权限,最后通过Nginx设置虚拟主机,使浏览器能够访问并完成WordPress安装向导。
实践步骤详解
步骤一:安装Nginx
Nginx作为反向代理服务器,能够高效处理静态文件请求,并将动态请求交给PHP处理器。
- 更新软件源列表:确保获取最新软件包信息。
sudo apt update
- 安装Nginx:使用
apt install
命令自动安装Nginx,并跳过确认提示。sudo apt install nginx -y
- 检查Nginx状态:验证Nginx是否正常启动。
sudo systemctl status nginx
输出显示
active (running)
表示启动成功;若显示inactive (dead)
,则需手动启动并设置开机自启:sudo systemctl start nginx sudo systemctl enable nginx
- 放行HTTP端口:允许外部访问Nginx的80端口。
sudo ufw allow 'Nginx Full'
- 验证安装:在浏览器中访问服务器IP,若出现
Welcome to nginx!
页面,表示Nginx安装成功。
步骤二:安装PHP及扩展
WordPress需要PHP环境来执行动态页面渲染,必须安装PHP及必要的扩展。
- 安装PHP核心:安装PHP 8.1(推荐版本,可根据服务器情况调整)。
sudo apt install php8.1 php8.1-fpm
- 安装必要扩展:WordPress运行需要以下扩展。
sudo apt install php8.1-mysql php8.1-gd php8.1-mbstring php8.1-xml php8.1-curl
其中:
mysql
:连接MySQL数据库gd
:处理图像上传和编辑mbstring
:支持多字节字符集xml
:处理XML数据curl
:实现HTTP请求
- 重启PHP-FPM:使扩展生效。
sudo systemctl restart php8.1-fpm
- 测试PHP:创建一个PHP文件测试环境。
sudo nano /var/www//info.php 输入以下内容 保存并退出 sudo systemctl reload nginx 在浏览器访问 http://your_domain/info.php 删除测试文件 sudo rm /var/www//info.php
若页面显示PHP信息,表示PHP环境配置成功。注意在生产环境应删除
info.php
文件。
步骤三:安装MySQL并创建数据库
WordPress需要数据库存储内容,安装MySQL并创建专用数据库。
- 安装MySQL:
sudo apt install mysql-server -y
- 安全加固:运行安全脚本修改默认密码、删除匿名用户、禁止远程root登录等。
sudo mysql_secure_installation
按提示操作:
- 输入当前root密码(默认无密码)
- 是否删除匿名用户:
Y
- 是否允许root远程登录:
N
- 是否删除测试数据库:
Y
- 是否修改root密码:
Y
(设置新密码)
- 登录MySQL:
sudo mysql -u root -p
- 创建WordPress数据库:
CREATE DATABASE wordpress CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; CREATE USER 'wordpressuser'@'localhost' IDENTIFIED BY 'your_strong_password'; GRANT ALL PRIVILEGES ON wordpress. TO 'wordpressuser'@'localhost'; FLUSH PRIVILEGES; EXIT;
其中:
wordpress
:数据库名wordpressuser
:数据库用户名your_strong_password
:设置强密码
步骤四:下载配置WordPress
下载WordPress文件,并配置文件权限。
- 创建WordPress目录:通常部署在
/var/www/
或/var/www/wordpress
。sudo mkdir /var/www/wordpress sudo chown -R $USER:$USER /var/www/wordpress sudo chmod -R 755 /var/www/wordpress
- 下载WordPress:使用wget获取最新版本。
cd /tmp wget https://wordpress.org/latest.tar.gz tar -xzvf latest.tar.gz sudo mv wordpress/ /var/www/wordpress/ sudo rm -rf /tmp/latest.tar.gz /tmp/wordpress
- 配置WordPress文件权限:确保Web服务器可读写WordPress核心文件。
sudo chown -R www-data:www-data /var/www/wordpress sudo find /var/www/wordpress -type d -exec chmod 750 {} ; sudo find /var/www/wordpress -type f -exec chmod 640 {} ;
- 创建WordPress配置文件:复制示例文件并修改数据库信息。
sudo cp /var/www/wordpress/wp-config-sample.php /var/www/wordpress/wp-config.php sudo nano /var/www/wordpress/wp-config.php
修改以下配置:
define( 'DB_NAME', 'wordpress' ); define( 'DB_USER', 'wordpressuser' ); define( 'DB_PASSWORD', 'your_strong_password' ); define( 'DB_HOST', 'localhost' );
步骤五:配置Nginx虚拟主机
配置Nginx将特定域名请求转发到WordPress。
- 创建虚拟主机配置文件:
sudo nano /etc/nginx/sites-available/wordpress 输入以下内容 server { listen 80; server_name your_domain www.your_domain; root /var/www/wordpress; index index.php index. index.htm; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ .php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php8.1-fpm.sock; } location ~ /.ht { deny all; } }
- 启用虚拟主机:
sudo ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled/ sudo rm /etc/nginx/sites-enabled/default sudo systemctl reload nginx
- 检查Nginx配置:确保无语法错误。
sudo nginx -t
步骤六:完成安装
通过浏览器访问WordPress安装向导,完成初始设置。
- 访问安装页面:在浏览器输入域名。
http://your_domain/
- 按照向导操作:
- 选择语言:中文(简体)
- 数据库信息:
- 数据库类型:MySQL
- 数据库主机:localhost
- 数据库用户:wordpressuser
- 数据库密码:your_strong_password
- 表前缀:可自定义
- 安装WordPress
- 创建管理员账户
- 登录WordPress后台:使用创建的账户信息登录。
http://your_domain/wp-admin/
常见问题与排查
问题一:无法访问网站
现象:浏览器显示“无法打开此网站”或Nginx 404错误。
- 检查Nginx状态:
sudo systemctl status nginx
- 检查配置文件:
sudo nginx -t
若报错,修改
/etc/nginx/sites-available/wordpress
文件中的root
和server_name
路径。 - 检查防火墙:
sudo ufw status
确保端口80已放行。
- 检查WordPress目录权限:
ls -l /var/www/wordpress
应为
drwxr-xr-x
,所有者应为www-data
。
问题二:数据库连接失败
现象:WordPress安装向导提示“无法连接到数据库”。
- 检查数据库用户密码:确保在
wp-config.php
中配置正确。 - 检查数据库用户权限:
sudo mysql -u wordpressuser -p SHOW GRANTS FOR 'wordpressuser'@'localhost'; EXIT;
确保用户拥有所有权限。
- 检查MySQL服务状态:
sudo systemctl status mysql
问题三:PHP-FPM错误
现象:访问WordPress时显示“500 Internal Server Error”。
- 查看PHP-FPM日志:
sudo tail -n 50 /var/log/php8.1-fpm.log
- 检查Nginx错误日志:
sudo tail -n 50 /var/log/nginx/error.log
- 检查PHP扩展:
php -m
确保安装了所有必要扩展。
问题四:安装向导无法加载
现象:浏览器显示空白页或404错误。
- 检查Nginx配置中的
try_files
指令。 - 检查WordPress目录是否可写:
sudo chown -R www-data:www-data /var/www/wordpress sudo chmod -R 755 /var/www/wordpress
- 检查是否有PHP语法错误:
sudo php -l /var/www/wordpress/index.php
优化与维护
WordPress部署完成后,建议进行以下优化与维护操作:
- 更新WordPress核心:定期检查并更新到最新版本。
- 更新主题和插件:确保所有组件安全且功能正常。
- 配置SSL证书:使用Let's Encrypt免费获取SSL证书,实现HTTPS。
sudo apt install certbot python3-certbot-nginx sudo certbot --nginx
- 设置固定链接:在WordPress后台
设置 > 固定链接
选择“文章名”结构。 - 配置缓存:安装如WP Super Cache或W3 Total Cache插件提升性能。
- 定期备份:使用插件或服务器备份工具定期备份网站文件和数据库。