如何在Ubuntu上使用命令行部署WordPress并实现网站自动更新
- Linkreate AI插件 文章
- 2025-08-24 04:20:36
- 13阅读
环境搭建:安装Nginx、PHP和MySQL
首先,确保你的Ubuntu服务器已经更新到最新版本。打开终端,执行以下命令更新软件源列表:
sudo apt update
接下来,安装Nginx,这是一个高性能的Web服务器:
sudo apt install nginx -y
安装完成后,检查Nginx是否正常运行:
sudo systemctl status nginx
如果输出显示active (running)
,说明Nginx已正常启动。如果显示inactive (dead)
,则需要手动启动:
sudo systemctl start nginx
并设置开机自启:
sudo systemctl enable nginx
放行HTTP端口:
sudo ufw allow 'Nginx Full'
在浏览器中访问服务器IP,如果出现“Welcome to nginx!”页面,说明Nginx安装成功。
安装PHP及其扩展
WordPress运行需要PHP环境,安装以下PHP及其扩展:
sudo apt install php php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip -y
查看PHP版本:
php -v
确认PHP-FPM状态:
sudo systemctl status php8.3-fpm
注意根据实际安装的PHP版本调整命令中的版本号。
安装MySQL并创建数据库
安装MySQL服务器:
sudo apt install mysql-server -y
启动MySQL并设置开机自启:
sudo systemctl enable mysql
sudo systemctl start mysql
确认MySQL服务状态:
sudo systemctl status mysql
接下来,登录MySQL并创建一个数据库供WordPress使用:
sudo mysql
在MySQL提示符下执行以下命令:
CREATE DATABASE wordpress_db;
CREATE USER 'wordpress_user'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON wordpress_db. TO 'wordpress_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
替换your_password
为你自己的密码。
下载并配置WordPress
切换到Nginx的默认网站目录:
cd /var/www/
下载最新版本的WordPress:
sudo wget https://wordpress.org/latest.tar.gz
解压下载的文件:
sudo tar -xvzf latest.tar.gz
将解压后的文件移动到网站根目录:
sudo mv wordpress/ .
删除多余的文件和目录:
sudo rm -rf wordpress latest.tar.gz
设置目录权限,确保Nginx和PHP-FPM可以访问:
sudo chown -R www-data:www-data /var/www/
sudo find /var/www/ -type f -exec chmod 644 {} ;
sudo find /var/www/ -type d -exec chmod 755 {} ;
配置Nginx虚拟主机
创建一个新的Nginx配置文件:
sudo nano /etc/nginx/sites-available/wordpress
添加以下配置内容:
server {
listen 80;
server_name your_domain_or_IP;
root /var/www/;
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.3-fpm.sock;
}
location ~ /.ht {
deny all;
}
}
替换your_domain_or_IP
为你的域名或服务器IP地址。保存并关闭文件。
启用新的配置文件:
sudo ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled/
sudo nginx -t
如果配置无误,重启Nginx:
sudo systemctl restart nginx
完成WordPress安装
在浏览器中访问你的域名或服务器IP,按照提示完成WordPress的安装。输入之前创建的数据库信息,设置网站标题、用户名和密码。
实现WordPress网站的自动更新
为了确保WordPress及其插件和主题始终保持最新状态,可以通过设置cron任务来实现自动更新。
编辑crontab文件:
sudo crontab -e
添加以下行以每天检查并更新WordPress:
0 0 wp --path=/var/www/ core update --_minor
同样,添加以下行以每天更新插件和主题:
0 0 wp --path=/var/www/ plugin update --all
0 0 wp --path=/var/www/ theme update --all
保存并退出编辑器。这样,你的WordPress网站将每天自动进行小版本更新,插件和主题也会保持最新。
常见问题与排查
问题1:Nginx启动失败
检查Nginx配置文件是否有误:
sudo nginx -t
根据提示修正配置文件,然后重启Nginx:
sudo systemctl restart nginx
问题2:PHP-FPM无法启动
检查PHP-FPM的状态:
sudo systemctl status php8.3-fpm
如果发现错误,查看日志文件:
sudo tail -f /var/log/php8.3-fpm.log
根据日志提示进行相应的修复。
问题3:WordPress安装时无法连接数据库
确保数据库用户和密码正确,检查MySQL服务是否正常运行:
sudo systemctl status mysql
如果服务未运行,启动MySQL:
sudo systemctl start mysql
检查防火墙设置,确保MySQL端口(默认3306)未被封锁。
问题4:自动更新失败
检查cron任务是否正确设置:
crontab -l
确保wp命令可执行,路径正确。如果wp命令未找到,安装WP-CLI工具:
sudo wget https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
sudo chmod +x wp-cli.phar
sudo mv wp-cli.phar /usr/local/bin/wp
重新设置cron任务。
通过以上步骤,你可以在Ubuntu上成功部署WordPress,并实现网站的自动更新,确保网站的安全性和最新性。