nginx的安装与常用功能

时间:2022-07-23
本文章向大家介绍nginx的安装与常用功能,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

nginx

nginx介绍

nginx是一个轻量级,高性能的http和反向代理的web服务器

在实际使用中常常和tomcat搭配使用

nginx安装

nginx下载页,选择对应的版本进行下载

解压到安装目录就可以直接使用了,需要注意的是,路径不能有中文名,linux环境下需要还需要安装gcc等环境

注意事项:nginx启动会占用80端口,如果启动异常,检查80端口是否被占用,如果被占用可以在nginx解压目录下找到conf/nginx.conf文件修改端口

server {
        listen       90; #启动端口
        server_name  localhost;  location / {
        root   html;
        index  index.html index.htm;
    }
    location = /50x.html {
        root   html;
    }

nginx常用命令: 启动命令:start nginx 关闭命令:nginx -s stop 重启命令:nginx -s reload 温馨提示:每次修改配置文件后记得重新启动nginx哦

使用nginx实现本地反向代理

nginx.conf配置

#图片服务器
	    server {
        listen       90;
        server_name  image.page.com;

        location / {
		#代理的路径
            root  E:/page/images/;
        }
    }
	#后台商品管理服务器
	server{
		listen 90;
		server_name manage.page.com;
		location / {
		#代理服务器路径
		proxy_pass http://localhost:8080;
		}
	}

}

由于没有购买域名,dns服务器无法解析

可以在此路径下C:WindowsSystem32driversetc找到hosts文件,在文件末尾添加本地域名解析

在浏览器地址栏输入域名后,会先在这个文件查找,没有才通过dns服务器解析域名

添加本地域名解析

127.0.0.1   image.page.com
127.0.0.1   manage.page.com
#需要解析的域名和对应的ip地址

nginx实现负载均衡

什么是负载均衡 在项目部署时有多台服务器,那么这几台服务器该如何来分配呢?nginx可以分配用户去访问不同的服务器

配置nginx.conf配置文件

#tomcatwindows集群
#配置需要访问的端口
    upstream pageWindows{
    #
        server localhost:8091;
        server localhost:8092;
        server localhost:8094;
    }
	#后台商品管理服务器
	server{
		listen 90;
		server_name manage.page.com;
		
		location / {
		#代理服务器路径
		proxy_pass http://pageWindows;
		}
	}

}

通过以上配置nginx就会平均的分配用户访问的是那个服务器

nginx中的权重策略

轮询策略:平均分配 权重策略:按照比例分配 IPHASH策略:根据ip来分配

轮询策略

nginx默认配置为轮询

#tomcatwindows集群
#配置需要访问的端口
    upstream pageWindows{
    #默认轮询策略
        server localhost:8091;
        server localhost:8092;
        server localhost:8094;
    }

优点:每个服务器都平均分配访问

缺点:性能不是很好的服务器会承担它这个价格不该承受的压力

权重策略

能力越大责任越大,性能越好的服务器应该允许更大的访问

关键字:weight

#tomcatwindows集群
#配置需要访问的端口
    upstream pageWindows{
    #配置权重策略
        server localhost:8091 weight = 6;
        server localhost:8092 weight = 3;
        server localhost:8094 weight = 1;
    }
IPHASH策略

基于客服端ip地址进行服务器分发,同一个ip只能访问且始终只能访问那一台服务器

缺点:如果一台服务器出现故障不能访问,那么他们对应的那一批用户将无法访问,显然这个缺点是致命的,当然负载不均也是肯定的,不推荐使用

关键字:ip_hash

#tomcatwindows集群
#配置需要访问的端口
    upstream pageWindows{
    #IPHASH策略
    ip_hash
        server localhost:8091;
        server localhost:8092;
        server localhost:8094;
    }

nginx运维配置项

down属性

当 nginx实现负载均衡时,后台服务器出现故障,可以用down标记,nginx就不会对该服务器进行分配

实现

#tomcatwindows集群
#配置需要访问的端口
    upstream pageWindows{
        server localhost:8091 down; #nginx不会对该服务器分配访问任务
        server localhost:8092;
        server localhost:8094;
    }

backup属性

backup 表示备用机 正常情况下该机器不参与用户的访问,留作备用,当服务器全部宏基或者主服务器繁忙时启用

#tomcatwindows集群
#配置需要访问的端口
    upstream pageWindows{
        server localhost:8091 down; #nginx不会对该服务器分配访问任务
        server localhost:8092 down;
        server localhost:8094 backup;
    }

健康检查/心跳检测

健康检查是为了在没有程序员表示down属性时,引起频繁访问故障机的情况,当服务器宕机,只需要影响用户2秒之后,在指定的周期中不在访问故障机提升用户体验 常用属性: max_fails=1: 表示用户发起请求时链接不到服务器表示失败. fail_timeout=60s 如果服务器访问失败次数1次之后则在60秒内不会再访问故障机. proxy_connect_timeout 2; #服务器链接超时时间 proxy_read_timeout 2; #读取服务器资源超时时间 proxy_send_timeout 2; #向服务器发送资源的超时时间

配置

#tomcatwindows集群
#配置需要访问的端口
    upstream pageWindows{
        server localhost:8091 max_fails=1 fail_timeout=60s; 
        server localhost:8092 ;
        server localhost:8094 ;
    }