Nginx实战部署配置

Scroll Down

1.Nginx命令以及配置

启动 start Nginx(在安装包的位置使用)
重启 Nginx -s reload
关闭 Nginx -s stop

1.1.1 Nginx的配置文件

说明:
Server表示服务,在Nginx中可以配置很多项服务.
Listen表示端口监听:80.目的就是为了让nginx起作用.
server_name表示服务的名称.浏览器中访问的具体路径.
Location表示当Nginx成功拦截请求后做的处理.
root表示转发到文件夹中.这是一个关键字不要随便修改.
Index默认访问路径

server {
	listen       80;           
	server_name  localhost;
	location / {
		root   html;   
		index  index.html index.htm;
	}
}

1.1.2 定义图片服务器

#配置图片服务器
server {
              listen 80;
              server_name image.jt.com;
              location / {
                     root E:\jt-upload;
              }
       }

1.1.3 配置nginx实现后台转向

#转向某个服务器
server {
	listen 80;
	server_name manage.jt.com;
	location / {
		proxy_pass http://127.0.0.1:8091;
	}
}

1.1.4 Nginx配置请求头

将以下代码添加到nginx.conf文件的server_name下

#添加京淘后台管理

server {
	listen 80;
	server_name manage.jt.com;
	proxy_set_header X-Forwarded-Host $host;
	proxy_set_header X-Forwarded-Server $host;
	proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
 
	location / {
		proxy_pass http://127.0.0.1:8091;
	}
}

2 Nginx的负载均衡

2.1.1 Nginx实现负载均衡

配置负载均衡项

#nginx实现负载均衡
upstream jt {
           server 127.0.0.1:8080;
           server 127.0.0.1:8090;
           server 127.0.0.1:8091;
}

实现负载均衡

#添加京淘后台管理
       server {
              listen 80;
              server_name manage.jt.com;
              location / {
                     proxy_pass http://jt;
              }
       }

说明:nginx中默认的访问方式是轮询的方式.1-3依次执行.

2.2 负载均衡的方式

2.2.1 轮询

说明:因为在公司中,服务器的价格和性能是不一样的.一般数据库服务器是最好的.一般不会都采用性能最优的服务器因为价格太贵.一般公司都是好坏都有.

2.2.2 权重(重点掌握)

说明:尽可能的让性能优良的服务器处理更多的请求.

#nginx实现负载均衡默认都是轮询采用权重的方式数值越大越容易呗访问
       upstream jt {
              server 127.0.0.1:8080 weight=6;
              server 127.0.0.1:8090 weight=1;
              server 127.0.0.1:8091 weight=3;
       }

2.2.3 IP_HASH

说明:
根据用户的访问IP地址,经过内部HASH计算会指定一台服务器绑定.那么以后该用户访问项目时,都会访问指定的那台服务器.
例子:例如本机启动了IP_HASH则只会访问8080服务器
作用:一般企业如果实现低级的Session共享则使用IP_HASH.
问题:容易产生Session黏着问题,所以一般不用Ip_hash
#nginx实现负载均衡默认都是轮询采用权重的方式数值越大越容易呗访问
#如果在配置服务器时配置ip_hash则会自动按照IP进行绑定,其他配置将不起作用

upstream jt {
              ip_hash;
              server 127.0.0.1:8080 weight=6;
              server 127.0.0.1:8090 weight=1;
              server 127.0.0.1:8091 weight=3;
       }

2.2.4 备用机机制

说明:
如果当前的服务器都处于忙碌状态,没有时间响应新的请求,这时如果配置了备用机.则备用机会承担一部分压力.如果主服务器压力减小,可以正常处理用户请求.则备用机处于等待状态.
#nginx实现负载均衡默认都是轮询采用权重的方式数值越大越容易呗访问
#如果在配置服务器时配置ip_hash则会自动按照IP进行绑定,其他配置将不起作用

#ip_hash;
       upstream jt {
             
              server 127.0.0.1:8080 weight=6;
              server 127.0.0.1:8090 weight=1 backup;
              server 127.0.0.1:8091 weight=3;
       }

2.2.5 上线部署

上线的步骤:
1.先修改nginx配置文件让需要上线的服务器down掉
2.应该将需要上线的服务停止
3.之后将war包发布.
4.启动服务器
5.将服务器还原会nginx中(将down去掉)
6.重启nginx即可

upstream jt {
              server 127.0.0.1:8080 weight=6;
              server 127.0.0.1:8090 weight=1 backup;
              server 127.0.0.1:8091 weight=3 down;
       }