设为首页 收藏本站
查看: 811|回复: 0

[经验分享] nginx+keepalived+3个站点

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-9-6 09:04:36 | 显示全部楼层 |阅读模式
一 部署环境:
master:192.168.127.129
slave:192.168.127.130
vip: 192.168.127.100  (在实际环境中需要公网ip)
两台服务器上面分别有三个站点,web,h5,app

nginx和keepalived 安装过程省略

二 master配置文件设置
1 master  负载均衡配置
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
[iyunv@master vhosts]# vi ld.conf
upstream www{
     server 192.168.127.129:81;
     server 192.168.127.130:81 ;
ip_hash;
}
server {
     listen 81;
     server_name  www.ihnhlife.com;
     location / {
       proxy_pass http://www/;
       proxy_set_header Host $host;
  }
}
## S.ihnhlife.com  APP端
upstream s{
     server 192.168.127.129:83 ;
     server 192.168.127.130:83 ;
ip_hash;
}
server {
     listen 83;
     server_name  s.ihnhlife.com;
     location / {
       proxy_pass http://s/;
       proxy_set_header Host $host;
  }
}
upstream h5{
     server 192.168.127.129:82;
     server 192.168.127.130:82;
     ip_hash;
}
server {
     listen 82;
     server_name  m.ihnhlife.com;
     location / {
       proxy_pass http://h5/;
       proxy_set_header Host $host;
  }
}




2 master 3个站点的配置文件:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
[iyunv@master vhosts]# cat m.ihnhlife.com.conf
server
{
    listen 192.168.127.129:82;
    server_name localhost;
    index index.html index.htm;
    root /data/wwwroot/m.ihnhlife.com/;
}
[iyunv@master vhosts]# cat s.ihnhlife.com.conf
server
{
    listen 192.168.127.129:83;
    server_name localhost;
    index index.html index.htm;
    root /data/wwwroot/www.ihnhlife.com/;
location / {
            proxy_pass http://192.168.127.129:8080;
            proxy_set_header Host  $host;
            proxy_set_header X-Forwarded-For  $proxy_add_x_forwarded_for;
            proxy_set_header X-Real-IP  $remote_addr;
}
}
server
{
    listen 192.168.127.129:81;
    server_name localhost;
    index index.html index.htm;
    root /data/wwwroot/www.ihnhlife.com/;
}




3 master三个站点根目录配置 (/data/wwwroot)

1
2
3
4
5
6
7
8
[iyunv@master wwwroot]# ls
m.ihnhlife.com  s.ihnhlife.com  www.ihnhlife.com
[iyunv@master m.ihnhlife.com]# cat index.html
129m.inhnlife.com
[iyunv@master s.ihnhlife.com]# cat index.html
129 s.inhnlife.com
[iyunv@master www.ihnhlife.com]# cat index.html
129 www.ihnhlife.com



4 master keepalived配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
global_defs {
   notification_email {
     root@localhost
   }
   notification_email_from admin@localhost
   smtp_server 127.0.0.1
   smtp_connect_timeout 30
   router_id LTT
}
vrrp_script chk_nginx {  #检测nginx服务是否在运行有很多方式,比如进程,用脚本检测等等
   script "killall -0 nginx"  #用shell命令检查nginx服务是否存在
   interval 1  #时间间隔为1秒检测一次
   weight -2   #当nginx的服务不存在了,就把当前的权重-2
   fall 2      #测试失败的次数
   rise 1      #测试成功的次数
}
vrrp_instance IN_1 {
    state MASTER
    interface eth0
    virtual_router_id 22
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass aaaa
    }
    virtual_ipaddress {
        192.168.127.100
    }
   track_script {
    chk_nginx   #引用上面的vrrp_script定义的脚本名称
}
}




5 master nginx的主配置文件:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
user nobody nobody;
worker_processes 2;
error_log /usr/local/nginx/logs/nginx_error.log crit;
pid /usr/local/nginx/logs/nginx.pid;
worker_rlimit_nofile 51200;      #并发数设置
events
{
    use epoll;
    worker_connections 6000;   #单个后台worker process进程的最大并发链接数
}
http
{
    include mime.types;
    default_type application/octet-stream;
    server_names_hash_bucket_size 3526;
    server_names_hash_max_size 4096;
    log_format combined_realip '$remote_addr$http_x_forwarded_for[$time_local]'   (log_format是日志的名字可以自定义)
    '$host "$request_uri" $status'
    '"$http_referer" "$http_user_agent"';
    sendfile on;
    tcp_nopush on;
    keepalive_timeout 30;
    client_header_timeout 3m;
    client_body_timeout 3m;
    send_timeout 3m;
    connection_pool_size 256;
    client_header_buffer_size 1k;
    large_client_header_buffers 8 4k;
    request_pool_size 4k;
    output_buffers 4 32k;
    postpone_output 1460;
    client_max_body_size 10m;
    client_body_buffer_size 256k;
    client_body_temp_path /usr/local/nginx/client_body_temp;
    proxy_temp_path /usr/local/nginx/proxy_temp;
    fastcgi_temp_path /usr/local/nginx/fastcgi_temp;
    fastcgi_intercept_errors on;
    tcp_nodelay on;
    gzip on;
    gzip_min_length 1k;
    gzip_buffers 4 8k;
    gzip_comp_level 5;
    gzip_http_version 1.1;
    gzip_types text/plain application/x-javascript text/css text/htm application/xml;
    include vhosts/*.conf;



三 slave 配置文件:
slave除了keepalvied的配置不同之外,其余的都是一样的,复制一份即可(3个站点的内容改一下,为了方便识别)

keepalived的配置:
1
2
3
vim keepalived.conf   #此配置文件是从Master服务器上copy过来,只需小小改动
state BACKUP  #把这里原先的MASTER改成BACKUP
priority 99   #把这里原先的100改成99




四 启动服务并测试

最后在两台主机分别启动nginx和keepalived 服务
1 停掉主上面的nginx服务,看是否可以正常访问3个站点
2 停掉主上面的keepalvied服务,看是否可以正常访问3个站点



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-268305-1-1.html 上篇帖子: CentOS 6.5 源码安装Nginx 下篇帖子: nginx启动异常
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表