阿里云部署WordPress教程是在阿里云ECS云服务器上安装Nginx、PHP、MySQL,并完成WordPress站点配置、域名绑定和HTTPS访问的完整操作过程。

创建并配置阿里云ECS实例
登录阿里云控制台,进入云服务器ECS产品页面,点击“创建实例”,选择付费方式后,地域建议选择距离访问用户最近的可用区,镜像选择Ubuntu 22.04 64位,实例规格建议至少2核CPU、2GB内存,如果是个人博客或小型站点,2核4GB配置更加稳定。
网络配置选择默认专有网络VPC,并勾选“分配公网IPv4地址”,带宽计费方式可按使用流量或固定带宽,个人站点建议选择按使用流量,峰值带宽设置为5Mbps以上,系统盘选择高效云盘或ESSD云盘,容量建议40GB起步。
创建实例前,在“安全组”配置中放行以下端口:
22端口:SSH远程登录
80端口:HTTP网站访问
443端口:HTTPS加密访问
实例创建完成后,等待状态变为“运行中”,在实例列表中找到公网IP地址,该地址将用于后续SSH登录和域名解析。
如果使用域名访问,需要前往阿里云云解析DNS控制台,添加一条A记录,将域名或子域名解析到ECS公网IP地址。
连接服务器并更新系统
使用SSH客户端连接服务器,Windows可使用PowerShell、CMD或第三方工具,macOS和Linux直接在终端执行:
sshroot@服务器公网IP
首次连接会提示确认主机指纹,输入yes后回车,再输入创建实例时设置的登录密码,如果使用密钥对登录,命令为:
ssh-i/path/to/key.pemroot@服务器公网IP
登录成功后执行系统更新:
aptupdate aptupgrade-y
更新完成后建议重启一次服务器,让内核和基础库生效:
reboot
重新登录后,安装后续需要用到的基础工具:
aptinstall-ywgetcurlunziptar
安装Nginx
执行以下命令安装Nginx:
aptinstall-ynginx
安装完成后启动Nginx并设置开机自启:
systemctlstartnginx systemctlenablenginx
查看运行状态:
systemctlstatusnginx
如果显示active (running),说明Nginx已经正常运行,此时在浏览器输入服务器公网IP,应该能看到Nginx默认欢迎页,如果无法访问,请检查阿里云安全组是否放行80端口。
安装PHP及扩展
Ubuntu 22.04软件源中默认提供PHP 8.1,执行以下命令安装PHP-FPM及WordPress所需扩展:
aptinstall-yphp8.1-fpmphp8.1-mysqlphp8.1-curlphp8.1-gdphp8.1-mbstringphp8.1-xmlphp8.1-zipphp8.1-imagickphp8.1-intlphp8.1-bcmath
启动PHP-FPM并设置开机自启:
systemctlstartphp8.1-fpm systemctlenablephp8.1-fpm
查看PHP-FPM运行状态:
systemctlstatusphp8.1-fpm
PHP-FPM默认监听Unix Socket,路径为/run/php/php8.1-fpm.sock,Nginx将通过该Socket处理PHP请求。
安装并配置MySQL数据库
安装MySQL服务器:
aptinstall-ymysql-server
启动MySQL并设置开机自启:
systemctlstartmysql systemctlenablemysql
Ubuntu的MySQL默认root用户使用auth_socket认证,root命令行可以直接登录,执行以下命令进入MySQL:
mysql
在MySQL命令行中创建WordPress数据库和专用用户:
CREATEDATABASEwordpressDEFAULTCHARACTERSETutf8mb4COLLATEutf8mb4_unicode_ci; CREATEUSER'wpuser'@'localhost'IDENTIFIEDBY'强密码'; GRANTALLPRIVILEGESONwordpress.*TO'wpuser'@'localhost'; FLUSHPRIVILEGES; EXIT;
请将“强密码”替换为至少包含大小写字母、数字和特殊字符的密码,数据库用户建议只允许本地连接,避免远程访问风险。
下载并部署WordPress
进入Web目录并下载WordPress最新版本:
cd/var/www wgethttps://wordpress.org/latest.tar.gz
解压安装包:
tar-xzflatest.tar.gz
解压后得到wordpress目录,将目录权限赋予Nginx和PHP-FPM的运行用户www-data:
chown-Rwww-data:www-data/var/www/wordpress
find/var/www/wordpress-typed-execchmod755{}\;
find/var/www/wordpress-typef-execchmod644{}\;复制WordPress示例配置文件为正式配置:
cp/var/www/wordpress/wp-config-sample.php/var/www/wordpress/wp-config.php
编辑配置文件:
nano/var/www/wordpress/wp-config.php
修改数据库连接信息:
define('DB_NAME','wordpress');
define('DB_USER','wpuser');
define('DB_PASSWORD','强密码');
define('DB_HOST','localhost');继续向下找到认证唯一密钥部分,使用WordPress官方接口生成随机盐值:
curl-shttps://api.wordpress.org/secret-key/1.1/salt/
替换配置文件中对应的AUTH_KEY、SECURE_AUTH_KEY、LOGGED_IN_KEY、NONCE_KEY、AUTH_SALT、SECURE_AUTH_SALT、LOGGED_IN_SALT、NONCE_SALT八行内容,保存并退出编辑器。
配置Nginx虚拟主机
新建Nginx站点配置文件:
nano/etc/nginx/sites-available/wordpress
写入以下配置:
server{
listen80;
server_nameexample.comwww.example.com;
root/var/www/wordpress;
indexindex.phpindex.htmlindex.htm;
location/{
try_files$uri$uri//index.php?$args;
}
location~\.php${
includesnippets/fastcgi-php.conf;
fastcgi_passunix:/run/php/php8.1-fpm.sock;
}
location~/\.ht{
denyall;
}
location=/favicon.ico{
log_not_foundoff;
access_logoff;
}
location=/robots.txt{
log_not_foundoff;
access_logoff;
allowall;
}
location~*\.(css|gif|ico|jpeg|jpg|js|png)${
expiresmax;
log_not_foundoff;
}
}将example.com和www.example.com替换为实际域名,启用站点配置:
ln-s/etc/nginx/sites-available/wordpress/etc/nginx/sites-enabled/
测试Nginx配置是否正确:
nginx-t
显示syntax is ok和test is successful后,重载Nginx:
systemctlreloadnginx
申请并配置HTTPS证书
安装Certbot及Nginx插件:
aptinstall-ycertbotpython3-certbot-nginx
执行以下命令为域名申请证书:
certbot--nginx-dexample.com-dwww.example.com
根据提示输入邮箱地址,同意服务条款并选择是否跳转到HTTPS,Certbot会自动修改Nginx配置并申请Let's Encrypt免费证书。
如果需要无人值守方式申请,可以执行:
certbot--nginx-dexample.com-dwww.example.com--redirect--non-interactive--agree-tos-madmin@example.com
证书默认有效期为90天,Certbot安装时会自动配置续期定时任务,手动测试续期:
certbotrenew--dry-run
如果测试成功,HTTPS证书会自动续期。
完成WordPress安装
在浏览器中访问https://example.com,进入WordPress安装页面,选择语言后,填写站点标题、管理员用户名、密码和管理员邮箱,管理员用户名不要使用admin,密码应使用强密码。
点击“安装WordPress”按钮,系统会创建数据表并完成安装,安装完成后进入登录页面,输入刚刚创建的管理员账号和密码。
登录WordPress后台,进入“设置”->“固定链接”,选择“文章名”结构,点击保存更改,Nginx已经配置了try_files规则,该固定链接设置无需额外修改即可生效。
安全与维护
修改MySQL配置,确保数据库仅监听本地地址:
nano/etc/mysql/mysql.conf.d/mysqld.cnf
确认或添加以下内容:
bind-address=127.0.0.1
重启MySQL:
systemctlrestartmysql
在阿里云安全组中,将22端口的来源IP限制为固定办公IP或家庭IP,避免SSH端口暴露在公网,若无法固定IP,可安装fail2ban减少暴力免费风险:
aptinstall-yfail2ban systemctlenablefail2ban systemctlstartfail2ban
定期备份WordPress文件和数据库,数据库备份命令:
mysqldump-uwpuser-pwordpress>/var/backups/wordpress.sql
文件备份命令:
tar-czf/var/backups/wordpress.tar.gz/var/www/wordpress
建议将备份文件定期上传至阿里云OSS或下载到本地保存,同时开启阿里云ECS快照策略,每天自动创建快照,WordPress核心、插件和主题发布新版本后,应及时在后台进行更新,更新前先执行一次完整备份。