使用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.修改项目的配置文件

  3.  

 

 

解决方式二

           可以将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一样

 

posted @ 2017-11-24 20:43  懒人写博客  阅读(3535)  评论(0编辑  收藏  举报