-
環境聲明
系統統一爲CentOS6.9
nginx的版本:nginx的-1.2.9.tar.gz
JDK版本:JDK-8u191-Linux的x64.tar.gz
Tomcat的版本:Apache的Tomcat的8.5.35.tar.gz
主機IP地址:
nginx的反向代理:192.168.0.2
tomcat的JDK +:192.168.0.3
本次實驗爲Tomcat的多實例(虛擬主機)
-
0.3主機安裝JDK步驟
- 上傳JDK + Tomcat的源碼包至192.168.0.3主機
- 檢查主機是否安裝java中,如果有則卸載
rpm -q java #檢查系統是否自帶java rpm -e --nodeps java #如果有則卸載java
-
解壓JDK包至/ Iur的/本地/下
tar -xf jdk-8u191-linux-x64.tar.gz -C /usr/local/ #解壓jdk包至/usr/local/ cd /usr/local/ mv jdk1.8.0_191 jdk1.8 #爲了方便找jdk,進入解壓目錄並重命名
-
配置JDK環境變量
vim /etc/profile #修改環境變量配置文件 #大G 跳到最後一行,添加 #JAVA export JAVA_HOME=/usr/local/jdk1.8 export JAVA_BIN=/usr/local/jdk1.8/bin export PATH=$PATH:$JAVA_HOME/bin export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar #退出 source /etc/profile #重新加載環境變量配置文件
-
0.3主機安裝的Tomcat步驟
- 解壓的Tomcat軟件包值在/ usr /本地/目錄下
tar -xf apache-tomcat-8.5.35.tar.gz -C /usr/local #將軟件包解壓至指定目錄下 cd /usr/local/ mv apache-tomcat-8.5.35 /usr/local/apache-tomcat
- 配置Tomcat的環境變量
vim /etc/profile #打開環境變量配置文件,大G,添加tomcat環境變量 #TOMCAT export TOMCAT_HOME=/usr/local/tomcat-8080 export PATH=$PATH:$TOMCAT_HOME/bin source /etc/profile #刷新配置文件
- 將tomcat的的倉目錄全部賦予執行權限
chmod +x /usr/local/apache-tomcat/bin/*
- 開啓的tomcat
/usr/local/tomcat-8080/bin/startup.sh #開啓taocat
-
配置Tomcat的多實例步驟
- 將運行的tomcat的停止
/usr/local/tomcat-8080/bin/shutdown.sh #關閉tomcat
- 拷貝解壓目錄,並刪除實例下的日誌文件
cd /usr/local/ cp -a apache-tomcat/ ./apache-tomcat-8090 #這裏我拷貝的另一個實例爲apache-tomcat-8090 cd apache-tomcat-8090/logs/ rm -rf * #進到8090實例的logs目錄下,刪除所有日誌文件
- 打開Tomcat的配置文件,把把關機和連接器端口修改成自己想要的端口
cd /usr/local/apache-tomcat-8090/conf/ #進到tomcat的配置目錄下 vim server.xml #打開tomcat配置文件 #這裏的8005端口爲默認關閉tomcat端口,因在第一個實例中8005以被佔用,所以要修改爲8006 <Server port="8005" shutdown="SHUTDOWN"> <Server port="8006" shutdown="SHUTDOWN"> #這一行爲tomcat默認開啓的端口,因第一個實例佔用8080端口,所以改爲8090端口 <Connector port="8080" protocol="HTTP/1.1" <Connector port="8090" protocol="HTTP/1.1" #修改端口可改成自己的端口,可隨便改,沒有限制,後面開始時記得訪問自己修改的端口即可
- 啓動tomcat的多實例
/usr/local/apache-tomcat/bin/startup.sh start #開啓tomcat第一個實例 /usr/local/apache-tomcat-8090/bin/startup.sh start #開啓tomcat第二個實例
02主機nginx的反向代理配置
- 解決nginx的源碼安裝時的依賴關係並安裝GCC
yum -y install pcre-devel zlib-devel gcc*
- 解壓軟件包並創建用戶
tar –xf nginx-1.2.9.tar.gz useradd -r -s /sbin/nologin nginx
- 進到軟件目錄,編譯並安裝
./configure --prefix=/usr/local/nginx –-user=nginx –-group=nginx #因爲nginx做負載均衡,所以沒有必要編譯其他模塊,只指定了一個運行用戶和組 echo $? #查看是否有報錯 make && make install
- 修改配置文件,添加負載均衡
cd /usr/local/nginx/conf/ cp -a nginx.conf nginx.conf.bak #備份一下nginx配置文件,留作以後還原 vim nginx.conf 2 user nginx; #修改了nginx運行時的用戶 3 worker_processes auto; #修改了啓動進程數量爲自動 34 upstream tomcat { 35 server 192.168.0.3:8080; 36 server 192.168.0.3:8090; 37 } #添加了一個負載調度池 47 #location / { 48 # root html; 49 # index index.html index.htm; 50 #} #註釋掉了location區域裏並在下面添加了一個新的location區域 54 location / { 55 proxy_pass http://tomcat; #將來自jsp請求交給tomcat調度池處理 56 proxy_set_header Host $host; #後端的Web服務器可以通過X-Forwarded-For>獲取用戶真實IP 57 58 }
- 使用nginx的自帶命令檢查配置文件
[root@localhost ~]# /usr/local/nginx/sbin/nginx -t nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful #使用nginx -t選項來測試配置文件是否正常
爲了實驗環境可以看出訪問不同的Tomcat的實例,修改的Tomcat的首頁文件以分別區分
需注意:
apache和tomcat網頁默認保存位置
/usr/local/apache-tomcat/webapps 相當於apache的/var/www/html
#在tomcat下webapps目錄下新建網站目錄,存放網頁,如果在webapps目錄下新建網頁tomcat是不認的
/usr/local/apache-tomcat/webapps/ROOT 相當於apache的/etc/httpd/conf.d/welcome.conf
#如果網站測試目錄下沒東西,則使用測試頁
tomcat配置文件目錄
/usr/local/apache-tomcat/conf
因不會寫的Java網頁,則去修改的Tomcat的測試頁,來區分不同實例
vim /usr/local/apache-tomcat/webapps/ROOT/index.jsp
#修改測試頁
在vim的末行模式下:
/Home
找到Home改爲ROOT
保存並退出
再去nginx的上測試,就會發現兩個實例一個爲家庭,一個爲ROOT
以上爲所有試驗步驟
當一臺主機上運行多個Tomcat的實例時,可以理解爲阿帕奇的虛擬主機
當多臺主機上運行同一個tomcat的實例時,則爲多機並存