1. 先选择一条部署路线#
静态站点只需 Web 服务;WordPress 还需要 PHP 和数据库;Node/Python 应用通常由反向代理转发给独立进程。不要同时安装宝塔、LNMP 脚本和手工 Nginx,让多个管理方式争用 80/443 或覆盖配置。
| 网站类型 | 典型组成 | 重点检查 |
|---|---|---|
| 静态 HTML | Nginx/Apache/Caddy | 根目录、域名、缓存 |
| WordPress | Web 服务 + PHP-FPM + 数据库 | PHP 扩展、权限、数据库连接 |
| Node/Python | 应用进程 + 反向代理 | 本地监听、进程管理、超时 |
下面先在 Ubuntu 上搭一个最小静态站,确认域名与服务链路,再增加应用组件。
2. 安装 Nginx 并确认端口#
sudo apt update
sudo apt install nginx
sudo systemctl enable --now nginx
sudo ss -lntp
curl -I http://127.0.0.1/若 80 端口已被 Apache、Caddy 或容器占用,先确认已有业务,不能直接停止它。为自己的站点准备独立根目录,例如 /var/www/example.com/public,放入 index.html,让 Web 服务用户具有读取和目录遍历权限。
3. 创建域名对应的站点配置#
Ubuntu 的 Nginx 常用 sites-available/sites-enabled 布局。新建独立站点配置,域名和目录替换为实际值。
server {
listen 80;
server_name example.com;
root /var/www/example.com/public;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}启用这个站点后检查配置,成功再 reload。不要用通配符删除其他网站的配置;默认站点是否禁用取决于当前服务器是否已有业务。
sudo nginx -t
sudo systemctl reload nginx
curl -I -H 'Host: example.com' http://127.0.0.1/4. PHP 网站需要单独接好运行时#
从系统源安装应用支持的 PHP-FPM、数据库客户端及所需扩展,检查 /run/php/ 下实际 socket。Nginx 本身不会执行 PHP,需要将 PHP 请求交给 PHP-FPM,并正确设置 SCRIPT_FILENAME。
不要把未配置 PHP 的站点直接上线,避免 PHP 源码被当作静态文件下载。测试环境可以短暂使用诊断页面,确认后立即删除;不要长期公开 phpinfo,它可能暴露系统配置。
数据库创建独立站点用户,只授权该站数据库;应用不使用数据库 root。完整步骤继续看WordPress 安装。
5. 反向代理应用时仅公开必要入口#
Node/Python 应用监听 127.0.0.1:3000 等本地端口,再由 Web 服务转发,应用进程交给 systemd 或 Compose。代理需要按应用要求传递 Host、客户端地址和 HTTPS 信息;WebSocket 应用还需相应升级连接配置。
本地请求应用正常、域名返回 502 时,检查上游地址、端口、进程和日志。不要把 502 误认为 DNS 仍未生效。
6. 加 HTTPS 并验收真实页面#
先完成域名解析,再按HTTPS 教程申请证书与设置续期。最后测试首页、文章深层路径、图片、登录和上传,检查浏览器没有混合内容或证书错误。
需要图形管理时看宝塔教程,但应在清楚现有环境后选择管理方式。日常维护包含备份、日志轮转和安全更新,不以“欢迎页能打开”作为全部完成。
完成后检查
维护记录应包含配置位置、服务名称、日志目录和备份恢复方法。历史一键命令不作为当前安装指令。