导航
你可以把 Nginx 理解成:
“站在服务器门口,负责接客、分流、转发的超级前台”
用户访问:
<https://example.com>
请求先到 Nginx:
用户 -> Nginx -> 真正的程序
真正程序可能是:
Nginx 决定:
比如:
/logo.png
/index.html
Nginx 直接返回文件。
非常快。
这是现代开发最常见的。
例如:
用户 -> Nginx -> Node.js(3000端口)
用户不知道后面真实程序在哪。
Nginx 帮你转发。
例如:
location / {
proxy_pass <http://127.0.0.1:3000>;
}
意思:
“所有请求,转发给本机 3000 端口”
SSL 证书一般挂在 Nginx。
用户 HTTPS -> Nginx 解密 -> 后端程序
后端程序甚至不用懂 HTTPS。
多个后端:
Nginx
├── app1
├── app2
└── app3
Nginx 自动分流。
很多人懵,就是因为:
nginx 配置不是一个文件,而是一棵引用树。
这点非常关键。
通常:
/etc/nginx/nginx.conf
这是总配置文件。
你先记住:
nginx.conf = 总入口
类似:
典型结构:
user nginx;
worker_processes auto;
events {
worker_connections 1024;
}
http {
include mime.types;
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
这里开始进入重点。
你说的: