[TOC]
** 部分內(nèi)容源于網(wǎng)絡(luò)杠袱,文檔是個(gè)人學(xué)習(xí)筆記與記錄**
安裝需要準(zhǔn)備的包
commons-pool2-2.2.jar
jedis-2.7.2.jar
tomcat-redis-session-manage-tomcat7.jar
#目前上面這些組件不支持tomcat8.0
apache-tomcat-7.0.75.tar.gz
jdk-8u45-linux-x64.tar.gz #用以支持JAVA
nginx-1.7.8.tar.gz
nginx_upstream_check_module-master.zip #后臺(tái)健康監(jiān)測(cè)插件,需要安裝Nginx時(shí)編譯進(jìn)去
YUM源為epel
規(guī)劃---(測(cè)試機(jī)的配置基本一致饮醇,本文只書寫其一)
IP | 備注 |
---|---|
192.168.247.151 | Nginx+Redis |
192.168.247.152 | tomcat(test1) |
192.168.247.153 | tomcat(test2) |
192.168.247.151
安裝Nginx
為了支持Nginx的rewrite功能际看,首先安裝pcre*模塊
yum -y install pcre*
為了進(jìn)行后臺(tái)的健康檢測(cè),所以下載淘寶的檢測(cè)插件,安裝Nginx直接編譯進(jìn)去
/usr/local/src
nginx_upstream_check_module-master.zip 和nginx-1.7.8.tar.gz
unzip nginx_upstream_check_module-master.zip
tar -zxvf nginx-1.7.8.tar.gz
cd nginx-1.7.8
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_spdy_module --with-http_stub_status_module --with-pcre --add-module=/usr/local/src/nginx_upstream_check_module-master
make
make install
注意:如果是Nginx安裝后進(jìn)行的編譯
cd nginx-1.7.8
patch -p1 < ../nginx_http_upstream_check_module/check_1.7.?+.patch #版本根據(jù)Nginx選擇
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_spdy_module --with-http_stub_status_module --with-pcre --add-module=/usr/local/src/nginx_upstream_check_module-master
make #千萬(wàn)不能 make install 不然就真的覆蓋了
mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx-1.7.0.bak
cp ./objs/nginx /usr/local/nginx/sbin/
/usr/local/nginx/sbin/nginx #啟動(dòng)Nginx
Nginx安裝完畢史汗。配置Nginx
/usr/local/nginx/conf/nginx.conf
http {
include mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
sendfile on;
keepalive_timeout 65;
#開(kāi)啟負(fù)載均衡,指向后臺(tái)tomcat集群
upstream test {
server 192.168.247.152:8080;
server 192.168.247.153:8080;
#開(kāi)啟健康檢測(cè)機(jī)制
check interval=3000 rise=2 fall=5 timeout=1000 type=http;
check_http_send "HEAD /test HTTP/1.0\r\n\r\n";
check_http_expect_alive http_2xx http_3xx;
}
server{
listen 80;
#server_name test.test.com; #設(shè)置域名
#健康檢測(cè)界面
location = /nstatus {
check_status;
access_log off;
allow all;
}
#測(cè)試頁(yè)面 自己在tomcat上新建的
location /test {
proxy_pass http://test;
proxy_set_header Host $host;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
}
啟動(dòng)Nginx 輸入健康檢測(cè)地址即可看到后臺(tái)tomcat狀態(tài)
安裝Redis 實(shí)現(xiàn)session共享
下載redis包官網(wǎng)http://redis.io
注:redis的test需要tcl的支持拒垃,所以可先檢查下是否安裝了tcl
yum - y install
wget http://download.redis.io/redis-stable.tar.gz
tar –zxvf redis-stable.tar.gz
cd redis-stable
make
完畢后 src下會(huì)多出幾個(gè)文件
redis-benchmark redis-check-aof redis-check-rdb redis-cli redis-sentinel redis-server
可手動(dòng)將其復(fù)制到/usr/local/bin目錄下停撞,也可執(zhí)行make install
此處選擇make install
make install
注意:若此時(shí)執(zhí)行redis-server –v (查看版本命令),若提示redis-server command not found悼瓮,則需要將/usr/local/bin目錄加到環(huán)境變量戈毒,如何添加,此處不做詳細(xì)介紹横堡,可查看修改/etc/profile副硅,(查看環(huán)境變量命令:echo $PATH)
redis安裝完畢
修改redis配置文件
創(chuàng)建redis目錄用以存放redis 日志 數(shù)據(jù)庫(kù) 進(jìn)程
mkdir -p /var/redis/{data,log,run}
拷貝解壓包下的redis.conf文件至/etc/redis
cp -p /usr/local/src/redis-stable/redis.conf /etc/redis.conf
vim /etc/redis.conf
port 6379
daemonize yes #開(kāi)啟后臺(tái)進(jìn)程
pidfile /var/redis/run/6379.pid
logfile /var/redis/log/redis.log
dbfilename dump.rdb
dir /var/redis/data #數(shù)據(jù)庫(kù)路徑 默認(rèn)是./
requirepass centos #設(shè)置密碼為centos
#bind 127.0.0.1 默認(rèn)是開(kāi)啟的,只允許本地登陸翅萤,所以恐疲,要不添加IP,要不給注釋了
啟動(dòng)redis
redis-server /etc/redis.conf
ps -aux | grep redis
redis-cli #客戶端連接套么,進(jìn)入redis
AUTH centos #密碼認(rèn)證
SHUTDOWN
exit
service redis start
設(shè)置redis開(kāi)機(jī)啟動(dòng)
cp -p /usr/local/src/redis-stable/utils/redis_init_script /etc/init.d/redis
ll #看有沒(méi)有執(zhí)行權(quán)限
修改腳本的pid,conf等路徑,添加開(kāi)機(jī)啟動(dòng)權(quán)限
#開(kāi)機(jī)啟動(dòng)
#chkconfig: 2345 90 10
#description: Redis is a persistent ket-value database
#added by zili on 20170218
REDISPORT=6379
EXEC=/usr/local/bin/redis-server
CLIEXEC=/usr/local/bin/redis-cli
PIDFILE=/var/redis/run/6379.pid
CONF="/etc/redis.conf"
...
#如果是在生產(chǎn)環(huán)境培己,那么就規(guī)劃好端口等,盡量使用變量去實(shí)現(xiàn)胚泌,加以區(qū)分
比如
PIDFILE=/var/redis/run/${REDISPORT}.pid
CONF="/etc/redis_${REDISPORT}.conf"
service redis star | stop #等均可使用了省咨,不能使用就查看權(quán)限 ll
chkconfig redis on
192.168.254.152/153
安裝tomcat
tomcat 安裝依賴JAVA的JDK 所以判斷JDK是否安裝并進(jìn)行安裝
rpm -qa | grep java
刪除openjdk
rpm -e --nodeps java-1.7....... # -e 刪除 --nodeps強(qiáng)行刪除
下載 jdk-8u45-linux-x64.tar.gz 解壓 到 /usr/java/
配置全局變量 vim /etc/profile 在末尾添家,注意路徑玷室!特別是JDK文件名字
export JAVA_HOME=/usr/java/jdk1.8.0_45
export JRE_HOME=/usr/java/jdk1.8.0_45/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
export PATH=$PATH:$JAVA_HOME/bin
java -version #不報(bào)錯(cuò)零蓉,能看版本,安裝成功
下載tomcat包 apache-tomcat-7.0.75.tar.gz (注意redis組件目前不支持tomcat8.0)
以及三個(gè)是jar插件 commons-pool2-2.2.jar jedis-2.7.2.jar tomcat-redis-session-manage-tomcat7.jar
解壓 tomcat安裝包 到/usr/local/tomcat
tar -zxvf apache-tomcat-7.0.75.tar.gz
mv apache-tomcat-7.0.75 /usr/local/tomcat
mv 3個(gè)插件 /usr/local/tomcat/lib
/usr/local/tomcat/bin/startup.sh
瀏覽器即可訪問(wèn)tomcat 默認(rèn)端口8080
tomcat配置
manager-gui等配置,去conf文件下修改 tomcat-users.xml
添加相應(yīng)權(quán)限 注穷缤!只可以本地訪問(wèn)manager
<role rolename="tomcat"/>
<role rolename="role1"/>
<user username="tomcat" password="tomcat" roles="tomcat"/>
<user username="both" password="tomcat" roles="tomcat,role1"/>
<user username="role1" password="tomcat" roles="role1"/>
<role rolename="admin"/>
<role rolename="admin-gui"/>
<role rolename="manager-gui"/>
<user username="vic" password="tomcat" roles="manager-gui,admin-gui,admin"/>
</tomcat-users>
重啟生效
編輯test下的測(cè)試頁(yè)面 主要測(cè)試session
<%@ page language="java" %><html>
<head><title>152</title></head>
<body>
<h1><font color="green">152</font></h1>
<table align="centre" border="1">
<tr>
<td>Session ID</td>
<% session.setAttribute("tomcat.suzf.net","tomcat.suzf.net"); %>
<td><%= session.getId() %></td>
</tr>
<tr>
<td>Created on</td>
<td><%= session.getCreationTime() %></td>
</tr>
</table>
</body>
</html>
session共享保存設(shè)置
vim /usr/local/tomcat/conf/context.xml
<Valve className="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve" />
<Manager className="com.orangefunction.tomcat.redissessions.RedisSessionManager"
host="192.168.247.151" <!-- Redis地址 -->
port="6379" <!-- Redis端口 -->
password="centos" <!-- Redis密碼 -->
database="0" <!-- 存儲(chǔ)Session的Redis庫(kù)編號(hào) -->
maxInactiveInterval="60" <!-- Session失效的間隔(秒) -->
/>
重啟生效
如若出現(xiàn)500錯(cuò)誤 查看防火墻敌蜂,selinux,iptables等以及redis是否啟動(dòng)
完畢