tomcatdebuglinux
㈠ linux怎麼設置tomcat遠程debug埠
假設tomcat所在目錄為/usr/local/apache-tomcat/1、打開tomcat配置文件
#vi /usr/local/apache-tomcat/conf/server.xml
2、打開Tomcat配置文件之後按 /8080 快速檢索
3、修改埠,按 i 進行,將8080 修改為 80
4、按:wq 保存並退出
5、 重啟tomcat
#/var/apache-tomcat/bin/shutdown.sh
#/var/apache-tomcat/bin/startup.sh
㈡ idea怎樣調試linux上的tomcat
在idea菜單的run中有相應的選項,裡面有很多的選項,比如application,applet,junit,webapp,選擇webapp,設置一下tomcat4.0的配置,將你的jsp和servlet的目錄設置在webapplication的搜索目錄中,這樣你就可以調試你的servlet和jsp了
㈢ 怎麼控制,不讓linux下debug信息輸出到Tomcat下log/catalina.out
實際上tomcat
啟動後,只有個空的
logs/tomcat.log
文件,所有日誌並沒有輸出到這個指定的文件里,而是
catalina.out
里,所以感覺很奇怪,好像這個log4j.xml
並沒有對
hibernate
起作用,但在
catalina.out
里可以看到tomcat啟動的時候是用的
㈣ linux系統一個tomcat下同一個埠部署多個項目,應如何配置。
一、同一Tomcat 多個埠部署不同的項目
在tomcat 安裝目錄下C:/Program Files/apache-tomcat-6.0.29/conf找到server.xml
(1)、在<services>結點後面增加<services>結點,如下:
<Service name="bm1">
<Connector port="8081" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" debug="0" connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="GBK"/>
<Engine name="sms" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>
<Host name="localhost" appBase="webapps/test" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="C:/Program Files/Apache Software Foundation/Tomcat 6.0/webapps2/bookManagement" reloadable="true" workDir="D:/temp/Tomcat/test" debug="0"/>
</Host>
</Engine>
</Service>
(2)、復制webapps目錄, 命名成webapps2,把另外一個項目放在目錄下.把docBase屬性引向該目錄。
好處:可以把多個項目部署在根目錄
二、Tomcat 部置方式
TOMCAT部署項目有3種方法:
1、直接把項目放在webapps里
2、修改conf里server.xml文件,添加一個Context,指向項目的目錄
3、在Catalina/localhost目錄里,新增一個xml文件,添加一個Context內容,指向項目的目錄。
<Context path="/目錄名" docBase="e:/example" debug="0" reloadable="true" />
優先順序別為:3>2>1
第3個方法有個優點,可以定義別名。伺服器端運行的項目名稱為path,外部訪問的URL則使用XML的文件名。這個方法很方便的隱藏了項目的名稱,對一些項目名稱被固定不能更換,但外部訪問時又想換個路徑,非常有效。
第2、3還有優點,可以定義一些個性配置,如數據源的配置等。
㈤ 如何在Linux下使用Tomcat部署Web應用
第一種方式:利用Tomcat自動部署
利用Tomcat自動部署方式是最簡單的、最常用的方式。若一個web應用結構為D:\workspace\WebApp\AppName\WEB-INF\*,只要將一個Web應用的WebContent級的AppName直接扔進%Tomcat_Home%\webapps文件夾下,系統會把該web應用直接部署到Tomcat中。所以這里不再贅述。
第二種方式:利用控制台進行部署
若一個web應用結構為D:\workspace\WebApp\AppName\WEB-INF\*,利用控制台進行部署的方式如下:進入tomcat的manager控制台的deploy區域——在Context
path中鍵入"XXX"(可任意取名)——在WAR or Directory
URL:鍵入D:\workspace\WebApp\AppName (表示去尋找此路徑下的web應用)——點擊deploy按鈕。
然後在%Tomcat_Home%\webapps路徑下將會自動出現一個名為XXX的文件夾,其內容即是D:\workspace\WebApp\AppName的內容,只是名字是XXX而已(這就是前面在Context path鍵入XXX的結果)。
以上說明利用控制台進行部署的實質仍然是利用Tomcat的自動部署。
第三種方式:增加自定義的Web部署文件
若一個web應用結構為D:\workspace\WebApp\AppName\WEB-INF\*,這種部署方式稍微復雜一點,咱們需要在%Tomcat_Home%\conf路徑下新建一個文件夾catalina——再在其中新建一個localhost文件夾——最後再新建一個XML文件,即增加兩層目錄並新增XML文件:%Tomcat_Home%\conf\Catalina\localhost\web應用配置文件.xml ,該文件就是部署Web應用的配置文件。例如,新建一個%Tomcat_Home%\conf\Catalina\localhost\XXX.xml, 該文件的內容如下:
<Context path="/XXX" reloadable="true" docBase="D:\workspace\WebApp\AppName" workDir="D:\workspace\WebApp\work"/>
注意:
(1)以上代碼中的workDir表示將該Web應用部署後置於的工作目錄(Web應用中JSP編譯成的Servlet都可在其中找到),如果使用的Eclipse作為IDE,一般可人為設置在WebApp的work目錄下。
如果自定義web部署文件XXX.xml中未指明workdir,則web應用將默認部署在%Tomcat_Home%\work\Catalina\localhost\路徑下新建的以XXX命名的文件夾下。(Web應用中JSP編譯成的Servlet都可在其中找到)
(2)Context path即指定web應用的虛擬路徑名。docBase指定要部署的Web應用的源路徑。
其實開發者可以使用安裝有Tomcat插件eclipse自動創建部署文件來部署Web應用而不必再手動建立該文件,方法如下:
1. 打開Eclipse——打開菜單欄window選擇preference(首選項)——左側選擇Tomcat,如下圖示:
2. 可以看到上圖中高亮畫出的Context declaration mode(Context 聲明模式)中選擇以Context
files增加自定義部署文件的形式部署web應用——然後Contexts directory中指定上述文件的上級目錄(即%Tomcat_Home%\conf\Catalina\localhost )——點擊Apply或OK。
3. 完上述步驟,再選中Web項目右鍵點擊properties(屬性)——選擇右側的Tomcat ,如下圖所示:
4. 勾上"Is a Tomcat project"前的checkbox,將項目關聯至Tomcat。
在Context name中填入XXX,即Web應用自定義部署文件名和Context path名。
在Subdirectory to set as web application root (optional)中填入要部署的Web應用的實際路徑(即WEB-INF上級目錄)。
注意:Eclipse會自動地將workdir設置在Workspace\WebApp\work下。
如此便自動創建了%Tomcat_Home%\conf\Catalina\localhost\XXX.xml 文件。啟動Tomcat 即可自動部署Web應用。
第四種方式:手動修改%Tomcat_Home%\conf\server.xml文件來部署web應用
此方法即打開%Tomcat_Home%\conf\server.xml文件並在其中增加以下元素:
<Context docBase="D:\workspace\WebApp\AppName" path="/XXX" debug="0" reloadable="false" />
然後啟動Tomcat即可。
當然如果使用Eclipse,在Eclipse中的設置也有改變:打開菜單欄window選擇preference(首選項)——左側選擇Tomcat——可以看到上圖中高亮畫出的Context
declaration mode(Context 聲明模式)中選擇以Server.xml文件來部署web應用。
㈥ linux啟動tomcat失敗
Linux下啟動tomcat的時候,如果服務啟動不成功,可以到查看logs文件夾下的catalina.out
日誌文件,cat我的日誌文件可得到如下的錯誤信息:
cat catalina.out
Error: Exception thrown by the agent : java.rmi.server.ExportException: Port already in use: 8101; nested exception is:
java.net.BindException: Address already in use
Feb 27, 2011 3:25:39 PM org.apache.catalina.loader.WebappClassLoader loadClass
INFO: Illegal access: this web application instance has been stopped already. Could not load com.funambol.server.tools.directorymonitor.FileChangeEvent. The eventual following stack trace is caused by an error thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access, and has no functional impact.
從字面上來看,是我的8101埠被佔用了,應該是rmi需要用到這個埠,於是使用
netstat -anp
命令來查看各埠被進程佔用的情況,這個命令輸出包括進程的pid,得到這個pid之後,使用命令:
ps -ef|grep PID
即可查看進程的詳細情況。
如果確認此進程可停止的話,
kill pid
重啟tomcat就OK了!
㈦ linux下tomcat環境的搭配
web.xml裡面那什麼都不用動,把Windows下開發好的工程直接復制到任意一個目錄,例如:/home/usr/haha/webapp中,然後再server.xml中添加下面這樣的信息,表示tomcat啟動時載入那個工程。
<Context path="" docBase="/home/usr/haha/webapp/工程文件夾名" debug="0" privileged="true" reloadable="true"></Context>
然後去bin中啟動tomcat就可以了 測試好不好用 直接啟動就可以了,真正跑服務需要後台啟動。有什麼問題Hi我。嘿嘿 互相學習
㈧ 為什麼我linux下啟動tomcat的時候,下面的信息會出現兩遍呢 tomcat確定已經能夠訪問了。誰能解釋一下
使用sh -x startup.sh看他是如何輸出的就能確定為何輸出2遍。
-x參數是將腳本執行的每一步結果都列出來。
㈨ 如何打開linux下apache tomcat 的debug埠 (轉)
修改apache tomcat的bin目錄下的文件catalina.sh在java_opts中增加:JAVA_OPTS="$JAVA_OPTS -server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=4050,server=y,suspend=n" 重新啟動apache tomcat即可1、以下為apache學習: apache啟動時報:Syntax error on line 90 Invalid command 'Order', perhaps mis-spelled or defined by a mole not included in the server configuration,apache無法啟動如何處理其原因是apache許可權相關的mole沒有載入,導致其不認識Order這個命令,解決方案:在httpd.conf中添加LoadMole access_mole /usr/alibaba/httpd/moles/mod_access.so2、 這個錯誤時由於共享內存被佔用引起的,解決的方式是,先用ipcs命令獲取Shared Memory Segments的shmid,然後使用ipcrm -m $shmid 的方式將共享內存釋放3、如何查看當前應用的apache埠號是否被佔用netstat -nlp |grep 埠號,可以查看當前埠號是否被佔用。
㈩ linux下tomcat怎麼更改發布目錄
inux下tomcat更改發布目錄方法如下:
1、修改tomcat的默認目錄。
它的默認目錄是webapps/ROOT,對應的conf目錄下的server.xml里的內容是:
<Host name=」localhost」 appBase=」webapps」
unpackWARs=」true」 autoDeploy=」true」
xmlValidation=」false」 xmlNamespaceAware=」false」>
2、修改默認目錄的話就是添加一條:<Context path=」" docBase=」/home/tomcat/javapage」 debug=」0″ reloadable=」true」 />
這樣重啟tomcat後,他就會把起先默認目錄里webapps/ROOT修改成了home/tomcat/javapage這個目錄。
3、如果你想要在這個javapage目錄下面在增加二級域名或者文件夾,只要在上面的這個語句裡面再添加這樣的語句,如:<Context path=」/lilyfl」 docBase=」/home/tomcat/javapage」 debug=」0″ reloadable=」true」 />
這樣要訪問這個lilyfl目錄就是輸入:http://localhost:8080/lilyfl/就可以訪問了。
4、或者想訪問的地址http://hostlocal:8080/lilyfl/的目錄不想放到javapage目錄下,想放到/opt/lilyfl下,這樣你只要修改docBase就可以了,如:<Context path=」/lilyfl」 docBase=」/opt」 debug=」0″ reloadable=」true」 />