Web後端開發入門(2)
發表時(shí)間:2018-7-10
發布人(rén):融晨科技
浏覽次數:36
搭建JavaWeb應用開發環境--Tomcat服務器
下載與安裝
首先,搜索Tomcat,找到(dào)如圖網址
點擊,進入Tomcat官網
在(zài)最左邊一欄,有個(gè)Download,找到(dào)最新版Tomcat 9 ,點擊
下拉,找到(dào)如上(shàng)圖所示位置,Core 核心:zip版,tar.gz版(Linux系統),32位版,64位版 ,安裝版。前幾個(gè)版本都不(bù)需要(yào / yāo)安裝,如果你需要(yào / yāo)安裝就(jiù)下載最後一個(gè),然後選中自己要(yào / yāo)下載的(de)版本,下載。
安裝之(zhī)後,找到(dào)bin目錄下的(de)startup.bat(startup.sh是(shì)Linux操作系統的(de))
點擊,進入如圖所示頁面,可能需要(yào / yāo)等一會。
當出(chū)現最後一行代碼時(shí),即org.apache.catalina.startup.Catalina.start Server startup in 2113 ms時(shí),表示Tomcat啓動成功。之(zhī)後,最小化,在(zài)浏覽器導航欄輸入localhost:8080
出(chū)現如圖所示頁面,标明Tomcat已經啓動成功并能正常運行。
如果要(yào / yāo)停止,雙擊bin目錄下的(de)shutdown.bat文件即可。
如果服務器無法正常啓動,原因一般來(lái)說(shuō)有兩個(gè):
1.JAVA_HOME環境變量設置問題
要(yào / yāo)想雙擊bin目錄下的(de)startup.bat文件啓動Tomcat服務器,首先要(yào / yāo)做的(de)就(jiù)是(shì)在(zài)Windows中設置JAVA_HOME環境變量,因爲(wéi / wèi)Tomcat服務器的(de)啓動需要(yào / yāo)用到(dào)這(zhè)個(gè)JAVA_HOME環境變量,如果window中不(bù)存在(zài)JAVA_HOME環境變量,則Tomcat服務器是(shì)無法啓動的(de)。
2.端口占用問題
因爲(wéi / wèi)Tomcat服務器啓動時(shí)是(shì)需要(yào / yāo)默認是(shì)使用8080端口的(de),如果這(zhè)個(gè)8080端口被别的(de)應用程序占用了(le/liǎo),那麽Tomcat服務器就(jiù)無法正常啓動,看到(dào)的(de)現象就(jiù)是(shì)Tomcat服務器啓動界面會打印出(chū)異常錯誤信息,然後就(jiù)自動關閉。如圖所示
由于(yú)這(zhè)個(gè)窗口從啓動到(dào)關閉的(de)時(shí)間非常短,我們很難通過這(zhè)個(gè)窗口看到(dào)Tomcat啓動時(shí)的(de)報錯異常信息,因此我們一般隻能通過Tomcat服務器的(de)記錄的(de)log(日志)信息去查看Tomcat服務器的(de)運行情況。
在(zài)Tomcat服務器的(de)根目錄下有一個(gè)logs文件夾,打開文件夾,找到(dào)最新的(de)一個(gè)文本文檔,就(jiù)能查看服務器的(de)運行情況。
8080端口被占用,隻能去修改Tomcat的(de)默認 端口。找到(dào)Tomcat下的(de)conf->server.xml,找到(dào)如圖所示
8080就(jiù)是(shì)Tomcat的(de)默認端口号,直接修改就(jiù)可以(yǐ),改成1024以(yǐ)上(shàng)的(de)端口号,保存,重複前面步驟進行驗證。
Tomcat的(de)一些常用配置
在(zài)這(zhè)個(gè)頁面中,右上(shàng)角有個(gè)Host Manager,表示對主機上(shàng)所部署的(de)程序的(de)管理、Manager APP對管理的(de)一些配置,需要(yào / yāo)登錄;Developer Quick Start下的(de)Tomcat Setup是(shì)幫助文檔、Example是(shì)示例代碼、JDBC Data Sources是(shì)數據源
Manager APP配置
Tomcat->conf->tomcat.xml
打開後一直下拉到(dào)最後,添加代碼,username用戶名和(hé / huò)password密碼可以(yǐ)自己設置
<role rolename = "manager-gui"/>
<user username = "admin" password = "admin" roles = "manager-gui"/>
添加代碼後重啓,再打開網頁點擊Manager APP,輸入用戶名和(hé / huò)密碼,即可登錄到(dào)如下頁面
将Tomcat配置到(dào)服務列表中,使之(zhī)随系統的(de)啓動而(ér)啓動
1.添加服務
使用cmd工具,并進入Tomcat根/bin目錄-->執行 service install命令-->刷新Windows服務列表
2.删除服務
使用cmd工具,并進入Tomcat根/bin目錄-->執行 service remove命令-->刷新Windows服務列表
配置Tomcat的(de)虛拟目錄
在(zài)Tomcat下的(de)conf文件夾中,找到(dào)server.xml文件
<host>
<context docBase="項目文件的(de)真實物理路徑" path="訪問路徑">
</host>
Tomcat虛拟主機的(de)配置
什麽是(shì)虛拟主機?
一台物理機上(shàng)搭建多個(gè)web站點,每個(gè)web站點獨立運行,互不(bù)幹擾,這(zhè)些站點就(jiù)是(shì)虛拟主機
基于(yú)主機名的(de)虛拟主機配置
基于(yú)主機名的(de)虛拟主機:多個(gè)域名解析到(dào)同一個(gè)IP地(dì / de)址,在(zài)WEB服務器裏添加多個(gè)站點,每個(gè)站點設定一個(gè)主機名。HTTP協議請求裏包含了(le/liǎo)主機名信息,當WEB服務器收到(dào)訪問請求時(shí),就(jiù)可以(yǐ)根據不(bù)用的(de)主機名來(lái)訪問不(bù)同的(de)網站。
步驟:
a、配置域名與IP的(de)映射管理(對于(yú)本地(dì / de)局域網我們使用在(zài)host文件中添加;對于(yú)大(dà)型網絡或者外網網絡則需要(yào / yāo)配置DNS服務器中IP地(dì / de)址與域名的(de)映射關系)
在(zài)C:\Windows\System32\drives\etc\hosts文件末尾添加:
127.0.0.1 www.lanqiao.org
127.0.0.1 www.taiyuan.org
b、配置serVer.xml
<Host name="www.lanqiao.org" appBase="E:" unpackWARs="true" autoDeploy="true">
<Context docBase="e:\app1" path="" reloadable="true" crossContext="true"/>
<Value className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log." suffix=".txt" pattern="%h %l %u %t "%rquot;%s %b"/>
</Host>
<Host name="www.taiyuan.org" appBase="E:\app" unpackWARs="true" autoDeploy="true">
<Context docBase="e:\app\app2" path="" reloadable="true" crossContext="true"/>
<Value className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log." suffix=".txt" pattern="%h %l %u %t "%r"%s %b"/>
</Host>
c、測試
基于(yú)端口的(de)虛拟主機的(de)配置
一個(gè)IP地(dì / de)址沒通過不(bù)同的(de)端口實現不(bù)同網站的(de)訪問
步驟:
在(zài)serVer.xml中,設置兩個(gè)serVer組件
<Service name="Catalina">
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
<Engine name="Catalina" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.LockOutRealm">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>
</Realm>
<Host name="www.lanqiao.org" appBase="E:" unpackWARs="true" autoDeploy="true">
<Context docBase="e:\app2" path="" reloadable="true" crossContext="true"/>
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
</Engine>
</Service>
<Service name="Catalina2">
<Connector port="8888" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
<Connector port="8010" protocol="AJP/1.3" redirectPort="8443" />
<Engine name="Catalina2" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.LockOutRealm">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>
</Realm>
<Host name="www.taiyuan.org" appBase="E:" unpackWARs="true" autoDeploy="true">
<Context docBase="e:\app2" path="" reloadable="true" crossContext="true"/>
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
</Engine>
</Service>