• Nginx的安装和使用


    什么是Nginx?

    Nginx 是异步框架的网页服务器,也可以用作反向代理、负载平衡器和 HTTP 缓存。大部分 Web 服务器使用 Nginx,通常作为负载均衡器。

    Nginx的应用场景

    1http服务器。Nginx是一个http服务可以独立提供http服务。可以做网页静态服务器。

    2、虚拟主机。可以实现在一台服务器虚拟出多个网站。例如个人网站使用的虚拟主机。

    3、反向代理,负载均衡。当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群可以使用nginx做反向代理。

    并且多台服务器可以平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况。

    Nginx的使用

     一.Nginx的安装

      1. 熟悉Cenos7相关命令(centos7默认没有 netstat 命令,需要安装 net-tools 工具,yum install -y net-tools

    开放端口: firewall-cmd --zone=public --add-port=端口号/tcp --permanent    

    端口firewall-cmd --zone=public --remove-port=端口号/tcp --permanent 

    生效配置firewall-cmd --reload

    查看防火墙开放的端口firewall-cmd --zone=public --list-ports 

    关闭防火墙:systemctl stop firewalld.service

    防火墙状态:firewall-cmd --state

    查看监听的端口:netstat -lnpt

    检查端口被哪个进程占用:netstat -lnpt |grep 端口号

    查看端口详细信息:ps 端口号

    强制关闭端口:kill -9 端口号

     官网下载相应nginx版本tar

    http://nginx.org/en/download.html

    2.使用xftp上传到linux

    3.解压tar

    tar命令: tar   -zgzip的算法解压或者压缩

    -x解压一个tar包

    -v显示指令执行过程

    -f指定要解压/压缩 文件名

    -c 创建一个tar/压缩

                 解压通常用法 tar  -zxvf  filename 如果要压缩的话z换成c

    4.安装所需依赖

    -  yum install pcre-devel

    -  yum install zlib zlib-devel

    -  yum install openssl openssl-devel

    -  yum -y install gcc gcc-c++ autoconf automake make   安装c++编译环境

    5.进入解压开的nginx-1.16.1文件夹找到 configur 执行

    6.然后执行makenginx是一个完全由C语言编写的程序make命令是将文件编译就想javajavac一样

    7.在执行make installmake install这个命令是将nginx安装安装好后可以在./usr/local/目录下发现一个nginx的文件夹.

    这个就是安装好后的nginx。安装好后目录结构如下

     

    二.启动nginx

    1.Nginx用的是80端口 , 把端口对外开放

    firewall-cmd --zone=public --add-port=80/tcp --permanent

    firewall-cmd --reload

    2.启动:安装好的nginx目录中有一个sbin,里面是一个nginx(可执行文件执行(./nginx

    3.启动后直接在网页输入本机ip即可访问  页面如下

    4.Nginx常用命令 

      /usr/local/nginx/sbin/nginx                     # 启动nginx  
     /usr/local/nginx/sbin/nginx -s reload              # 重新载入配置文件    
     /usr/local/nginx/sbin/nginx -s reopen             # 重启 Nginx 

    /usr/local/nginx/sbin/nginx -s stop               # 停止 Nginx 

    /usr/local/nginx/sbin/nginx -t                   #检查配置文件是否正确

    正反向代理

    一.正向代理

    如果把局域网外的 Internet 想象成一个巨大的资源库,则局域网中的客户端要访 问 Internet,则需要通过代理服务器来访问,这种代理服务就称为正向代理。

    二.反向代理        

       其实客户端对代理是无感知的,因为客户端不需要任何配置就可以访问。我们只 需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,在返 回给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器 地址,隐藏了真实服务器 IP 地址。

    三.修改nginx.conf配置文件实现反向代理

    1.配置之前需要配置hosts文件:

    地址:C:WindowsSystem32driversetchosts

    hosts文件的作用是完成域名和指定IP地址的映射。

    2.修改windows系统目录中的hosts文件, ip为虚拟机里面的地址

    3.修改server

    server_name  it.nginx.com;        #自定义访问域名

    root  /home/nginx/tomcat_data/;    #静态文件存放路径

    index index.html;                 #定义首页

    4.修改server下的location

    proxy_pass http://tomcat_server;           #映射对应upstream

    proxy_set_header X-Real-IP $remote_addr;   #映射nginx真实ip

    proxy_set_header Host $Host;   

    5.先检查配置文件是否正确

    /usr/local/nginx/sbin/nginx -t(出现以下日志则可以重启nginx了)

     6./usr/local/nginx/sbin/nginx -s reload 修改了配置,重启配置.再访问it.nginx.com 

     

    负载均衡

    什么是负载均衡?

        增加服务器的数量,然后将请求分发到各个服务器上,将原先请求集中到单个服务器上的 情况改为将请求分发到多个服务器上,将负载分发到不同的服务器,也就是我们所说的负载均衡

    负债均衡的使用

     首先启动两台Tomcat服务器

        1. 然后在nginx配置文件中修改upstream 添加两个ip地址分别是
             upstream tomcat_server{

       server 127.0.0.1:8080;

       server 127.0.0.1:8081;

       }

    2.其他配置文件可以不用修改,直接检查即可 /usr/local/nginx/sbin/nginx -t)通过即可运行nginx

    可以看见同一个前端代码访问了不同的后端。

    1、轮询

    轮询是最基本的配置方法,它是upstream模块默认的负载均衡默认策略。每个请求会按时间顺序逐一分配到不同的后端服务器。

    参数:fail_time服务器会被认为停机的时间长度,默认为10s
                backup标记该服务器为备用服务器。当主服务器停止时,请求会被发送到它这里。
               down 标记服务器永久停机了。(在轮询中,如果服务器down掉了,会自动剔除该服务器)

    2、IP(ip_hash)

    指定负载均衡器按照基于客户端IP的分配方式,这个方法确保了相同的客户端的请求一直发送到相同的服务器,以保证session会话。这样每个访客都固定访问一个后端服务器,可以解决session不能跨服务器的问题。

      其实保证session会话是同一个用户的解决方案可以采取Spring Sessiontoken等会话技术

    3、权重(weight)

    每个upstream下服务会有一个权重(weight)配置,这个权重就是请求派发的概率,权重越大请求派发给服务的机会越大,可以根据服务资源情况分配权重。

     在该例子中,weight参数用于指定轮询几率,weight的默认值为1,;weight的数值与访问比率成正比,比如8080被访问的几率为其他服务器的两倍

    4、最少连接(least_conn)

    把请求转发给连接数较少的后端服务器。轮询算法是把请求平均的转发给各个后端,使它们的负载大致相同;但是有些请求占用的时间很长,会导致其所在的后端负载较高,这种情况下最少连接方式分配方式就可以达到更好的负载均衡效果。

    注意:启动2tomcat 可以使用批处理,新建一个文件,后缀为sh

    文件内容:

     /home/lm/tools/tomcat8.5/bin/startup.sh

    /home/lm/tools/tomcat2/bin/startup.sh

  • 相关阅读:
    使用阿里的EasyExcel实现表格导出功能
    推荐一款实用的java工具包---Hutool
    MySQL(二)锁机制【表级锁、页面锁、行级锁】
    MySQL(一)存储引擎
    使用redis的increment()方法实现计数器功能
    Redis缓存浅析
    Dubbo服务介绍
    SpringMVC工作执行流程详解
    GC垃圾回收机制----GC回收算法(GC机制必会知识点)
    数据结构之常见的数据结构
  • 原文地址:https://www.cnblogs.com/limengcheng/p/12172474.html
Copyright © 2020-2023  润新知