• 使用Nginx在windows和linux上搭建集群


    Nginx

    Nginx (engine x) 是一个高性能的HTTP反向代理服务器,也是一个IMAP/POP3/SMTP服务器

    特点:反向代理 负载均衡 动静分离…

    反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。

    正向代理:需要我们用户手动设置第阿里服务器的ip地址和端口号

    负载均衡,英文名称为Load Balance,是指建立在现有网络结构之上,并提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。其原理就是数据流量分摊到多个服务器上执行,减轻每台服务器的压力,多台服务器共同完成工作任务,从而提高了数据的吞吐量。

    动静分离:静态资源放在Nginx,动态资源放到我们后面的服务器上

    用nginx在window上搭建一个集群

    用nginx在window上搭建一个集群

    1. 在F盘下新建两个目录 tomcat1 tomcat2
    2. 修改tomcat1和tomcat2的端口,nginx的端口是80
    3. 解压ngix

    a)         修改nginx的nginx.conf文件

    b)        在location节点下添加反向代理

    proxy_pass +代理服务器 例如: proxy_pass http://server_yujia

    这只是代理一台服务器

    4.代理集群

    需要在http节点下添加一个

    upstream servlet_yujia{

             server 127.0.0.1:8080;    tomcat服务器1

             server 127.0.0.1:8090;    tomcat 服务器2

    }

    修改location下的反向代理

    Proxy_pass http://servlet_yujia

    1. session共享问题

    解决方式一:

               Web服务器解决(广播机制)

               注意:tomcat下性能低

    修改两个地;(只能在windows中使用)

    1. 修改tomcat的server.xml支持共享
    2. 2.修改项目的配置文件

    解决方式二

               可以将session的id放入redis中

    解决方式三

    保证一个ip地址永远的访问一台web服务器,就不存在session共享问题了,在linux中使用

               在nginx的配置文件中

    upsteam中添加 ip_hash;

    在linux上搭建集群:

    1. 先将nginx上传到linux上
    2. 在/usr/local下创建目录nginx,并将文件解压到此文件夹
    3. 先编译nginx

    安装依赖包    

             yum install gcc-c++

                                yum install -y pcre pcre-devel

    yum install -y zlib zlib-devel

    yum install -y openssl openssl-devel

                  执行编译:

                         先进入nginx的目录(解压好的)

    执行 ./configure

    4 安装nginx

    执行

           make

           make install

    两个命令

    5启动nginx

     cd到nginx目录下

           配置文件conf

    启动nginx

    cd到sbin目录下

    执行:

           ./nginx

    查看nginx是否启动 ps –ef | grep nginx

    6.将端口号80添加到防火墙中

    /sbin/iptables –I INPUT –p tcp – dport 80 –j ACCEPT

    将设置添加到防火墙的规则中

    /etc/rc.d/init.d/iptables save

    7 修改conf文件,配置和windows一样

  • 相关阅读:
    thinkPHP 远程数据库和远程连接数据库表名大小写混合
    浏览器兼容性的问题
    input 的那些事
    jquery ui draggable失效的问题
    thinkphp在php5.6以上版本显示"No input file specified"
    ajax dataType
    DOM对象的处理
    ubuntu 16.4 中eth0添加ip地址,且可以上网
    linux 安装phpstudy
    select样式清除
  • 原文地址:https://www.cnblogs.com/zqr99/p/7892283.html
Copyright © 2020-2023  润新知