《折腾一下午才搞懂:nginx 就是服务器的前台》

举报
yd_274683020 发表于 2026/11/04 11:17:17 2026/11/04
【摘要】 今天在自己的云服务器上部署网站,顺带把 nginx 搞明白了,记一下,省得下次又忘。以前我一直有个误解,觉得输网址不带端口能打开,是不是有什么“端口映射”。其实不是:浏览器输 http 地址,默认就走 80 端口,所有网页请求都先进 80 这一个门。进了门之后分给谁,是 nginx 的活。nginx 干的事说白了就是前台接待:第一,它自己能发静态网页。纯 html、图片这种,它直接就返回了,...

今天在自己的云服务器上部署网站,顺带把 nginx 搞明白了,记一下,省得下次又忘。

以前我一直有个误解,觉得输网址不带端口能打开,是不是有什么“端口映射”。其实不是:浏览器输 http 地址,默认就走 80 端口,所有网页请求都先进 80 这一个门。进了门之后分给谁,是 nginx 的活。

nginx 干的事说白了就是前台接待:

第一,它自己能发静态网页。纯 html、图片这种,它直接就返回了,快得很,不用麻烦后面的程序。

第二,它按路径分流。比如 / 是新网站,/game/ 是个小游戏页,路径不一样,它就把请求送到不同的地方。这个在 nginx 里就是写 location,平时说的“路径映射”就是这个意思,跟“端口映射”不是一回事,端口映射是把一个端口转到另一个端口,对象都不一样。

第三,它能当反向代理。后面跑着 Tomcat 也好、Python 程序也好,请求先到 nginx,它转手递进去,再把结果拿出来。后端不用直接露面,安全点,也方便统一管理。

我自己最有体会的是第二点:一个 80 端口能挂好几个站,靠路径区分就行,不用每个站都开个新端口、记一串数字。这不就是 Tomcat 里 context path 的翻版嘛,应用名前缀对应哪个应用,一模一样的思路。

改配置还有两个小习惯也记一下:改完先跑 nginx -t 检查语法没问题,再 reload 让它生效,别直接重启,重启期间网站就断了。

总结一句:nginx 管的是“请求进门后去哪”,不管业务逻辑怎么算。把它当个聪明的前台看,很多概念一下就通了。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。