安裝JDK
?
[root@stu21 ~]# lftp 172.16.0.1
lftp 172.16.0.1:~> cd pub
cd ok, cwd=/pub
lftp 172.16.0.1:/pub> cd Sources/6.x86_64/jdk/
lftp 172.16.0.1:/pub/Sources/6.x86_64/jdk> get jdk-7u67-linux-x64.rpm
126857158 bytes transferred in 22 seconds (5.56M/s)
lftp 172.16.0.1:/pub/Sources/6.x86_64/jdk> bye
?
[root@stu21 ~]# rpm -ivh jdk-7u67-linux-x64.rpm
[root@stu21 ~]# cd /usr/java/
?
修改環境變量
?
[root@stu21 ~]# vim /etc/profile.d/java.sh
[root@stu21 ~]# cat /etc/profile.d/java.sh
export JAVA_HOME=/usr/java/latest
export PATH=$JAVA_HOME/bin:$PATH
#即時生效配置文件
[root@stu21 ~]# . /etc/profile.d/java.sh
測試:執行java -version,正確的話應該會顯示:
[root@stu21 ~]# java -version
java version "1.7.0_67"
Java(TM) SE Runtime Environment (build 1.7.0_67-b01)
Java HotSpot(TM) 64-Bit Server VM (build 24.65-b04, mixed mode)
[root@stu21 ~]#
?
?
lftp 172.16.0.1:/pub/Sources/6.x86_64/tomcat> get apache-tomcat-8.0.15.tar.gz
9237872 bytes transferred
lftp 172.16.0.1:/pub/Sources/6.x86_64/tomcat> bye
[root@stu21 ~]# ls
anaconda-ks.cfg dir.sh install.log lamp_source nginx-1.6.2
apache-tomcat-8.0.15.tar.gz heartbeat2 install.log.syslog nginx nginx-1.6.2.tar.gz
copyvbox.sh ifcfg-eth6 jdk-7u67-linux-x64.rpm nginx-1.4.7.tar.gz
[root@stu21 ~]#
?
?
解壓apache-tomcat
[root@stu21 ~]# tar xf apache-tomcat-8.0.15.tar.gz -C /usr/local/
[root@stu21 ~]# cd /usr/local/
?
軟連接
[root@stu21 local]# ln -sv apache-tomcat-8.0.15 tomcat
?
給tomcat添加全局路徑
[root@stu21 ~]# vim /etc/profile.d/tomcat.sh
[root@stu21 ~]# cat /etc/profile.d/tomcat.sh
export CATALINA_HOME=/usr/local/tomcat
export PATH=$CATALINA_HOME/bin:$PATH
[root@stu21 ~]# . /etc/profile.d/tomcat.sh
[root@stu21 ~]#
?
[root@stu21 tomcat]# cd bin/
[root@stu21 bin]# pwd
/usr/local/tomcat/bin
?
[root@stu21 bin]# catalina.sh start
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr/java/latest
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.
查看端口:
[root@stu21 bin]# ss –tnpl
LISTEN 0 100 :::8009 :::* users:(("java",2943,49))
LISTEN 0 100 :::8080 :::* users:(("java",2943,44))
?
?
配置文件介紹:
[root@stu21 conf]# pwd
[root@stu21 conf]# ls
Catalina context.xml tomcat-users.xml
catalina.policy logging.properties tomcat-users.xsd
catalina.properties server.xml web.xml
[root@stu21 conf]#
?
?
以下是Tomcat默認裝完以后的 /usr/local/tomcat/conf
目錄結構:
-
/bin???????????????????# 存放各種平臺下啟動和關閉 Tomcat 的腳本文件; ?
-
/conf??????????????????#Tomcat 的各種配置文件 , 最重要的是 ?server.xml ; ?
-
/lib???????????????????# 存放 Tomcat 服務器和所有 web 應用需要的 jar 包; ?
-
/logs??????????????????# 存放 Tomcat 的日志文件; ?
-
/temp??????????????????#Tomcat 運行時候存放臨時文件用的; ?
-
/webapps???????????????#web 應用的發布目錄 , 把 ?java 開發的 web 站點或 war 文件放入這個目錄下就可以通過 tomcat 服務器訪問; ?
-
/work??????????????????#Tomcat 的工作目錄,默認情況下把編譯 JSP 文件生成的 servlet 類文件放于此目錄下。 ?
-
然后說下 conf/ 下的配置文件: ?
-
server.xml?????????????#Tomcat 中最重要的配置文件,定義了 tomcat 的體系結構;設置端口,集群, web 應用,訪問日志等主要功能。 ?
-
tocmat-users.xml???????#Tocmat 管理員身份的配置文件;關鍵是設置管理員賬號的密碼 ?
-
context.xml????????????# 全局 context 的配置文件;將數據庫 JNDI 在這里定義好 ?
-
logging.properties?????#Tocmat 日志配置文件;可以修改默認的 Tocmat 日志路徑和名稱 ?
-
web.xml????????????????#web.xml 是 JSP 的一個配置文件,里面設置了通用的默認值 ?
tomcat的架構運行層次如下圖
????
?
上圖解釋:
? ?server:在最外層,每個server就是一個 tomcat實例 。又叫頂級組件
? ?service服務:將一個和多個連接器關聯到一個引擎上。一個service內部只能有一個引擎。
? ?Engine,引擎: servlet 的實現jvm,能夠解碼別人發來的請求,其內部有一個web服務器,其可以工作在80端口上。定義的時候需要定義一個默認主機,來響應沒有指定主機的訪問。
? ?HOST:容器內的主機,類似apache的虛擬主機,主機可以有多個? ?
? ? ? ? ? ?
Context
,主機內的,類似于路徑別名的定義
? ?連接器:將server和引擎連接起來的工具。
其配置結構如下,配置文件為server.xml
? |
<Server> ????<Service> ????????<Connector /> ????????<Engine> ????????????<Host> ????????????????<Context> </Context> ????????????</Host> ????????</Engine> ????</Service> </Server> |
?
?
?
3.3、添加一個tomcat的服務腳本,便于管理tomcat服務
? |
[root@localhost ~]# vim /etc/init.d/tomcat ?????????????????????????????????#建立服務腳本,添加如下內容 #!/bin/sh # Tomcat init script for Linux. # chkconfig: 2345 96 14 # description: The Apache Tomcat servlet/JSP container. JAVA_HOME=/usr/java/latest CATALINA_HOME=/usr/local/tomcat export JAVA_HOME CATALINA_HOME exec $CATALINA_HOME/bin/catalina.sh $* |
為其增加執行權限并增加至系統服務列表
? |
[root@localhost ~]# chmod +x /etc/init.d/tomcat [root@localhost ~]# chkconfig --add tomcat [root@localhost ~]# chkconfig --list tomcat |
關閉和啟動服務就可以通過系統服務那樣進行了
? |
[root@localhost ~]# service tomcat stop [root@localhost ~]# service tomcat start ? ? 上面提到的管理接口的時候需要用戶名和密碼 在tomcat-users.xml定義用戶和密碼,然后通過輸入用戶名和密碼進行認證進入管理接口 [root@stu21 conf]# pwd /usr/local/tomcat/conf ? #編輯tomcat的用戶配置文件,在注釋行外面添加如下內容 [root@stu21 conf]# vim tomcat-users.xml |
????????<role rolename="manager-gui"/>
????????<user username="tomcat" password="tomcat" roles="manager-gui"/>
?
#roles有三種:manager-gui實現狀態和Manager App查看和管理;manger-status實現Host Manager功能,如果一個用戶需要使用多個角色,角色中間使用逗號隔開即可,例如roles="manger-status,admin-gui"
?
?
?
?
?
?
架構Nginx實現反向代理tomcat
???? 自己先部署一個jsp的網站、方便下面的操作,使用JavaCenter_Home_2.0_GBK.tar.bz2
?
在server.xml內新建一個虛擬主機
????[root@node15 ~]# vim /usr/local/tomcat/conf/server.xml #編輯配置文件,添加如下內容
?
????<Host name="node15.stu21.com" appBase="/webapps"
unpackWARs="true" autoDeploy="true">
<Context path="/" docBase="ROOT" reloadable="ture" />
</Host>
?
?
?
由于使用的是基于主機名的虛擬主機,所以需要先能解析:
[root@node15 ~]# vim /etc/hosts
172.16.21.15 node15.stu21.com node15
創建如下目錄:
[root@node15 ~]# mkidr /webapps/ROOT/
[root@node15 ROOT]# pwd
/webapps/ROOT
?
[root@node15 ~]# mkdir /webapps/ROOT/ #建立docBase目錄
[root@node15 ~]# tar xf JavaCenter_Home_2.0_GBK.tar.bz2 #解壓網頁
[root@node15 ~]# mv JavaCenter_Home_2.0_GBK/* /webapps/ROOT/
?
注意:此網站依賴于
mysql
,利用
yum
安裝下
mysql
[root@node15 ~]# yum –y install mysql-server
mysql> create database jcenter ;
Query OK, 1 row affected (0.00 sec)
?
mysql> grant all on jcenter.* to 'jcenter'@'localhost' identified by 'jcenter';
Query OK, 0 rows affected (0.00 sec)
?
?
?
?
?
?
安裝配置以后,可以進入主頁,顯示如下
?
?
Nginx+tomcat實現其反向代理:
?
????在節點 node16 上裝上 nginx
?
?
?
[root@node16 ~]# yum -y install nginx
?
如果我在節點 node16上開啟nginx ,只做代理到(node15.stu21.com服務器上),那么只需稍加改下配置文件:
修改配置文件,讓請求其連接都代理至后端tomcat服務器(node15.stu21.com) [root@node16 ~]# vim /etc/nginx/nginx.conf
在http段中只需添加如下兩行代碼:
upstream backend {
server node15.stu21.com;
}
?
?
?
[root@node16 ~]# vim /etc/nginx/conf.d/default.conf
在server 段中,默認出現的第一個location 中 添加我加紅色的代碼句
location / {
# root /usr/share/nginx/html;
proxy_pass http://backend;
index index.jsp index.html index.htm;
}
?
?
?
?
?
接下來實現動靜分離:
動態:
[root@node16 ~]# vim /etc/nginx/conf.d/default.conf
在server 段中加入:
location ~* \.(jsp|do)$ {
proxy_pass http://backend;
}
?
靜態:
tomcat解壓的目錄在/webapps/ROOT
[root@node15 ROOT]# pwd
/webapps/ROOT
[root@node15 ROOT]# scp ./* node16:/usr/share/nginx/html/
?
?
?
?
?
?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
