nginx的学习笔记

Source

一般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; #node1
         server 101.31.7.25:8081; #node2
         server 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

配置完你保存完 但是并没有生效,要重新加载才可以生效。