《折腾一下午才搞懂:nginx 就是服务器的前台》
今天在自己的云服务器上部署网站,顺带把 nginx 搞明白了,记一下,省得下次又忘。
以前我一直有个误解,觉得输网址不带端口能打开,是不是有什么“端口映射”。其实不是:浏览器输 http 地址,默认就走 80 端口,所有网页请求都先进 80 这一个门。进了门之后分给谁,是 nginx 的活。
nginx 干的事说白了就是前台接待:
第一,它自己能发静态网页。纯 html、图片这种,它直接就返回了,快得很,不用麻烦后面的程序。
第二,它按路径分流。比如 / 是新网站,/game/ 是个小游戏页,路径不一样,它就把请求送到不同的地方。这个在 nginx 里就是写 location,平时说的“路径映射”就是这个意思,跟“端口映射”不是一回事,端口映射是把一个端口转到另一个端口,对象都不一样。
第三,它能当反向代理。后面跑着 Tomcat 也好、Python 程序也好,请求先到 nginx,它转手递进去,再把结果拿出来。后端不用直接露面,安全点,也方便统一管理。
我自己最有体会的是第二点:一个 80 端口能挂好几个站,靠路径区分就行,不用每个站都开个新端口、记一串数字。这不就是 Tomcat 里 context path 的翻版嘛,应用名前缀对应哪个应用,一模一样的思路。
改配置还有两个小习惯也记一下:改完先跑 nginx -t 检查语法没问题,再 reload 让它生效,别直接重启,重启期间网站就断了。
总结一句:nginx 管的是“请求进门后去哪”,不管业务逻辑怎么算。把它当个聪明的前台看,很多概念一下就通了。
- 点赞
- 收藏
- 关注作者
评论(0)