一、nginx支持win和linux版本的下载,选择合适的版本进行安装
二、配置文件注解
重点的几个参数进行注释:
1、listen 要监听的服务的端口,符合这个端口的才会被监听
server_name要监听的服务地址,可能是ip,也可能是域名,如果是ip则只有符合ip+端口才会被监听,如果是域名(域名已经指向了一个端口)则符合这个域名或者这个域名的一部分也会被监听,如果域名指向的端口和Listen的不一样则不监听
2、在1条件满足下,会进入Location,可以对不同的url进行设置,比如完全匹配,前后缀匹配,部分匹配。
-
- 在
location
块中,可以定义如何处理匹配到的请求。这包括但不限于:- 静态文件服务。
- 重定向。
- 代理到后端服务器(反向代理)。
- 访问控制(如限制 IP 访问)。
- 在
-
静态文件服务:
- 通过
location
块,可以将请求映射到服务器上的静态文件。例如:nginx
这里location /static/ { root /var/www; }
/static/
是 URL 路径,/var/www
是服务器上的根目录,匹配到的请求会被映射到/var/www/static/
目录下的文件。
- 通过
-
反向代理:
- 可以将请求代理到后端服务器。例如:
nginx
这里location / { proxy_pass http://backend; }
/
匹配所有请求,proxy_pass
指令将请求转发到定义在upstream
中的backend
服务器组。
- 可以将请求代理到后端服务器。例如:
-
重定向:
- 可以用于重定向请求到其他 URL。例如:
nginx
这里将所有访问location /oldpath/ { return 301 http://example.com/newpath/; }
/oldpath/
的请求重定向到http://example.com/newpath/
。
- 可以用于重定向请求到其他 URL。例如:
-
访问控制:
- 可以限制或允许某些 IP 地址访问特定的资源。例如:
nginx
这里允许 192.168.1.x 的 IP 地址访问location /admin/ { allow 192.168.1.0/24; deny all; }
/admin/
路径,而拒绝其他所有 IP 地址
- 可以限制或允许某些 IP 地址访问特定的资源。例如:
3、upstream tomcat_server这里是后台的服务地址,tomcat_server是自定义命名的服务名称,当location 配置了 proxy_pass
则会进入到这里(执行proxy_pass
:如果请求的URL路径与某个location
块匹配,并且该location
块中包含proxy_pass
指令,Nginx会将请求转发到指定的upstream
组或后端服务器),这里的服务可以设置权重去负载均衡
实例:
两个后台服务: 127.0.0.1:1004 127.0.0.1:1005
接口地址是:127.0.0.1:1004/order/buyOne 127.0.0.1:1005/order/buyOne
通过nginx配置负载均衡
upstream orderServer{
server 127.0.0.1:1004;
server 127.0.0.1:1005;
}
server {
listen 8090;
server_name localhost;
location /order/buyOne {
proxy_pass http://orderServer;
}
输入localhost:8090/order/buyOne则会直接反向代理到server指定的地址中