我拥有一个运行 Ubuntu 近五年的 VPS,并且我对网络方面有一定的了解——但我的理解存在很多漏洞。
当我访问 DOMAIN:PORT 时,我了解到请求被路由到我的名称服务器中指定的 A 记录中的 IP,并因此到达我的 VPS - 但我不完全理解之后会发生什么:
- 那么nginx是如何接收请求的呢?是否有一些硬件级别的功能可以将其路由到配置的 Web 服务器?
- 如果我有多个网络服务器正在运行,比如 nginx 和 apache - 什么决定什么优先?
- 然后 nginx 会拦截所有传入的请求吗?假设我有 ufw 允许 8000 - 那么 DOMAIN:8000 请求是通过 nginx 路由的吗?或者它可以击中在该端口上本地运行的其他一些节点服务器吗?
这些是我一直困惑的问题,但无法弄清楚谷歌搜索的内容。
任何指向正确方向的指针都将不胜感激。
PS Mods,我查看了建议的相关问题,我觉得没有人解决我的特定问题。如果我错了,请随时在评论中纠正我。
nginx
(或)通过调用listen(2)Apache
告诉内核它正在侦听特定端口。端口号在配置中使用指令进行配置(对于 Apache。)。只有一个进程可以监听特定端口,因此没有顺序,第二个尝试监听同一端口的程序将失败(地址已在使用中)。listen
nginx
Listen
EADDRINUSE