nginx+keeplive
nginx master 192.168.0.5nginx backup 192.168.0.6
nginx_vip 192.168.0.100
web1 192.168.0.7
web2 192.168.0.8
nginx_master和nginx_backup 安装代码
tar -zxvf pcre-8.31.tar.gz安装pcre 让安装Nginx支持rewrite
cd pcre-8.31
./configure
make
make install
添加用户组
groupadd www
useradd -g www www
tar -zxvf nginx-0.8.55.tar.gz
cd nginx-0.8.55
mkdir -p /usr/local/nginx
./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_ssl_module
make
make install
安装过程中出现
/usr/local/nginx/sbin/nginx: error whileloading shared libraries: libpcre.so.1: cannot open shared object file: No suchfile or directory
解决办法:
ldd$(which /usr/local/nginx/sbin/nginx)
linux-gate.so.1 =>(0x008a8000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00643000)
libcrypt.so.1 => /lib/libcrypt.so.1 (0x06806000)
libpcre.so.1 => not found
libssl.so.6 => /lib/libssl.so.6 (0x062e5000)
libcrypto.so.6 => /lib/libcrypto.so.6(0x00ae2000)
libdl.so.2 => /lib/libdl.so.2 (0x0063d000)
libz.so.1 => /usr/lib/libz.so.1 (0x0065d000)
libc.so.6 => /lib/libc.so.6 (0x004cc000)
/lib/ld-linux.so.2 (0x004ae000)
libgssapi_krb5.so.2 =>/usr/lib/libgssapi_krb5.so.2 (0x06236000)
libkrb5.so.3 => /usr/lib/libkrb5.so.3 (0x06052000)
libcom_err.so.2 => /lib/libcom_err.so.2 (0x00c41000)
libk5crypto.so.3 => /usr/lib/libk5crypto.so.3 (0x0612b000)
libresolv.so.2 => /lib/libresolv.so.2(0x00a06000)
libkrb5support.so.0 => /usr/lib/libkrb5support.so.0 (0x06212000)
libkeyutils.so.1 => /lib/libkeyutils.so.1 (0x00de8000)
libselinux.so.1 => /lib/libselinux.so.1 (0x006c5000)
libsepol.so.1 => /lib/libsepol.so.1(0x0067d000)
解决办法:(启动缺少libpcre.so.1块)ln -s/usr/local/lib/libpcre.so.1 /lib/ 32位
ln -s/usr/local/lib/libpcre.so.1 /lib64/ 64位
安装完之后发现一个模块忘记安装了
解决办法
/usr/local/nginx/sbin/nginx -V查看已安装模块情况
cd /home/nginx-0.8.55
./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_stub_status_module --with-http_ssl_module
make
cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
cp ./objs/nginx /usr/local/nginx/sbin/nginx
/usr/local/nginx/sbin/nginx -V
如果不行的话,请高手指点
MASTER和BACKUP都这样安装
下面是NGINX.CONF
userwww www;
worker_processes2;
pid /usr/local/nginx/logs/nginx.pid;
worker_rlimit_nofile 51200;
#error_loglogs/error.log;
#error_loglogs/error.lognotice;
#error_loglogs/error.loginfo;
#pid logs/nginx.pid;
events {
use epoll;
worker_connections51200;
}
http {
include mime.types;
default_typeapplication/octet-stream;
server_names_hash_bucket_size 128;
client_header_buffer_size 32k;
large_client_header_buffers 4 32k;
client_max_body_size 8m;
sendfile on;
tcp_nopush on;
keepalive_timeout 60;
tcp_nodelay on;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
fastcgi_buffer_size 64k;
fastcgi_buffers 4 64k;
fastcgi_busy_buffers_size 128k;
fastcgi_temp_file_write_size 128k;
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.1;
gzip_comp_level 2;
gzip_types text/plain application/x-javascript text/css application/xml;
gzip_vary on;
log_formatmain'$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_loglogs/access.logmain;
upstream backend
{
ip_hash;
server 192.168.0.7:80;
server 192.168.0.8:80;
}
server {
listen 80;
server_namewww.zyg.com;
location / {
root /var/www/html;
indexindex.html index.htm index.php;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For proxy_add_x_forwarded_for;
proxy_pass http://backend;
}
error_page404 /404.html;
error_page 500 502 503 504/50x.html;
location /nginx {
access_log off;
stub_status on;
}
}
}
nginx安装完毕
开始安装keepalived
tar -zxvf keepalived-1.1.15.tar.gz
cd keepalived-1.1.15
mkdir -p /usr/local/keepalived
./configure --prefix=/usr/local/keepalived/
make
make install
cp /usr/local/keepalived/sbin/keepalived /usr/sbin/
cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/
配置文件
# cat /etc/keepalived/keepalived.conf
!Confiuration File for keeplived
global_defs {
notification_email {
zyg455178278@sina.com
}
notification_email_from keepalived@ chtopnet.com
smtp_server 127.0.0.1
smtp_connect_timeout 30
route_id LVS_DEVEL
}
vrrp_instance VI_1 {
state BACKUP
interface eth0
virtual_router_id 51
mcast_src_ip 192.168.0.5
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass chtopnet
}
virtual_ipaddress {
192.168.0.100
}
}
日志文件
Nov 15 23:04:25 localhost Keepalived_vrrp: Configuration is using : 62250 Bytes
Nov 15 23:04:25 localhost Keepalived_vrrp: VRRP_Instance(VI_1) Entering BACKUP STATE
Nov 15 23:04:25 localhost Keepalived_vrrp: VRRP sockpool:
Nov 15 23:04:26 localhost Keepalived_vrrp: VRRP_Instance(VI_1) forcing a new MASTER election
Nov 15 23:04:27 localhost Keepalived_vrrp: VRRP_Instance(VI_1) Transition to MASTER STATE
Nov 15 23:04:28 localhost Keepalived_vrrp: VRRP_Instance(VI_1) Entering MASTER STATE
Nov 15 23:04:28 localhost Keepalived_vrrp: VRRP_Instance(VI_1) setting protocol VIPs.
Nov 15 23:04:28 localhost Keepalived_vrrp: VRRP_Instance(VI_1) Sending gratuitous ARPs on eth0 for 192.168.0.100
Nov 15 23:04:28 localhost avahi-daemon: Registering new address record for 192.168.0.100 on eth0.
Nov 15 23:04:33 localhost Keepalived_vrrp: VRRP_Instance(VI_1) Sending gratuitous ARPs on eth0 for 192.168.0.100
查看ipaddr是否有VIP
# ip addr
1: lo:mtu 16436 qdisc noqueue
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 qlen 1000
link/ether 00:0c:29:09:32:67 brd ff:ff:ff:ff:ff:ff
inet 192.168.0.5/24 brd 192.168.0.255 scope global eth0
inet 192.168.0.100/32 scope global eth0
inet6 fe80::20c:29ff:fe09:3267/64 scope link
valid_lft forever preferred_lft forever
3: sit0:mtu 1480 qdisc noop
link/sit 0.0.0.0 brd 0.0.0.0
最后模拟测试故障通过
页:
[1]