`
zhanghaj00
  • 浏览: 64372 次
社区版块
存档分类
最新评论

自己学习nginx,HA 第二天

 
阅读更多
昨天装完了heartbeat

今天就开始装nignx  相比于heartbeat nignx就好装多了,自己下了

nginx-1.4.4.tar.gz  pcre-8.34.tar.gz 包 自己装就行了。记得最后要把 pcre lib下面的libpcre.so.1  cp 到 /lib 目录,这样 nginx 就顺利的启动了


简单修改nginx.conf 文件, 讲server 监控80端口下面的 location 中得root 改成我们共享的那个文件夹,里面有一个index.html 。其他的 先不要改了 以后再说。

安装以后 可以自己写个启动脚本 放到 /etc/init.d/下面,我就懒得写着上面了,,网上也是一大堆, 这个脚本文件很重要,因为heartbeat的 haresource 中要使用,我们的 slave 服务器总不能吧这些服务一直开着吧,所以就需要主服务器down掉了以后 然后再把这些服务开启,(貌似讲了一大堆废话)

这里面有 启动脚本 很详细
http://blog.chinaunix.net/uid-20622737-id-3464285.html

完事具备 开始配置 heartbeat 的三个配置文件了,这时候记得 把第二块网卡的改成心跳ip 当然 用host-only方式来配置第二块网卡,用10.10.10.1 和 10.10.10.2来配置

首先是重要的三个文件 ha.cf , authkeys ,haresources

这几个文件都可以从doc里面找到,然后就拷贝过去,或者也可以自己touch一个,拷贝过去的里面可以看到很多配置多看看。。

首先 配置ha.cf
logfile /var/log/ha-log
##设定心跳(监测)时间时间为2秒
keepalive 2 #多长时间检测一次
warntime 5 #连续多长时间联系不上后开始警告提示
deadtime 20 #连续多长时间联系不上后认为对方挂掉了(单位是妙)
initdead 120 #这里主要是给重启后预留的一段忽略时间段(比如:重启后启动网络等,如果在网络还没有通,keepalive检测肯定通不过,但这时候并不能切换)
#采用bond0的udp广播用来发送心跳信息
bcast eth1
#采用网卡eth1的udp单播来通知心跳,ip应为对方IP,建议采用单播。当一个网段有多台这样cluster话,则一定要采用单播,否则每组cluster都会看到对方的节点,从而报错。这个是两个节点不在一个区段ip不同使用
#ucast eth1 10.10.10.10
##使用udp端口694 进行心跳监测
udpport 694
auto_failback on #恢复正常后是否需要再自动切换回来。
##节点1的HOSTNAME,必须要与 uname -n 指令得到的结果一致。
node prettygirl   这里要在hosts 文件里面设置哦 亲 下面那个node 也要哦
##节点2的HOSTNAME
node web1
##通过ping 网关来监测心跳是否正常
ping 192.168.137.1
hopfudge 1
deadping 5
#指定和heartbeat一起启动、关闭的进程
#respawn hacluster /usr/local/lib64/heartbeat/ipfail
#apiauth ipfail gid=haclient uid=hacluster
#是否采用v2 style模式,在三节点以上时一定要打开
#crm on

haresources 文件 这个文件感觉很重要,里面有虚拟ip地址,还有当主机当掉以后备份机器需要启动的服务(这也就是为什么要把nginx 放在init.d服务下面了)
prettygirl 192.168.137.55 nginx  #后面那个是虚拟IP 这个hb会自己创建,或者 可以接 Filesystem::/dev/sdb2::/www::ext3::rw  //示例挂接一个文件系统,包括设备名,挂接点、类型及权限 自动启动全靠他了

authkeys
auth 1
1 crc  #authkeys需要设置读写权限:chmod 600 ./authkeys




搞完发现一点感觉都没有,突然想到利用nginx的集群和反向代理,把第二台 server上安装2个tomcat 分别是8080.8089,再搞一台虚拟机,哎 公司电脑 不敢瞎搞,什么时候才有钱自己买个电脑 呜呜。

配置nginx.conf

events{
  use epoll
  worker_connections 2048
}
http{
  include /etc/nginx/mine.types;
  default_type application/octet-stream;
  access_log /var/log/nginx/access.log;
 
   sendfile on;
   keepalive_timeout 65;
   gzip on;

   include /etc/nginx/conf.d/*.conf;
  
   #upstream !!!!这里的backend_name 要和下面的server_name 还有 如果要反向代理的proxy_pass 一致。我想的流程应该是本机监听80端口,(我是不是理解错了,怎么和LVS负载均衡一样了),然后通过nginx的proxy_pass 来转到upstream下面的真实服务器。(有没有大神教教我这块的知识)
   upstream backend_name{ 
        server xx.xx.xx.xx:xx weight=2 max_fails=3; 
        server www.xxx.com weight=1; 
        server unix://xxx/xxx; 
        #... 
    }
1、 轮询 每个请求按时间顺序分配到不同的后端服务器了,后端服务器down掉,自动切除;
2、weight  设定服务器权值: 如weight=2    服务器性能不均时候使用 。weight: 默认为1,weight越大,负载的权重越大;
3、 ip_hash 每个请求按访问ip的hash结果分配,每个访客有固定的后端服务器,可以解决session问题;
4、 fair(第三方) 按后端服务器的响应时间来分配,响应时间短的优先分配
5、url_hash (第三方) 按访问的url的hash结果分配,使每个url定向到同一个后端服务器,后端为缓存服务器比较有效。
    server{
       listen 80;
       server_name www.prettygirl.com;
       location /{
           proxy_pass http://backend_name;
#首先说明 proxy_set_header 指令在向反向代理的后端Web服务器发起请求时添加指定的 Header头信息,后端web服务器有多个基于域名的虚拟主机时,通过头信息Host,用于指定请求的域名,这样后端web才能识别反向代理请求哪个虚拟主机处理。
           proxy_set_header Host $host;
           proxy_set_header X-Real-IP $remote_addr;
#在nginx反向代理添加Header头信息 X-Forwarded-For在配合后端服务器日志文件的$http_x_Forwarded_for这条就可以获得用户的IP地址
           proxy_set_header X-Forwarder-For $proxy_add_x_forwarded_fo;
                 }
      #当然nginx的强大之处也可以对静态文件和图片什么的文件处理
       location ~ \.{
               root
               fastcgi
         }
    }

}

这里写的比较匆促 以后会慢慢修改 先发上去 以后自己看!这是自己看的  发现自己记笔记过几天就乱了 写到这里 以后存多久查找方便,不错 ,。。。
分享到:
评论

相关推荐

    HA+nginx集群

    HA+nginx集群

    Nginx第二天学习笔记

    Nginx第二天学习笔记

    精通Nginx(第二版) PDF 非扫描件

    《精通Nginx(第二版)》是一本深入解析Nginx配置的权威指南,由瑞士的Dimitri Aivaliotis撰写,并由李红军翻译为中文版。这本书旨在帮助读者全面理解Nginx的强大功能,提升服务器性能,优化网络服务。Nginx是一款高...

    学习Nginx HTTP Server.pdf 清晰版

    学习Nginx HTTP Server.pdf 清晰版

    精通Nginx(第二版) 高清 带目录 非扫描

    精通Nginx(第2版) 来个分少的 Nginx是一个高性能的HTTP服务器和邮件代理,它只需要使用很少的系统资源就能工作。虽然Web上有很多关于如何使用Nginx的指南和配置示例,但是,要正确地配置Nginx以满足需要并不容易。

    Nginx 应用技术指南Nginx Tips【第二版】.zip

    《Nginx应用技术指南Nginx Tips【第二版】》是针对Nginx服务器管理和优化的一本实用手册。Nginx是一款高性能的HTTP和反向代理服务器,因其高效的性能和丰富的模块支持,在Web服务器领域广泛应用。这本书的第二版很...

    Nginx全套学习指南

    第1章 Nginx简介 第2章 Nginx服务器的安装与配置 第3章 Nginx的基本配置与优化 第4章 Nginx与PHP(FastCGI)的安装、配置与优化 第5章 Nginx与JSP、ASP.NET、Perl的安装与配置 第6章 Nginx HTTP负载均衡和反向代理的...

    nginx源码学习资料

    **Nginx源码学习资料概述** Nginx是一款高性能的HTTP和反向代理服务器,以其轻量级、高并发处理能力以及优秀的稳定性而受到广大Web开发者和运维人员的青睐。学习Nginx源码有助于深入理解其工作原理,提高在实际应用...

    Nginx第三天学习笔记

    Nginx第三天学习笔记

    Nginx第一天学习笔记

    Nginx第一天学习笔记

    Nginx学习丛书 Nginx应用与提高

    《Nginx学习丛书:Nginx应用与提高》是一套深入探讨Nginx服务器的教程,涵盖了Nginx在各种场景下的应用和优化。这套资料的目的是帮助读者全面理解和掌握Nginx的强大功能,提升其在实际工作中的效能。 1. **第3章 ...

    学习Nginx http server.zip

    Nginx是一款高性能的HTTP和反向代理服务器,也是一款邮件代理服务器,广泛应用于...提供的"ѧϰNginx http server.pdf"文件很可能是进一步深入学习Nginx的详细教程,建议仔细阅读,结合实践操作,提升Nginx的使用技能。

    学习Nginx HTTP Server(中文版)

    想学习Nginx的同学快来看哦~比较适合初学者。

    精通Nginx--第2版1

    第二部分是4个附录,分别提供了指令参考、Rewrite规则指南、Nginx社区资源介绍以及在Solaris系统下的网络调优指南。这些附录为读者提供了详尽的参考材料,便于查找和解决问题。 作者Dimitri Aivaliotis拥有丰富的...

    精通Nginx(第二版)非扫描高清

    《精通Nginx(第二版)》在这样的背景下显得尤为重要,它不仅深入剖析了Nginx服务器的工作原理,而且通过实战案例,指导读者如何在实际环境中最大化地利用Nginx的功能。 Nginx被设计为一个高度可扩展的平台,其非...

    windows nginx 按天切割日志

    windows nginx 按天切割日志

    nginx1.18 nginx1.18 nginx1.18

    1. **下载**:从 Nginx 官方网站或通过包管理器(如 apt-get 或 yum)获取 Nginx 1.18 的二进制包或源代码。 2. **编译与安装**:如果从源代码安装,需要编译并配置 Nginx,选择合适的模块和选项。 3. **启动与...

    nginx+eureka实现负载均衡实例

    - **健康检查**:Nginx 还可以配合第三方模块(如 Nginx Plus 或 ngx_http_upstream_check_module)进行后端服务器的健康检查,自动剔除故障服务器。 2. **Eureka 服务注册与发现** - **服务注册**:每个微服务...

    Nginx完整学习笔记.doc

    Nginx完整学习笔记 Nginx 是一个功能强大、灵活、可扩展的 Web 服务器,以下是关于 Nginx 的详细知识点: 安装与部署 Nginx 依赖于 pcre 库,因此在安装 Nginx 之前需要先安装 pcre 库。使用 yum 安装 pcre 和 ...

Global site tag (gtag.js) - Google Analytics