nginx的学习笔记
一般nginx的配置的话就是nginx.conf文件里面进行配置。
nginx的一个功能就是反向代理,然后就是负载均衡,然后就是动静分离。
我们一个个来看
反向代理我们主要看server里面的内容
我们用户进入到前端界面的时候就会触发nginx,然后里面的任何一个请求都会拿到nginx里面进行反向代理,而我们所需要配置的listen就是前端的端口,server_name是前端的ip地址,然后我们还要写localtion里面的proxy_pass 这个就是我们要映射到后端的网址了ip和端口要写完整就可以了。
一般这么写
location /api {# proxy_pass 端口后面加路径,该路径就会替换location中的路径,有/也会替换#没加路径就只替换访问路径的ip和端口proxy_pass http://101.31.7.23:8180/;}
然后我们来看看动静分离
我们在原本的基础上加上这个东西
location / {root /home/zcloud/applications/iomp-web; #前端部署目录index index.html index.htm;}location /images/ {alias /home/zcloud/file/;autoindex off;}
也就是前端加载的时候直接加载也就是我们nginx包里面的东西,一般直接显示index.html,登录界面等等。然后就是root和alias的区别
alias:将请求的URI替换为alias指定的路径。例如,如果请求为/images/logo.png,则Nginx会查找/home/zcloud/file/logo.png
root 将请求的URI直接附加到root指定的路径后面。例如,如果请求为/images/logo.png,则Nginx会查找/home/zcloud/applications/iomp-web/images/logo.png
需要注意的是:如果使用alias的时候location的路径是以/结尾的话,alias配置的路径也必须以/结尾
然后就是负载均衡了
主要记得一个 upstream就可以了 后面是名字
直接看看即可。
#轮询的方式upstream server_group {server 101.31.7.24:8080; #node1server 101.31.7.25:8081; #node2server 101.31.7.26:8082; #node3 }#加权轮询的方式# upstream server_group {# server 101.31.7.24:8080 weight=3; #node1# server 101.31.7.25:8081 weight=5; #node2# server 101.31.7.26:8082 weight=2; #node3 # }#ip_hash的方式,基于客户端IP的分配方式 # upstream server_group {# ip_hash;# server 101.31.7.24:8080; #node1# server 101.31.7.25:8081; #node2# server 101.31.7.26:8082; #node3 # }#最少连接的方式,把请求分发给连接请求较少的那台服务器# upstream server_group {# least_conn;# server 101.31.7.24:8080; #node1# server 101.31.7.25:8081; #node1# server 101.31.7.26:8082; #node1 # }
然后我们在proxy_pass里面改一下地址 http://server_group/ 就可以了
#重新加载配置文件
./nginx -s reload
#检查配置文件是否正确
./nginx -t
#启动nginx
./nginx
# 快速停止nginx
./nginx -s stop
# 完整有序的停止nginx,这个命令会等待所有请求结束后再关闭nginx
./nginx -s quit
配置完你保存完 但是并没有生效,要重新加载才可以生效。