Nginx的用法

一、简介

Nginx 是一个高性能的HTTP反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务

​ 其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。2011年6月1日,nginx 1.0.4发布。

​ Nginx是一款轻量级Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。

​ 其特点是占有内存少并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好。

二、下载及安装

1、下载路径:http://nginx.org/en/download.html

在这里插入图片描述
注意:最好下载稳定版本的。
在这里插入图片描述

2、重要说明:

  1. Nginx软件不要安装到C盘(防止由于权限问题,导致软件无法使用.)

  2. 安装文件路径不要有中文!!! nginx操作完全没有效果.

3、安装
1)Windows版本
直接解压之后就可以使用。
启动方式
双击nginx.exe或用命令启动
2)Linux版本
1.安装依赖包

//一键安装上面四个依赖
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel

注意:根据提示安装依赖包

2.上传并解压安装包

//创建一个文件夹
cd /usr/local
mkdir nginx
cd nginx
//上传Linux版的ngnix,然后解压缩
tar -xvf nginx-1.21.6.tar.gz

3.安装nginx

//进入nginx目录
cd /usr/local/nginx
//进入目录
cd nginx-1.21.6
//执行命令
./configure
//执行make命令
make
//执行make install命令
make install

4.启动nginx

cd /usr/local/nginx/sbin
//启动
./nginx
//停止
./nginx -s stop
//重启
./nginx -s reload
//查看nginx编辑配置文件状态是否成功
 ./nginx -t

4、测试Nginx是否可用,nginx默认80端口
http://localhost:80

三、Nginx命令

​ 1、Windows 命令

1.启动命令   start nginx
2.重启命令   nginx -s reload
3.关闭命令   nginx -s stop

​ 2、Linux 命令

//查看nginx是否启动
ps -ef|grep nginx 

四、反向代理

进入Nginx的安装目录:conf/nginx.conf文件如下:

server {
    	#nginx默认监听的端口号80
        listen       80;
        #拦截用户的请求路径  
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

		#反向代理配置  / 代表全部请求
        location / {
        	#root是关键字  代表跳转文件目录
            root   html;
            #index是关键字 默认欢迎页面
            index  index.html index.htm;
        }
	  }

五、Nginx实现负载均衡

1 轮询策略

策略说明:根据配置文件的顺序,依次访问tomcat服务器.

server{
   listen 80;
   server_name localhost;
   location / {
     proxy_pass http://testWindows;
   }
  }
  #定义windows集群
  upstream testWindows {
   # 8081,8082,8083服务器
   server localhost:8081;
   server localhost:8082;
   server localhost:8083;
  }

修改完成之后,重启nginx服务器.

2 权重方式

需求:公司中服务器可能会更新迭代.导致物理设备处理能力不同.如果这时采用轮询的机制,可能会影响用户使用.

#定义windows集群 1.默认 轮询 2.权重

upstream testWindows{
   server localhost:8081 weight=6;
   server localhost:8082 weight=3;
   server localhost:8083 weight=1;
  }

3、ip_hash

p_hash 每个请求按访问 ip 的 hash 结果分配,这样每个访客固定访问一个后端服务器

upstream testWindows{
   ip_hash;
   server localhost:8081;
   server localhost:8082;
   server localhost:8083;
  }

1.2 Nginx高级属性配置

1.2.1 down属性

说明:有时tomcat服务器可能会发生意外宕机.这时nginx服务器做负载均衡时,如果访问故障机,nginx首先会连接故障机,如果1-3秒连接不通,则访问下一台.

属性作用:标识故障机. nginx以后不再访问该机器.

1.2.2 backup属性

说明:一般配置集群时会添加一些备用机.防止主机宕机之后没有足够的服务器响应用户.导致服务器异常.

触发策略: 当主机遇忙时/主机全部宕机时.backup主机生效.

#定义windows集群 1.默认 轮询 2.权重 3.IPhash

 upstream testWindows {
   server localhost:8081 down;
   server localhost:8082 down;
   server localhost:8083 backup;
  }

1.2.3 Nginx高可用策略

1.2.3.1 高可用(HA)

为了屏蔽负载均衡服务器的失效,需要建立一个备份机。主服务器和备份机上都运行High Availability监控程序,通过传送诸如“I am alive”这样的信息来监控对方的运行状况。当备份机不能在一定的时间内收到这样的信息时,它就接管主服务器的服务IP并继续提供服务;当备份管理器又从主管理器收到“I am alive”这样的信息时,它就释放服务IP地址,这样的主管理器就开始再次进行集群管理的工作了。为在主服务器失效的情况下系统能正常工作,我们在主、备份机之间实现负载集群系统配置信息的同步与备份,保持二者系统的基本一致。

总结:首先有主从结构,当主机发生了宕机现象,则可以自动的实现故障的迁移.

1.2.3.2 Nginx高可用配置

max_fails=1 :定义最大的失败次数,该服务器连续失败几次,不再访问该服务器.

fail_timeout=60s 定义访问的周期 60秒

#定义windows集群 1.默认 轮询 2.权重 3.IPhash

  upstream testWindows {
   server localhost:8081 max_fails=1 fail_timeout=60s;
   server localhost:8082 max_fails=1 fail_timeout=60s;
   server localhost:8083 max_fails=1 fail_timeout=60s;
  }

执行过程:

当用户访问nginx时,如果该服务器访问失败,则在指定的周期内,不会再次访问故障机.到了下一个周期会自动的校验,如果依然访问不同,在等下一个周期.

定义超时时间

proxy_connect_timeout 1;

proxy_read_timeout 1;

proxy_send_timeout 1;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值