前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >nginx的安装与常用功能

nginx的安装与常用功能

作者头像
许喜朝
发布2020-08-11 16:57:58
4120
发布2020-08-11 16:57:58
举报

nginx

nginx介绍

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

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

nginx安装

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

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

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

代码语言:javascript
复制
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配置

代码语言:javascript
复制
#图片服务器
	    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:\Windows\System32\drivers\etc找到hosts文件,在文件末尾添加本地域名解析

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

添加本地域名解析

代码语言:javascript
复制
127.0.0.1   image.page.com
127.0.0.1   manage.page.com
#需要解析的域名和对应的ip地址
nginx实现负载均衡

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

配置nginx.conf配置文件

代码语言:javascript
复制
#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默认配置为轮询

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

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

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

权重策略

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

关键字:weight

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

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

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

关键字:ip_hash

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

nginx运维配置项

down属性

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

实现

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

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

代码语言:javascript
复制
#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; #向服务器发送资源的超时时间

配置

代码语言:javascript
复制
#tomcatwindows集群
#配置需要访问的端口
    upstream pageWindows{
        server localhost:8091 max_fails=1 fail_timeout=60s; 
        server localhost:8092 ;
        server localhost:8094 ;
    }
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-07-28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • nginx
    • nginx介绍
      • nginx安装
        • 使用nginx实现本地反向代理
          • nginx实现负载均衡
          • nginx中的权重策略
          • nginx运维配置项
            • down属性
              • backup属性
                • 健康检查/心跳检测
                相关产品与服务
                负载均衡
                负载均衡(Cloud Load Balancer,CLB)提供安全快捷的流量分发服务,访问流量经由 CLB 可以自动分配到云中的多台后端服务器上,扩展系统的服务能力并消除单点故障。负载均衡支持亿级连接和千万级并发,可轻松应对大流量访问,满足业务需求。
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档