BWH Compass

搭建 Web 环境:Nginx、Apache、PHP 与数据库

LAMP 常指 Linux、Apache、MySQL/MariaDB、PHP;LEMP/LNMP 则使用 Nginx。先选一套维护方式,避免面板、一键包和系统包同时管理同一服务。

BWH Compass 编辑整理更新于 约 5 分钟阅读

1. 先选择一条部署路线#

静态站点只需 Web 服务;WordPress 还需要 PHP 和数据库;Node/Python 应用通常由反向代理转发给独立进程。不要同时安装宝塔、LNMP 脚本和手工 Nginx,让多个管理方式争用 80/443 或覆盖配置。

网站类型典型组成重点检查
静态 HTMLNginx/Apache/Caddy根目录、域名、缓存
WordPressWeb 服务 + PHP-FPM + 数据库PHP 扩展、权限、数据库连接
Node/Python应用进程 + 反向代理本地监听、进程管理、超时

下面先在 Ubuntu 上搭一个最小静态站,确认域名与服务链路,再增加应用组件。

2. 安装 Nginx 并确认端口#

bash
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 布局。新建独立站点配置,域名和目录替换为实际值。

nginx
server {
    listen 80;
    server_name example.com;
    root /var/www/example.com/public;
    index index.html;
    location / {
        try_files $uri $uri/ =404;
    }
}

启用这个站点后检查配置,成功再 reload。不要用通配符删除其他网站的配置;默认站点是否禁用取决于当前服务器是否已有业务。

bash
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 教程申请证书与设置续期。最后测试首页、文章深层路径、图片、登录和上传,检查浏览器没有混合内容或证书错误。

需要图形管理时看宝塔教程,但应在清楚现有环境后选择管理方式。日常维护包含备份、日志轮转和安全更新,不以“欢迎页能打开”作为全部完成。

完成后检查

维护记录应包含配置位置、服务名称、日志目录和备份恢复方法。历史一键命令不作为当前安装指令。

官方资料与相关入口