服務(wù)器
所謂服務(wù)器其實(shí)是電腦, 只不過(guò)服務(wù)器比我們?nèi)粘J褂玫膫€(gè)人計(jì)算機(jī)配置方面強(qiáng)悍很多文狱。而裝在服務(wù)器上的軟件構(gòu)成了服務(wù)器能對(duì)外提供的功能。我們說(shuō)Mysql服務(wù)器指的是這臺(tái)電腦主機(jī)上裝著MySQL數(shù)據(jù)庫(kù)軟件,能對(duì)外提供數(shù)據(jù)庫(kù)服務(wù)吊奢。如果以軟件
和硬件
來(lái)分類,可以分為軟件服務(wù)器
和硬件服務(wù)器
.
Java
服務(wù)器分類
- http服務(wù)器怒见。負(fù)責(zé)渲染
靜態(tài)網(wǎng)頁(yè)
.如apache服務(wù)器
- web服務(wù)器昌粤。實(shí)現(xiàn)部分JavaEE規(guī)范,輕量級(jí)窍蓝。如
Tomcat(解析JSP最快的服務(wù)器)、Jetty
- 應(yīng)用服務(wù)器。實(shí)現(xiàn)全部JavaEE規(guī)范,重量級(jí)忆嗜。如
Weblogic己儒、JBOSS
容器
什么叫容器?所謂的容器是為程序的運(yùn)行提供環(huán)境所需要的環(huán)境
所以Servlet容器就是為Servlet程序提供可以運(yùn)行的環(huán)境.
Tomcat容器
Tomcat的目錄結(jié)構(gòu)
-
bin目錄
: 存放Tomcat的工具、啟動(dòng)和關(guān)閉腳本. -
conf目錄
: 存放Tomcat的配置文件 -
lib目錄
: Tomcat的核心jar包和依賴的jar包 -
work目錄
: 裝JSP翻譯成Java文件的代碼 - logs目錄: 存儲(chǔ)日志的目錄,可以用來(lái)排查異常問(wèn)題
- temp目錄: 臨時(shí)文件目錄
- webapps目錄: 部署目錄(只有手動(dòng)啟動(dòng)tomcat才是部署在這, eclipse默認(rèn)不是部署在這)
Tomcat的安裝
-
安裝包的選擇
apache官網(wǎng)下載.以tomcat7為例.
下載
-
環(huán)境變量的配置
無(wú)論什么系統(tǒng),都需要配置JAVA_HOME環(huán)境變量.tomcat啟動(dòng)的時(shí)候依賴于該變量取尋找JDK.以MAC系統(tǒng)為例配置環(huán)境變量.如果你用的是默認(rèn)的終端,不是zsh之類的第三方捆毫,那么直接編輯.bash_profile
這個(gè)文件加入如下幾行即可.
export JAVA_7_HOME="/usr/libexec/java_home -v 1.7"
export JAVA_8_HOME="/usr/libexec/java_home -v 1.8"
export JAVA_HOME=$JAVA_8_HOME
原理
其中/usr/libexec/java_home是`Mac OS X 10.5之后`引入.專門用來(lái)管理JAVA_HOME的程序.
我們指定版本號(hào)即可查詢到對(duì)應(yīng)版本的JAVA_HOME
-
啟動(dòng)tomcat,并用瀏覽器訪問(wèn)驗(yàn)證
使用startup.sh腳本啟動(dòng).如下命令.
啟動(dòng)tomcat
瀏覽器進(jìn)行驗(yàn)證.點(diǎn)擊打開(kāi)http://127.0.0.1:8080
Tomcat安裝常見(jiàn)錯(cuò)誤
- 報(bào)錯(cuò)
Parse Fatal Error at line 1 column7
. 原因:xml文件前加空格報(bào)錯(cuò), 因?yàn)檫@導(dǎo)致不能正確解析xml.解決辦法刪除空格
- Tomcat啟動(dòng)成功,訪問(wèn)相關(guān)資源報(bào)
404 Not Found
.原因:資源路徑有錯(cuò)或者資源就不存在.解決方法寫對(duì)路徑
. -
java.net.BindException: Address already in use: JVM Bind
.原因:端口沖突被占用.解決辦法, 關(guān)閉占用端口的進(jìn)程
- 在xml配置文件中使用中文,應(yīng)該使用UTF-8編碼.
Tomcat的常用配置
Tomcat的配置文件都在conf目錄下, 主要包括server.xml配置服務(wù)器
和tomcat-users.xml
配置安全權(quán)限
和虛擬主機(jī)服務(wù)
- 端口配置
開(kāi)打server.xml, 搜索定位8080
關(guān)鍵字.會(huì)定位到如下內(nèi)容闪湾。8080即tomcat容器的默認(rèn)端口.我們可以更改成任意合法端口,只要該端口不在(0---1023
)之間。
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
- 權(quán)限配置和服務(wù)配置
權(quán)限配置
- 如上圖,點(diǎn)擊左邊三列
Server Status
,Manager App
绩卤、Host Manager
分別對(duì)應(yīng)三項(xiàng)功能途样,依次是服務(wù)器狀態(tài)信息
,WebApp管理
、虛擬主機(jī)管理
濒憋。這些在剛裝完tomcat是沒(méi)法正常訪問(wèn).因?yàn)闆](méi)有相應(yīng)的權(quán)限.- tomcat配置權(quán)限,是以角色的概念存在, 角色擁有權(quán)限.我們需要先添加角色.在添加用戶,給用戶配置角色.
這些配置,tomcat都會(huì)在第一次還沒(méi)配置前, 給出提示如何配置.
為配置權(quán)限前, 嘗試登入給出的提示
如下配置.配置了訪問(wèn)的用戶名
,密碼
.已經(jīng)擁有的權(quán)限(查看容器信息何暇、管理容器中的app、管理虛擬主機(jī)權(quán)限)
<role rolename="manager-gui"/>
<role rolename="admin-gui"/>
<role rolename="admin-script"/>
<user username="root" password="123456" roles="manager-gui,admin-gui,admin-script"/>