Nginx

什么是Nginx

Nginx是一个高性能的 HTTP和反向代理服务器,也是一个 IMAP/POP3/SMTP 服务器;

官方测试nginx能够支支撑5万并发链接

应用场景:

  1. http服务器,可以做静态网页的http服务器。

  2. 配置虚拟机。

    一个域名可以被多个ip绑定。可以根据域名的不同把请求转发给运行在不同端口的服务器。

  3. 反向代理,负载均衡。把请求转发给不同的服务器。

windows配置nginx+tomcat集群

  1. 一台电脑模拟两个tomcat,分别命名为tomcat1,tomcat2

  2. 修改tomcat的配置文件,不能使用同一个端口;

    • 配置tomcat2的端口,修改三个地方,都加1;

      server.xml

      [外链图片转存失败(img-GPxLqfJp-1563110859604)(C:\Users\Tang\AppData\Roaming\Typora\typora-user-images\1562675163876.png)]

  3. 创建test web项目

    • 创建一个index.jsp,内容中显示为sessionID,项目打包后分别放到tomcat1和tomcat2的webapps中

      <body>
      tomcat1<hr>
      <%=session.getId()%>
      </body>
      

      测试:

      localhost:8080/test

      localhost:8081/test

  4. 安装window版本的nginx(如果电脑有VisualSVN,会产生端口冲突)

    启动不了的原因:解压路径中含有中文路径

  5. 配置nginx/conf/nginx.conf文件

    [外链图片转存失败(img-NwVrr5kq-1563110859607)(C:\Users\Tang\AppData\Roaming\Typora\typora-user-images\1562677352397.png)]

通过浏览器访问http://localhost/test,会自动切换访问网站所属的tomcat(分流机制)

[外链图片转存失败(img-joj2G40m-1563110859609)(C:\Users\Tang\AppData\Roaming\Typora\typora-user-images\1562677657827.png)]

  1. Tomcat集群的session共享

问题:同一个浏览器访问不同的tomcat所用的session不同,需要让两个tomcat共用同一个session;

  • 一种使用tomcat广播机制完成session的共享(不推荐的方式)
  • 一种使用redis服务器的方式完成session的共享(推荐的方式)

使用tomcat广播机制完成session的共享

  • 修改两个tomcat中的server.xml:把Cluster的注释打开;

  • 在项目的web.xml中添加一个配置

    [外链图片转存失败(img-1HCeirwT-1563110859612)(C:\Users\Tang\AppData\Roaming\Typora\typora-user-images\1562678383998.png)]

Linux配置nginx集群

  1. 在Linux上安装多个Tomcat

    • 解压tomcat
    tar –xvf xxx.tar.gz –C /usr/local/tomcat
    cp -r tomcat/ tomcat2 将tomcat复制tomcat2文件夹
    
    • 修改tomcat2中的server.xml
    1.修改3个端口号,防止与第一个tomcat冲突(进入到conf文件夹中找到server.xml)
    vim server.xml
    2.将修改后的端口添加到防火墙中
    /sbin/iptables -I INPUT -p tcp --dport 8081 -j ACCEPT
    /etc/rc.d/init.d/iptables save
    3.进入bin文件夹中启动tomcat	
    cd ../bin
    ./startup.sh
    
  2. 安装nginx

    环境需求

    安装gcc:	yum install gcc-c++
    pcre	yum install -y pcre pcre-devel
    zlib	yum install -y zlib zlib-devel
    openssl	yum install -y openssl openssl-devel
    

    编译及安装


    1. 把nginx的源码包上传至linux服务器
    2. 解压源码包
    mkdir -p /var/temp/nginx
    tar -zxf nginx-1.8.0.tar.gz -C /var/temp/nginx
    

    3.进入nginx-1.8.0文件夹。使用configure命令创建makefile

    cd nginx-1.8.0/
    ./configure
    
    1. make

    2. make install

    3. 启动

      在nginx目录下有一个sbin目录,sbin目录下有一个nginx可执行程序

    cd /usr/local/nginx/sbin/
    niginx
    
    1. 配置防火墙设置80端口
    /sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT
    /etc/rc.d/init.d/iptables save
    
    1. 配置nginx/conf/nginx.conf文件

    [外链图片转存失败(img-BfhJxuYU-1563110859614)(C:\Users\Tang\AppData\Roaming\Typora\typora-user-images\1562677352397.png)]

    1. 动态加载配置文件

      进入到/usr/local/nginx/sbin文件夹中

      ./nginx -s reload 重新加载配置启动nginx


  3. 关闭nginx

    关闭	./nginx -s stop
    退出  ./nginx -s quit
    
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值