ǰλ:»̳ йˮ
б

Ϊʲô˵ʹüȺվ߲ijֶ

[]

мԱ

Rank: 3Rank: 3

446
2022-6-1 13:33:43 | ʾȫ¥ |Ķģʽ
ĸҴʹüȺվ߲ijֶνϣܹʵдһİؾ漰ĶȽ϶࣬Ҳ࣬кܶ鼮ǾVecloudҵۼƵľһ
ǰ
ʹüȺվ߲ijֶΡһ̨ƷĴ洢ռ䲻ʱҪͼȥǿķԴվԣܶôǿķ㲻վҵ£ǡһֵ̨ԭзķʼ洢ѹͨؾȷķַӦ÷Ⱥеκһ̨ϣиûڼȺмӦ÷ʹӦƷĸѹٳΪվƿ

׼
192.168.0.221nginx + keepalived  master
192.168.0.222nginx + keepalived  backup
192.168.0.223tomcat
192.168.0.224tomcat
ip(VIP):192.168.0.200ṩipҲɳip
֮Ĺϵͼ£
tomcatӦ÷
tomcatİװڱͷΧ֮ڣɲοvirtualBoxװcentostomcattomcatwebapps¼ǵ÷ԼӦãҵmyWebҲҵmyWebôindex.jspеipҪԼ
192.168.0.223192.168.0.224ϵtomcattomcat·ܺҵIJһ£ҪдԼ
# cd /usr/local/tomcat7/bin
# ./startup.sh
myWeb

nginxؾ
nginxİװľͲˣɲοLVS + keepalived + nginx + tomcat ʵȱ + ؾ
nginx.conf
ƴ
user root;      #û
worker_processes 1;    #,ͨóɺcpu
#ȫִ־PIDļ
error_log /usr/local/nginx/logs/error.log;
error_log /usr/local/nginx/logs/error.log notice;
error_log /usr/local/nginx/logs/error.log info;
pid    /usr/local/nginx/logs/nginx.pid;
ģʽ

events
{
use epoll;      #epollǶ·IO(I/O Multiplexing)еһַʽ,ǽlinux2.6ں,Դnginx
worker_connections 1024;  #̨worker process̵󲢷}
#趨http,ķṩؾ֧
http
{
include    mime.types;
default_type application/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 ָָ nginx Ƿ sendfile zero copy ʽļͨӦã#Ϊ on,صӦôIOظӦãΪ offƽI/Oٶȣϵͳuptime.sendfile    on;tcp_nopush   on;tcp_nodelay  on;#ӳʱʱkeepalive_timeout 65;#gzipѹʹ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;#tomcatбʵӦ÷upstream tomcat_pool {  #server tomcatַ:˿ں weightʾȨֵȨֵԽ󣬱ļԽ;server 192.168.0.223:8080 weight=4 max_fails=2 fail_timeout=30s;
server 192.168.0.224:8080 weight=4 max_fails=2 fail_timeout=30s;
}
server {  listen    80;    #˿    server_name localhost;#Ĭlocation / {  proxy_pass http://tomcat_pool;  #תtomcat}#еjspҳtomcatlocation ~ \.(jsp|jspx|dp)?${  proxy_set_header Host $host;  proxy_set_header X-Real-IP $remote_addr;  proxy_pass http://tomcat_pool;  #תtomcat}#еľ̬ļֱӶȡtomcat,nginxԼlocation ~ .*\.(htm|html|gif|jpg|jpeg|png|bmp|swf|ioc|rar|zip|txt|flv|mid|doc|ppt|pdf|xls|mp3|wma)$ {   expires 30d;}location ~ .*\.(js|css)?${  expires 1h;}#ʾҳ  error_page  500 502 503 504 /50x.html;  location = /50x.html {    root  html;  }}}
ƴ

nginxļȫһnginx.confÿɸӿɼ򵥣ҸԼãհҲǿԵġ
úúnginx·ҪдԼ
# cd /usr/local/nginx/sbin
# ./nginx
nginxЧ£
̨nginxʱûֵ֮ģ߼һߣkeepalived֮֮ˡ
keepalivedʵnginx߿(HA)
keepalivedİװľͲˣɲοȱ+ؾ⣨LVS + keepalived
keepalivedʵڵһͼѾ֣ҪãʵVIPipӳ䣻 Լnginx״̬
masterϵkeepalived.conf£
ƴ
global_defs {
notification_email {[email protected]
br/>[email protected]<br/}
notification_email_from [email protected]
smtp_server smtp.hysec.com
smtp_connection_timeout 30
router_id nginx_backup       # nginx backupidһӦΨһ
}
vrrp_script chk_http_port {
script "/usr/local/src/check_nginx_pid.sh"
interval 2             #űִеļ
weight 2
}
vrrp_instance VI_1 {
state BACKUP            # ָkeepalivedĽɫMASTERΪBACKUPΪ
interface eth0           # ǰvrrpͨѶӿڿ(ǰcentos)
virtual_router_id 66        # ·ɱţҪһֱ
priority 99             # ȼֵԽ󣬻ȡȼԽ
advert_int 1            # ĬΪ1s(vrrp鲥)
authentication {
auth_type PASS
auth_pass 1111
}
track_script {
chk_http_port          #üű
}
virtual_ipaddress {
192.168.0.200          # ip(VIP)ɶ裬ÿһ
}
}
ƴ
nginxűcheck_nginx_pid.sh£
ƴ
#!/bin/bash
A=ps -C nginx --no-header |wc -l
if [ $A -eq 0 ];then
/usr/local/nginx/sbin/nginx        #nginx
if [ ps -C nginx --no-header |wc -l -eq 0 ];then  #nginxʧܣͣkeepalived񣬽VIPת
killall keepalived
fi
fi
ƴ
keepalived
# service keepalived start
VIPЧ£
keepalived־Ϣ
master192.168.0.221

backup192.168.0.222

ǰmasterϵkeepalivedͣģ崻keepalived־
ԭmaster192.168.0.221

ԭbackup192.168.0.222

ͨVIPʷǰܲnginxл»ԭmaster192.168.0.221IJͲˣв
ע
1ִнűʱ/bin/sh^M: bad interpreter: ûǸļĿ¼
Ϊϵͳwindowswindows±༭ĽűпвɼַűļDOSʽ, ÿһеβԻسͻзʶ, ASCIIֱ0x0D, 0x0Aкְܶ취ļDOSʽĻUNIXʽ, MACʽ

vim filename
:set ff? #Կdosunix. ȷdosʽġ
:set ff=unix #ǿΪunixʽ, Ȼ˳
ٴнű
windows༭ļٿlinuxʱҪرע⣬⣬űҪִȨ޲ִУִļһֱ۱־ļɫ
2ؾýжԣЩỺ棬ûиؾЧβйȸͳƵ(ûǷǻԭ)360IEĸؾЧ
3
IP(VIP)keepalivedӳ䵽nginxnginxתtomcat磺
keepalivedip

VIPܻkeepalivedеijһ̨ϣҲֻеijһ̨ϣVIP󶨵ķϵnginxmasterVIPڵķ崻ˣkeepalivedὫVIPתƵbackupϣbackupΪmaster
4VIPҲƸipǹipӳ䣬ṩ ipһԶip ⲿֱӷʲ˵
ר_IDC http://www.vecloud.com/
ظ

ʹõ ٱ

б

ʹ߼ (ͼƵ)ٻظ

ֹ   Ctrl + Enter ٷ  

ʱҹɣվὫй㷢ݡʱԼIPַȼ¼ֻҪӵϷ󣬼ὫϢṩй
ٻظ ض б