在Centos 7中搭建 Nginx 集群

    如果我的博客能够帮到大家能够点个赞,关注一下,以后还会更新更过JavaWeb的高级技术,大家的支持就是我继续更新的动力。谢谢。

前期准备:Centos 7 

                nginx-1.6.2:  wget http://nginx.org/download/nginx-1.6.2.tar.gz 

  • 解压Nginx 到/use/local/nginx
tar -xvf nginx-1.6.2.tar.gz /usr/loca/nginx
  • 下载依赖的库文件
yum install pcre

yum install pcre-devel

yum install zlib

yum install zlib-devel
  •  安装nginx

 cd /usr/local/nginx-1.6.2   && ./configure --prefix=/usr/local/nginx

  • 编译安装(  cd 到解压好的nginx-1.6.2,这个目录下安装编译)

make && make install

  • 启动Nginx

    执行完5步骤后,cd 到/usr/local/nginx目录下。执行ls,可以看到四个目录

  conf----配置文件  html----网页文件  logs-----日志文件  sbin------主要二进制程序

 启动命令:  /usr/local/ngnix/sbin/nginx    (无参数) 启动    (-s  stop)关闭    (-s reload)重启

  • 查看

查看是否成功     ps -ef | grep nginx (如果能看到两个相邻ID的进程,说明启动成功)

失败的可能       80端口被占用了。    netstat -ano | grep 80

如果成功的话,浏览器访问能看到欢迎页面:(http://服务器的IP:80)

 nginx的结构目录(四个conf、html、logs、sbin,其他的都是运行后生成的或者自己添加的)

 Nginx的作用都是靠着conf/nginx.conf  配置文件发挥的作用。只要能读懂它,会简单的编写,基本算是入门级别了。

  • 常用练习

1)请求过滤转发等(上面的配置,它的效果展示)

firefox的请求结果:  (被转发到了rewrite.html了,当然上面那个html可以写成连接,这样就跳到了对应的链接里了)

  chrome的请求结果:(没被转发走,默认的Nginx欢迎页面)

2)日志的区分、切分

 ./sbin/nginx -s reload     重启Nginx后,分别生成两个对应的日志文件

 分别访问两个请求数次,然后去查看日志文件

 不同端口的请求,会被写入到不同的日志文件中了。

   日志的切分(即每天的请求记录生成一个日志文件;如果网站访问量比较大,Nginx的日志文件一天的记录就会达到MB级别;这样按时间切分便于查看和监控)

日志切分需要使用Linux的定时任务命令crontab。脚本的基本命令就是1、关闭Nginx;2、将日志文件移动到某一目录并改名;

  • 重启nginx

 /sbin/nginx -s stop
 mv  日志xx.log   数据目录/20180920-nginx.log  
 /sbin/nginx

-----------------------------------------------------------------------—-------Nginx 知识----------------------------------------------------------------------------------

nginx:
    Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器
    特点:
        反向代理 负载均衡 动静分离...
    反向代理 :
        先来了解正向代理:需要我们用户,手动的设置代理服务器的ip和端口号
        反向代理:代理服务器的,用户不需要设置.
        
    负载均衡:
        原理就是数据流量分摊到多个服务器上执行,减轻每台服务器的压力,
        多台服务器共同完成工作任务,从而提高了数据的吞吐量。
    动静分离:
        将静态的资源放到反向服务器,节省用户的访问时间.


用nginx在window上搭建一个集群
    1.在g盘新建两个目录 tomcat1 tomcat2
    2.修改tomcat2的端口 在tomcat1的端口上+10
    3.解压nginx
        修改nginx的 nginx.conf文件
        在locatioin / 下添加了反向代理
            proxy_pass 代理服务器
        这是只是代理一台服务器
    4.代理集群
        需要在http节点上添加一个
            upstream servlet_yujia{
                server 127.0.0.1:8080;
                server 127.0.0.1:8090;
            }
        修改location /下的反向代理 
            proxy_pass http://servlet_yujia
    5.session共享问题
        解决方式1:只能在window下好使
            web服务器解决(广播机制)
            注意:tomcat下性能低
            修改两个地方:
                1.修改tomcat的server.xml 支持共享
                    将引擎标签下的 
                        <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
                    注释去掉
                2.修改项目的配置文件 web.xml中添加一个节点
                    
        解决方式2:
            可以将session的id放入redis中
        解决方式3:
            保证一个ip地址永远的访问一台web服务器,就不存在session共享问题了,在linux
            在nginx的配置文件中
                upstream中添加 ip_hash; 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值