nginx的常用命令,反向代理,负载均衡,动静结合,高可用

nginx的常用命令,反向代理,负载均衡,动静结合,高可用

  • 什么是nginx?
    • nginx web服务器。
  • nginx常用命令
  • nginx的配置文件
  • 反向代理
    • 正向代理与反向代理的区别
  • nginx实现反向代理的步骤
  • nginx的负载均衡
  • 动静分离
  • nginx的高可用

什么是nginx?

Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。

nginx web服务器。

 优点:并发量高,内存占用量少。 

nginx常用命令

  1. 开启nginx服务
./nginx
  1. 关闭nginx服务
./nginx -s stop
  1. 重新加载nginx配置文件
./nginx -s reload 

nginx的配置文件

重要的配置: server_name : 对应的是监听指定的域名 :
nginx的常用命令,反向代理,负载均衡,动静结合,高可用_第1张图片

反向代理

正向代理与反向代理的区别

  1. 正向代理: 代理的是客户端。 服务器不知道请求来自于哪个客户。正向代理是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。 比如:软件。

  2. 反向代理: 代理的是服务器。反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端, 客户端不知道请求处理的是哪个服务器。
    nginx的常用命令,反向代理,负载均衡,动静结合,高可用_第2张图片
    nginx的常用命令,反向代理,负载均衡,动静结合,高可用_第3张图片

nginx实现反向代理的步骤

  1. 准备一个应用服务器tomcat项目
  2. 在nginx安装目录下的conf下找到nginx.conf,修改里面的配置文件
#配置反向代理       代理的地址
proxy_pass   http://localhost:8080; 

nginx的常用命令,反向代理,负载均衡,动静结合,高可用_第4张图片

  1. 以防没有修改,可以先查看是否修改成功
  2. 访问公网ip/接口,即可成功
    nginx的常用命令,反向代理,负载均衡,动静结合,高可用_第5张图片

nginx的负载均衡

Nginx负载均衡策略主要有 轮询,权重,IP Hash
**注意:**三者只能使用一个,
前提:多台服务器必须同时跑同一个项目
在nginx安装目录下的conf下找到nginx.conf,修改里面的配置文件
(1)一个集群服务器配置
nginx的常用命令,反向代理,负载均衡,动静结合,高可用_第6张图片
(2)轮询:多个集群服务器配置
nginx的常用命令,反向代理,负载均衡,动静结合,高可用_第7张图片
(3)权重:服务器硬件配置不一致时使用

weight=2;

nginx的常用命令,反向代理,负载均衡,动静结合,高可用_第8张图片
(3)iphash:根据iphash进行分配指定的服务器,是固定的,不能改变
nginx的常用命令,反向代理,负载均衡,动静结合,高可用_第9张图片

动静分离

把静态资源放入到nginx,让nginx帮客户渲染这些静态资源,提高web服务器的响应速度。
nginx的常用命令,反向代理,负载均衡,动静结合,高可用_第10张图片

(1)先建好一个springboot项目,里面包含image,js,css等静态文件
(2)先把springboot打成jar包详细步骤见如何将springboot打成jar包
(3)把打的jar包上传到服务器这个步骤如何将springboot打成jar包
(4)先把static静态文件从项目中分离出来
把static静态文件放到nginx安装目录下,找到html文件,放到与html文件同级的包下
nginx的常用命令,反向代理,负载均衡,动静结合,高可用_第11张图片
进行下列操作:把左侧的文件拖到右侧对应目录下,要与html同级
nginx的常用命令,反向代理,负载均衡,动静结合,高可用_第12张图片
(5)修改配置文件
进入到/usr/nginx/conf/nginx.conf ,在nginx.conf 文件中,需要加入以下配置:

 #static file
location ~.*\.(png|gif|jpg|css|js)$ {
        root   static;
        expires 20d;
}

nginx的常用命令,反向代理,负载均衡,动静结合,高可用_第13张图片
(6)进行启动jar文件就能正常访问页面,加载静态文件。
注意:集群搭建动静结合需要两个服务器配置文件一样,都需要把static文件放到nginx下,两台服务器都要启动。

nginx的高可用

(1) 需要两台nginx服务器。
192.168.213.181(从 BACKUP)
192.168.213.188 (主 MASTER)
(2) 需要keepalived
(3) 需要虚拟ip
1.首先:需要在每一个nginx服务器上安装keepalived

yum install keepalived  安装keepalived
rpm -q -a keepalived  检查是否安装keepalived

阿里云查看网卡:

cd /etc/syscongig/network-scripts

在这里插入图片描述
默认安装路径: /etc/keepalived
(2)两台liunx都需要在keepalived.conf中配置以下内容:
注意:虚拟ip要跟本机服务ip在同一个网段内
nginx的常用命令,反向代理,负载均衡,动静结合,高可用_第14张图片

(3)两台liunx都需要在keepalived添加nginx_check.sh配置文件
vrrp_script chk_http_port{
#安装的目录
script"/usr/local/src/nginx_check.sh"
interval 2
weight 2
}
(4)两台liunx都需要把nginx_check.sh放到指定目录下,nginx_check.sh配置文件如下:
nginx的常用命令,反向代理,负载均衡,动静结合,高可用_第15张图片
(5)表示把nginx_check.sh已经放进到/usr/local/src目录下
nginx的常用命令,反向代理,负载均衡,动静结合,高可用_第16张图片
(6)两台liunx都需要开启nginx

./nginx

(7)启动两台keepalived的服务

 systemctl start keepalived.service

(8)测试j结果如下:
nginx的常用命令,反向代理,负载均衡,动静结合,高可用_第17张图片
**注意:**关闭主机的nginx和keepalived,模拟主机宕机,另一台就显示

./nginx -s stop
systemctl stop keepalived.service

nginx的常用命令,反向代理,负载均衡,动静结合,高可用_第18张图片

你可能感兴趣的:(nginx,nginx,linux,java)