跳到主要内容

服务器部署路径:Nginx、进程与反向代理

服务器路线能提供更强的控制力,但也意味着你要自己承担更多责任。

什么时候才值得走服务器路线

如果你需要:

  • 登录与权限系统
  • 动态接口
  • 数据库
  • 文件上传
  • 后台管理
  • 自定义运行时逻辑

那服务器路线才更合理。

如果只是做内容站,它通常不是第一选择。

一个典型的服务器架构

浏览器

DNS / CDN

Nginx

应用进程

数据库 / 缓存 / 对象存储

每一层大致负责什么

Nginx

常见职责:

  • 监听 80 / 443
  • 配置 HTTPS
  • 反向代理到后端应用
  • 直接提供静态文件
  • 做重定向和部分缓存控制

应用进程

例如 Node、Python、Java 等服务进程,处理接口和业务逻辑。

数据层

数据库、缓存、对象存储等。

为什么服务器路线复杂度会明显上升

因为你不再只是上传一堆静态文件,而要长期维护:

  • 进程是否存活
  • 日志怎么查看
  • 端口怎么开放
  • 证书怎么更新
  • 部署失败怎么回滚
  • 服务器如何防暴露和防误配置

第一次自托管最容易踩的坑

1. 直接暴露应用端口

更常见也更稳的做法是让应用只在内网或本机监听,再由 Nginx 统一对外。

2. 反向代理能通,但静态资源路径乱了

页面主请求成功,不代表 JS、CSS、图片路径也正确。

3. 只把网站跑起来,没有考虑进程管理

服务一崩就没了,或者重启机器后服务没自动恢复。

4. 只配了浏览器到代理层的 HTTPS

如果前面还有 Cloudflare 或代理层,源站这段链路也要想清楚。

一个务实的部署思路

如果你必须自建服务器,建议至少做到:

  1. Nginx 负责统一入口
  2. 应用进程不要直接暴露公网
  3. 静态资源、应用服务、上传文件职责分开
  4. 日志、证书、备份和重启策略要提前想好

和静态托管相比,真正多出来的成本是什么

  • 服务器续费和维护
  • 系统更新
  • 安全面暴露
  • 故障排查复杂度
  • 监控和备份压力

所以如果你只是做文档和展示页,先别急着自托管。

适合接着读什么