LHIDC

香港服务器部署WordPress网站:Ubuntu 22.04 LTS与Nginx环境配置要点

面向在香港服务器新建单站点的站长,说明部署前置条件、组件安装、数据库与权限配置,以及HTTPS启用步骤。通过服务状态、日志和网站功能验证上线结果,并提供常见错误定位与备份回滚方法。

香港服务器部署WordPress网站:Ubuntu 22.04 LTS与Nginx环境配置要点

在香港服务器上部署 WordPress,需要先让 Nginx、PHP-FPM 和数据库正常协作,再完成域名解析、HTTPS 与后台初始化。以下以 Ubuntu 22.04 LTS、系统软件源中的 Nginx、PHP 8.1-FPM 和 MySQL 为基础,适用于新建单站点;已有网站不要直接覆盖配置,应先备份并在独立目录验证。

香港服务器的位置主要影响访问链路,不改变安装方法。部署完成的判断标准也不只是“首页能打开”,还应包括 HTTPS 正常、固定链接可用、媒体能上传,以及服务日志没有持续报错。

先确认环境与入口

准备具备 sudo 权限的账号、域名和服务器公网地址,并确认:

  • 域名 A 记录指向服务器;若设置 AAAA 记录,IPv6 也必须能正常到达。
  • 云端安全规则及系统防火墙允许 TCP 80、443;修改规则前保留当前 SSH 管理端口,避免断开后无法登录。
  • MySQL 仅供本机访问,不向公网开放 3306。
  • 已创建服务器快照;现有业务还需单独备份数据库、网站文件及 /etc/nginx,备份不要放进网站目录。

检查系统和端口:

cat /etc/os-release
sudo ss -lntp
sudo ufw status

系统应显示 Ubuntu 22.04。若 80、443 已被 Apache 或其他服务占用,先确认其用途,不要直接停止。

Ubuntu 22.04 官方软件源提供 PHP 8.1,但系统维护周期不等于插件兼容周期。安装前核对 Ubuntu 软件包信息WordPress 官方环境要求。若目标版本、主题或插件要求更高版本 PHP,应先调整运行环境,不要绕过兼容检查。

安装组件并建立数据库

以下命令针对新环境,不会主动覆盖已有站点,但安装服务可能尝试监听端口:

sudo apt update
sudo apt install nginx mysql-server php8.1-fpm php8.1-mysql \
  php8.1-curl php8.1-gd php8.1-mbstring php8.1-xml \
  php8.1-zip php8.1-intl curl ca-certificates
sudo systemctl enable --now nginx mysql php8.1-fpm
php -v
nginx -v

WordPress 通过 PHP 的 MySQL 扩展连接数据库,Nginx 本身不直接读写数据库。为站点创建独立账号,避免使用数据库 root 账号。

先执行 sudo mysql,再输入以下 SQL。必须替换示例密码;若数据库或用户已经存在,应先核对用途,不要删除重建。

CREATE DATABASE wordpress
  CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'wpuser'@'localhost'
  IDENTIFIED BY 'Replace_With_A_Unique_Strong_Password';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'localhost';
EXIT;

验证连接:

mysql -u wpuser -p -h localhost wordpress -e "SELECT 1;"

输入密码后返回 1,说明账号、密码和数据库授权可用。

准备 WordPress 文件

以下路径 /var/www/wp 必须是新建或空目录。官方下载地址会提供当前版本,部署前应核对兼容性,并保留实际安装版本记录。

workdir=$(mktemp -d)
curl -fL https://wordpress.org/latest.tar.gz -o "$workdir/wordpress.tar.gz"
tar -xzf "$workdir/wordpress.tar.gz" -C "$workdir"
sudo install -d -m 755 /var/www/wp
sudo cp -a "$workdir/wordpress/." /var/www/wp/
sudo chown -R root:root /var/www/wp
sudo find /var/www/wp -type d -exec chmod 755 {} \;
sudo find /var/www/wp -type f -exec chmod 644 {} \;
sudo chown -R www-data:www-data /var/www/wp/wp-content
sudo cp /var/www/wp/wp-config-sample.php /var/www/wp/wp-config.php
sudoedit /var/www/wp/wp-config.php

在配置文件中修改已有的四项,不要重复追加:

define( 'DB_NAME', 'wordpress' );
define( 'DB_USER', 'wpuser' );
define( 'DB_PASSWORD', '替换为刚才设置的数据库密码' );
define( 'DB_HOST', 'localhost' );

同时将认证密钥替换为 WordPress 官方生成的随机值,不要使用示例密钥。保存后限制配置文件权限:

sudo chown root:www-data /var/www/wp/wp-config.php
sudo chmod 640 /var/www/wp/wp-config.php

该权限方案允许 WordPress 写入插件、主题和上传目录,但不允许 PHP 随意修改核心文件。核心升级需由管理员执行,并在升级后复核权限;不要用全站 777 解决写入问题。

配置 Nginx 与 PHP-FPM

创建 /etc/nginx/sites-available/wp。示例域名 example.com 必须替换为实际域名;已有同名文件时,先备份再编辑。

server {
    listen 80;
    server_name example.com;
    root /var/www/wp;
    index index.php index.html;

    client_max_body_size 32m;

    access_log /var/log/nginx/wp_access.log;
    error_log /var/log/nginx/wp_error.log;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location = /wp-config.php {
        deny all;
    }

    location ~* ^/wp-content/uploads/.*\.php$ {
        deny all;
    }

    location ~ /\.(?!well-known/) {
        deny all;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php8.1-fpm.sock;
    }
}

try_files 将不存在的静态路径交给 WordPress,保证固定链接可用;fastcgi_pass 则将 PHP 请求交给 PHP-FPM。先检查套接字,再启用站点:

ls -l /run/php/php8.1-fpm.sock
sudo ln -s /etc/nginx/sites-available/wp /etc/nginx/sites-enabled/wp
sudo nginx -t

若链接已经存在,不要强制覆盖。只有配置检查成功后才执行:

sudo systemctl reload nginx
curl -I -H 'Host: example.com' http://127.0.0.1/

返回 200,或重定向到安装入口的 301/302,通常说明请求已进入站点;还需核对重定向地址,不能只看状态码。

如需上传较大文件,应同步检查 /etc/php/8.1/fpm/php.iniupload_max_filesizepost_max_size,后者应大于前者。修改后先运行 sudo php-fpm8.1 -t,通过后再 reload PHP-FPM。

HTTPS 与上线验证

域名公网解析正确、80 和 443 可访问后,可使用 Ubuntu 软件源中的 Certbot 配置证书。它会修改 Nginx 配置,操作前再次备份 /etc/nginx

sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d example.com
sudo certbot renew --dry-run

随后通过 https://example.com 完成安装,设置独立的管理员账号和强密码,避免在明文 HTTP 下提交后台凭据。

按以下顺序验收:

systemctl is-active nginx php8.1-fpm mysql
sudo ss -lntp
sudo journalctl -u nginx -u php8.1-fpm -u mysql --since "10 minutes ago" --no-pager
curl -I https://example.com/

三个服务均应返回 active,但这只说明进程运行,并不代表网站功能正常。继续确认:

  • 80、443 由预期服务监听,数据库未暴露公网。
  • journalctl 没有反复启动失败或配置错误;应用请求错误还需查 Nginx 站点日志。
  • HTTPS 没有证书报错、循环跳转或错误域名跳转。
  • 后台能登录,文章固定链接能打开,图片可上传且能访问。

失败时先定位,再回退

现象 优先检查
显示 Nginx 默认页面 域名解析、server_name 及站点软链接;直接访问 IP 不一定命中本站
返回 502 PHP-FPM 状态、套接字路径及 /var/log/nginx/wp_error.log
提示数据库连接失败 重做数据库连接测试,核对 wp-config.php 的账号与密码
首页正常、文章 404 检查 try_files,并在后台重新保存固定链接设置
上传返回 413 检查 Nginx 请求体限制与 PHP 上传限制

查看请求错误:

sudo tail -n 50 /var/log/nginx/wp_error.log
sudo journalctl -u php8.1-fpm --since "10 minutes ago" --no-pager

若修改后异常,恢复备份的配置并先做语法检查,通过后再 reload。首次启用的新站点可停用其软链接、保留源文件;不要删除数据库来“重试安装”。涉及 WordPress 升级时,文件与数据库应恢复到同一备份时间点。

上线后的优化顺序应是:先落实文件与数据库的异机备份,再配置页面缓存,随后检查 PHP 和数据库资源,最后从目标访客网络观察访问链路。仅凭页面慢,不能直接判断是香港服务器带宽不足;应先区分网络耗时、PHP 执行耗时和外部资源加载问题。

上一篇 香港服务器交付后如何验收?检查三网路由、CPU、硬盘与实际带宽 下一篇 香港GPU服务器高负载排查:从CPU、内存、磁盘I/O、连接数到进程状态

LHIDC 产品中心

继续查看可购买的海外服务器产品

文章用于辅助选型,最终价格、库存与配置请以产品详情页和下单页面展示为准。

查看产品 查看方案