一,配置nginx
安裝nginx包 javascript
a.安裝pcre css
tar zxvf pcre-7.2.tar.gz html
cd pcre java
./configure --prefix = /pcre node
Make;make install nginx
b,安裝nginx web
tar zxvf nginx-0.6.32.tar.gz 後端
cd nginx-0.6.32 緩存
./configure --prefix=/nginx –with-pcre=/pcre --with-http_rewrite_module tomcat
Make;make install
3, 修改配置文件
Vi /nginx/conf/nginx.conf
#用戶組
user nobody nobody;
#cpu個數,能夠按照實際服務器來計算
worker_processes 8;
worker_rlimit_nofile 51200;
events {
use epoll;
#鏈接數
worker_connections 8192 ;
}
http {
include mime.types;
default_type application/octet-stream;
server_names_hash_bucket_size 128;
# access_log off;
# access_log logs/access.log;
#緩存的時間,(能夠根據不一樣文件設置不一樣時間)
# expires 2h;
tcp_nodelay on;
keepalive_timeout 30;
gzip on;
gzip_min_length 10;
gzip_buffers 4 8k;
gzip_http_version 1.1;
gzip_types text/plain application/x-javascript text/css text/html application/xml;
sendfile on;
tcp_nopush on;
reset_timedout_connection on;
client_max_body_size 30m;
#設定負載均衡列表
upstream backend
{
server 172.23.254.2:8080;
server 172.23.254.3:8080;
}
#設定虛擬主機
server {
listen 80;
server_name www.abc.com;
#對 / 全部作負載均衡(本機nginx採用徹底轉發,全部請求都轉發到後端的tomcat集羣)
location / {
root /web/www ;
index index.jsp index.htm index.html;
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;
}
}
}
主要在配置proxy與upstream
Upstream具備負載均衡能力,能夠自動判斷下面的機器,而且自動踢出不能正常提供服務的機器。
4,啓動程序
/nginx/sbin/nginx
5,編寫啓動腳本
Vi nginx.sh
#!/bin/sh
CWD=`pwd`
case $1 in
start)
/nginx/sbin/nginx;
;;
stop)
kill -2 `ps -ef|grep "/nginx/sbin/nginx"|grep -v "grep"|awk '{print $2}' `
;;
restart)
cd "$CMD"
$0 stop
$0 start
;;
*)
echo $"Usage: $0 {start|stop|restart}"
exit 1
esac
exit 0
二,配置tomcat
1, 下載tomcat5.59
tar zxvf tomcat5.59
2,修改配置文件
a,配置數據源
b,優化tomcat最大併發數
<Connector port="8080" maxHttpHeaderSize="8192"
maxThreads="2048" minSpareThreads="100" maxSpareThreads="200"
enableLookups="false" redirectPort="8443" acceptCount="500"
connectionTimeout="20000" disableUploadTimeout="true" />
c,添加虛擬主機
(注,主轉發的虛擬主機必須用localhost,不然nginx不能經過內網ip轉發,而只有經過域名轉發
d,測試
打開http://ip:8080
頁面能訪問則正常
2, 其餘的tomcat服務器也用一樣的配置
三,作tomcat集羣
兩臺機器 172.23.254.2 172.23.254.3
作集羣須要修改的文件配置有三個地方
1,修改conf/server.xml配置文件
a. 找到Engine標籤,加入屬性 jvmRoute="worker1"
b.找到Cluster標籤,去掉註釋,同時修改tcpListenAddress爲本機ip 172.23.254.2 (注:這一段Cluster必須放在hosts裏面)
2, 修改應用的web.xml
修改web應用裏面WEB-INF目錄下的web.xml文件,加入標籤
<distributable/>
直接加在</web-app>以前就能夠了
這個是加入tomcat的session複製的,作tomcat集羣必須須要這一步,不然用戶的session就沒法正常使用。
3, 開啓防火牆
這兩個tomcat之間必須開啓防火牆信任。
分別啓動兩個tomcat,查看每個tomcat是否都啓動了8080端口以及4001端口
再用netstat –an 查看連接狀況
tcp 0 0 172.23.254.2:43320 172.23.254.3:4001 ESTABLISHED
tcp 0 0 172.23.254.2:46544 172.23.254.3:4001 TIME_WAIT
tcp 0 0 172.23.254.2:40118 172.23.254.3:4001 ESTABLISHED
tcp 0 0 172.23.254.2:4001 172.23.254.3:48804 ESTABLISHED
tcp 0 0 172.23.254.2:4001 172.23.254.3:34254 ESTABLISHED
若是兩臺機器的4001端口分別創建了鏈接,則說明集羣配置成功,能夠進行session複製。