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

[经验分享] nginx+keepalived安装配置(整理中)

[复制链接]

尚未签到

发表于 2018-12-30 10:11:40 | 显示全部楼层 |阅读模式
  线上环境安装测试说明
两台测试机
nginx+keepalived做后端LNMP及tomcat+jdk+mysql的负载高可用

测试环境
centos 6.2 x86_64
IP:192.168.101.77
vip:10.10.10.8

centos 6.2 x86_64
IP:192.168.101.88
vip:10.10.10.8

由于测试环境,两台都安装同样的服务

安装过程

192.168.101.77和192.168.101.88 安装nginx+keepalived
安装依赖包
yum -y install cmake gcc gcc-c++ make zlib zlib-devel openssl* popt popt-devel pcre pcre-devel

安装pcre
[root@open2 src]# tar jxvf pcre-8.20.tar.bz2        
[root@open2 src]# cd pcre-8.20                           
[root@open2 pcre-8.20]# ./configure --prefix=/usr/local/app/pcre
[root@open2 pcre-8.20]# make && make install
[root@open2 pcre-8.20]# cd ..

安装nginx
[root@open2 src]# tar zxvf nginx-1.5.6.tar.gz
[root@open2 src]# cd nginx-1.5.6
[root@open2 nginx-1.5.6]# ./configure --prefix=/usr/local/app/lbnginx --with-pcre=/usr/src/pcre-8.20
[root@open2 nginx-1.5.6]# make
[root@open2 nginx-1.5.6]# make install
[root@open2 nginx-1.5.6]# cd ..

安装keepalived
[root@open2 src]# tar zxvf keepalived-1.2.8.tar.gz         
[root@open2 src]# cd keepalived-1.2.8                                                
[root@open2 keepalived-1.2.8]# ./configure --prefix=/usr/local/app/keepalived
[root@open2 keepalived-1.2.8]# make
[root@open2 keepalived-1.2.8]# make install

配置文件,启动脚本
[root@open2 keepalived-1.2.8]# cp /usr/local/app/keepalived/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/
[root@open2 keepalived-1.2.8]# cp /usr/local/app/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
[root@open2 keepalived-1.2.8]# mkdir /etc/keepalived
[root@open2 keepalived-1.2.8]# cp /usr/local/app/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/
[root@open2 keepalived-1.2.8]# cp /usr/local/app/keepalived/sbin/keepalived /usr/sbin/
[root@open2 keepalived-1.2.8]# chkconfig --level 2345 keepalived on
[root@open2 keepalived-1.2.8]# service keepalived start
Starting keepalived:                                       [  OK  ]

[root@open-source keepalived]# ip a
1: lo:  mtu 16436 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0:  mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:c5:78:f3 brd ff:ff:ff:ff:ff:ff
    inet 192.168.101.77/24 brd 192.168.101.255 scope global eth0
    inet 192.168.101.7/32 scope global eth0
    inet 10.10.10.8/32 scope global eth0                   #查看VIP是否启动
    inet6 fe80::20c:29ff:fec5:78f3/64 scope link
       valid_lft forever preferred_lft forever

192.168.101.77 keepalived配置,192.168.101.88配置一样只是换一下IP
[root@open2 ~]# cat /etc/keepalived/keepalived.conf
! Configuration File for keepalived

global_defs {
   notification_email {
        leeforget@test.com
   }
   notification_email_from leeforget@test.com
   smtp_server 192.168.101.77
   smtp_connect_timeout 30
   router_id LVS_DEVEL
}

vrrp_instance VI_1 {
    state MASTER
    interface eth0
    virtual_router_id 51
    mcast_src_ip 192.168.101.77
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass testpass
    }
    virtual_ipaddress {
        10.10.10.8
    }
}

nginx 配置
[root@open-source conf]# cat nginx.conf
user  www;
worker_processes  4;

worker_rlimit_nofile 65535;

error_log   /var/log/lbnginx/error.log;
#error_log  logs/error.log  info;
#pid        logs/nginx.pid;

events {
        use epoll;
        worker_connections  102400;
}

http {
        include       mime.types;
        default_type  application/octet-stream;

        sendfile        on;
        tcp_nopush     on;
        tcp_nodelay     off;


        gzip  on;
        gzip_comp_level 1;
        gzip_proxied any;
        gzip_types text/plain text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript

        keepalive_timeout  30;

        log_format access '$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent $request_body "$http_referer" "$http_user_agent" $http_x_forwarded_for';

#for sites enabled
        include  /usr/local/app/lbnginx/conf/lb-enabled/*;

}

一个测试server的配置文件
#gy wwww.mytest.com
upstream mytest10000 {
# simple round-robin
       server 192.168.101.77:10000;
       server 192.168.101.88:10000;

}

server {
        listen 80;
        server_name mytest.com;

        access_log /var/log/lbnginx/mytest_access.log access;

        location ~ / {
                proxy_redirect off;
                proxy_set_header Host $host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header REMOTE-HOST $remote_addr;
                proxy_set_header HTTP_HOST $server_name;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                client_max_body_size 50m;
                client_body_buffer_size 256k;
                proxy_connect_timeout 30;
                proxy_send_timeout 30;
                proxy_read_timeout 60;
                proxy_buffer_size 256k;
                proxy_buffers 4 256k;
                proxy_busy_buffers_size 256k;
                proxy_temp_file_write_size 256k;
                proxy_next_upstream error timeout invalid_header http_500 http_503;
                proxy_max_temp_file_size 128m;
                proxy_pass http://mytest10000;
        }


}

测试
本机添加一个10.10.10.9的地址


安装过程中报错及解决办法
1. # ./configure --prefix=/usr/local/app/lbnginx
错误提示PCRE库
./configure: error: the HTTP rewrite module requires the PCRE library.
You can either disable the module by using --without-http_rewrite_module
option, or install the PCRE library into the system, or build the PCRE library
statically from the source with nginx by using --with-pcre= option.

安装pcre
[root@open-source src]# tar jxvf pcre-8.20.tar.bz2 ^C      
[root@open-source src]# cd pcre-8.20^C                     
[root@open-source src]# cd pcre-8.20                        
[root@open-source pcre-8.20]# ./configure --prefix=/usr/local/pcre

# ./configure --prefix=/usr/local/app/lbnginx --with-pcre=/usr/local/pcre/

还是PCRE报错
[root@open-source nginx-1.5.6]# make
make -f objs/Makefile
make[1]: Entering directory `/usr/src/nginx-1.5.6'
cd /usr/local/pcre/lib/ \
        && if [ -f Makefile ]; then make distclean; fi \
        && CC="cc" CFLAGS="-O2 -fomit-frame-pointer -pipe " \
        ./configure --disable-shared
/bin/sh: line 2: ./configure: No such file or directory
make[1]: *** [/usr/local/pcre/lib//Makefile] Error 127
make[1]: Leaving directory `/usr/src/nginx-1.5.6'
make: *** [build] Error 2

google了一下应该制定pcre源码目录
[root@open-source nginx-1.5.6]# ./configure --prefix=/usr/local/app/lbnginx --with-pcre=/usr/src/pcre-8.20
[root@open-source nginx-1.5.6]#make && make install
安装keepalived
[root@open2 src]# tar zxvf keepalived-1.2.8.tar.gz         
[root@open2 src]# cd keepalived-1.2.8   
[root@open-source keepalived-1.2.8]# ./configure --prefix=/usr/local/app/keepalived

2.    # ./configure --prefix=/usr/local/app/keepalived
报错
configure: error: Popt libraries is required
[root@open-source keepalived-1.2.8]# yum -y install popt popt-devel     
[root@open-source keepalived-1.2.8]# ./configure --prefix=/usr/local/app/keepalived
[root@open-source keepalived-1.2.8]# make && make install





运维网声明 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-657489-1-1.html 上篇帖子: keepalived主备切换MSN警告 下篇帖子: 搭建Keepalived+LVS实现简单高可用
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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