放TOMCAT的服務(wù)端許多人使用
本來(lái)啟動(dòng)一直正常
某日突然
startup啟動(dòng)TOMCAT一閃而過(guò)
通過(guò)cmd啟動(dòng)矣是如此,啟動(dòng)失敗
最后通過(guò)改shutdown port解決問(wèn)題
<Server port="8005" shutdown="SHUTDOWN">
改成了8015
其他網(wǎng)上找到的問(wèn)題及解決方案:
1. 重要網(wǎng)站
2. Tomcat服務(wù)器的配置文件(server.xml)
E:\tomcat6\conf\server.xml
(1)關(guān)閉tomcat元素
<Server port="8005" shutdown="SHUTDOWN">用于關(guān)閉tomcat服務(wù)器
(2)修改TOMCAT端口號(hào)
在服務(wù)器配置文件中的 <Connector port="8080" protocol="HTTP/1.1" maxThreads="150" connectionTimeout="20000" redirectPort="8443" /> 修改便可。
(3)要注意的問(wèn)題
問(wèn)題:如果在server.xml文件中加入中文,則服務(wù)器加載不起來(lái)了,
原因:是xml文件中沒(méi)有設(shè)置編碼
辦法:第一行加入<?xml version="1.0" encoding="GB2312" ?>
當(dāng)Tomcat啟動(dòng)出錯(cuò)的時(shí)候,一閃就過(guò)去了,說(shuō)明在startup批處理文件中用dos的start命令啟動(dòng)了一個(gè)新窗口會(huì)計(jì)從業(yè)代考 會(huì)計(jì)從業(yè)答案
在catalina.bat中找到下面這段代碼:
========================================================
:doStart
shift
if not "%OS%" == "Windows_NT" goto noTitle
set _EXECJAVA=start "Tomcat" %_RUNJAVA%
goto gotTitle
:noTitle
set _EXECJAVA=start %_RUNJAVA%
=========================================================
將紅色字符串刪掉就可以看到錯(cuò)誤
3. GlobalNamingResources元素
<GlobalNamingResources>
<!-- Editable user database that can also be used by
UserDatabaseRealm to authenticate users
-->
<Resource name="UserDatabase" auth="Container"
type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
pathname="conf/tomcat-users.xml" />
</GlobalNamingResources>
服務(wù)器端創(chuàng)建對(duì)象供給Servlet或JSP使用,例如數(shù)據(jù)庫(kù)連接池對(duì)象
4. Service元素
<Service name="Catalina">
5. Engine元素
<Engine name="Catalina" defaultHost="localhost">
在一個(gè)服務(wù)器引擎上可以通過(guò)在這個(gè)元素里增加子元素<Host>來(lái)配置多個(gè)主機(jī),
在<Host>元素中配置<Context>子元素可以增加多個(gè)站點(diǎn)(Web應(yīng)用程序)
5. 配置一個(gè)站點(diǎn)(Web應(yīng)用程序)
<Context path="/TestApp" docBase="e:\TestApp" />
參數(shù)path是用于瀏覽器訪問(wèn)的站點(diǎn)根目錄
參數(shù)docBase是對(duì)應(yīng)的硬盤上的物理目錄
tomcat默認(rèn)部署目錄:tomcat/webapps/
6. 配置元素里的斜杠問(wèn)題
在配置文件里的路徑不用雙斜杠
java源程序中的路徑用雙斜杠,是用于給編譯器javac的,編譯器會(huì)把雙斜杠轉(zhuǎn)換為單斜杠證券從業(yè)代考,銀行從業(yè)答案
而配置文件中的路徑是給虛擬機(jī)java的,會(huì)直接讀取單斜杠
7. 查看端口占用情況
netstat -na 但不知道端口被誰(shuí)占用
可以用ActivePort.exe軟件查看
netstat -na | findstr 3306
查找指定端口有沒(méi)有被占用
8. 設(shè)置默認(rèn)根目錄
==========================================================
默認(rèn)根目錄,瀏覽器訪問(wèn)網(wǎng)站時(shí),不用再寫目錄名
方法一: 在server.xml中加入
<Context path="" docBase="e:\TestApp" />
方法二: 把工程放入webapps下,并一定要起名為ROOT
==========================================================
方法三: conf\Catalina\localhost\*.xml
Catalina是對(duì)應(yīng)的引擎,有多少個(gè)引擎,在這就有多少個(gè)目錄
Localhost 對(duì)應(yīng)的是站點(diǎn),有多少個(gè)站點(diǎn),就有多少個(gè)目錄,這個(gè)目錄中又有多個(gè)xml配置文件,每個(gè)配置文件都對(duì)應(yīng)一個(gè)Web應(yīng)用程序。
在xml文件中寫入<Context docBase="e:\test">元素,虛擬目錄名字屬性(path)不用寫,虛擬目錄名就是這個(gè)xml的文件名心理咨詢師代考 心理咨詢師答案
方法三在tomcat5.5中操作成***,在6中不推薦使用,但是也可以根據(jù)server.xml配置文件中的引擎,站點(diǎn),web應(yīng)用程序結(jié)構(gòu)手工寫入目錄文件結(jié)構(gòu)
9. 將項(xiàng)目打成war包
打成包的項(xiàng)目放到webapps下面不用解壓,tomcat會(huì)將項(xiàng)目自動(dòng)解壓展開(kāi)
打包后會(huì)自動(dòng)生成META-INF文件夾
進(jìn)入要打包的文件夾:jar -cvf webcontent.war .(點(diǎn)代表當(dāng)前目錄)
或者不進(jìn)入文件夾:jar -cvf webcontent.war -C webcontent .
-C 代表改變目錄
10. conf/web.xml通用配置文件
為所有的web應(yīng)用程序進(jìn)行配置,通用配置文件
配置默認(rèn)網(wǎng)頁(yè)(歡迎頁(yè)面)
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
如果沒(méi)找到對(duì)應(yīng)的網(wǎng)頁(yè)則打印文件列表報(bào)錯(cuò)
11. 批處理實(shí)例
batch 批@echo hehe 加@的作用是不會(huì)讓echo命令顯示出來(lái)或者直接設(shè)置@echo off ,整個(gè)批處理文件就不會(huì)顯示命令變量要用雙引號(hào)引起來(lái) "%OS%"
12. 連接器
https協(xié)議支持加密,默認(rèn)端口號(hào)為443
要支持https協(xié)議,需要加入連接器
在tomcat/conf/server.xml中存在一個(gè)元素:(默認(rèn)被注釋掉)
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" />
必須為這個(gè)連接器申請(qǐng)一個(gè)證書(shū),這個(gè)證書(shū)由專門的機(jī)構(gòu)頒發(fā)審核
產(chǎn)生一個(gè)證書(shū)用JAVA_HOME/bin/keytool命令查幫助文檔,再將這個(gè)加入到連接器<Connector>元素
13. 對(duì)稱加密和非對(duì)稱加密
對(duì)稱加密: 加密密碼和解秘密密碼相同
非對(duì)稱加密:加密密碼和解密密碼不同,共鑰加密的數(shù)據(jù)可以被私鑰解密,私鑰加密的數(shù)據(jù)也能被公鑰解密,發(fā)鑰的必須是個(gè)權(quán)威機(jī)構(gòu)(CA)
根據(jù)要傳輸?shù)臄?shù)據(jù)計(jì)算出一個(gè)16位的128bit的一個(gè)數(shù)值,只要內(nèi)容被改動(dòng)一點(diǎn),這個(gè)值就會(huì)被改變(很大的改變 www.ly-ang.com
數(shù)字簽名,數(shù)字證書(shū)
15. SSL會(huì)話原理
將密碼進(jìn)行非對(duì)稱加密,SSL會(huì)話過(guò)程中的加密處理是瀏覽器與服務(wù)器自動(dòng)完成的