2018-03-08 tomcat安裝、介紹、常見問題 vim

    一、安裝jdk(見我另外一篇博客https://www.cnblogs.com/shoubituling/p/9121909.html)
    二、下載Tomcat
      //經過wget下載。若提示未發現tar包,請經過瀏覽器搜索其餘tar包
   wget http://mirrors.shu.edu.cn/apache/tomcat/tomcat-7/v7.0.85/bin/apache-tomcat-7.0.85.tar.gz
    三、Tomcat的安裝
        //Tomcat解壓
        tar -zxvf apache-tomcat-7.0.85.tar.gz

        //啓動Tomcat
        cd /home/`whoami`/apache-tomcat-7.0.85/bin
        ./startup.sh

        //注:關閉Tomcat,不用執行
        ./shutdown.sh

    四、配置Web管理帳號
        //修改文件conf/tomcat-users.xml,在元素中添加賬號密碼,須要指定角色
        vim /home/`whoami`/apache-tomcat-7.0.85/conf/tomcat-users.xml

        <tomcat-users>
         <user name="admin" password="admin" roles="admin-gui,manager-gui" />
        </tomcat-users>

        注:vim按i鍵進入編輯模式,按Esc健退出編輯模式。
        vim退出方法:
        :w      保存當前編輯文檔,不退出,繼續等待用戶輸入命令。在使用w命令時,可以再給編輯文檔起一個新的文檔名。
        :w newfile  把當前文檔的內容保存到指定的newfile中,而原有文檔保持不變。若newfile是個已存在的文檔,則Vim在顯示窗口的狀態行給出提示信息:File exists (use ! to override)。
        :w! newfile  把當前文檔的內容保存且替換到指定的已存在的newfile文件中。
        :q      退出Vim返回到shell。若在用此命令退出Vim時,編輯文檔沒有被保存,則Vi在顯示窗口的最末行顯示以下信息:No write since last change (use ! to overrides)提示用戶該文檔被修改後沒有保存,而後Vim不退出,繼續等待用戶命令。
        :q!      Vim放棄所做修改而直接退到shell下。快捷鍵:shift+zq。按住shift是切換大小寫的做用。
        :wq     保存退出,w表示寫入,不管是否修改,都會更改時間戳。快捷鍵:shift+zz。
        :x      保存退出,若是內容未改,不會更改時間戳。

    五、配置端口
  //能夠修改conf目錄下的文件server.xml,修改Connector元素(Tomcat的默認端口是8080),須要從新啓動Tomcat服務生效。
        vim /home/`whoami`/apache-tomcat-7.0.85/conf/server.xml

        <Connector port="9999" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />

    六、訪問Tomcat
        //http://ip:端口號/
        http://localhost:9999/

    七、Tomcat介紹
Tomcat服務器是一個免費的開放源代碼的Web應用服務器。最新的Servlet 和JSP規範老是能在Tomcat中獲得體現。Tomcat技術先進、性能穩定,並且免費,是目前比較流行的Web應用服務器。css

 

    八、Tomcat的目錄結構
    ·bin     //存放Tomcat的命令腳本文件
    ·conf    //存放Tomcat服務器的各類配置文件,最主要是server.xml    config cofigurator的縮寫。
    ·lib     //存放Tomcat服務器支撐jar包
    ·logs    //存放日誌文件
    ·temp    //存放臨時文件
    ·webapps //web應用所在目錄,外界訪問web資源的存放目錄
     |--- html, jsp, css, js文件等  -- 這些文件通常在web應用根目錄下,根目錄下的文件外界能夠直接訪問.
     |--- WEB-INF 目錄              -- java類、jar包、web配置文件存在這個目錄下,外界沒法直接訪問,由web服務器負責調用.
           |--- classes 目錄        -- java類
           |--- lib 目錄            -- java類運行所須要的jar包
           |--- web.xml 文件        -- web應用的配置文件
    ·work    //Tomcat的工做目錄

html

九、常見錯誤解決(來源網址:http://www.jb51.net/article/97431.htm)
9.一、tomcat啓動時錯誤
9.1.1問題:The JAVA_HOME environment variable is not defined This environment variable is needed to run this program
解決:路徑問題。
JAVA_HOME=/home/tomcat/j2sdk1.4.2_08(具體值要以實際的jdk安裝路徑爲準)
export JAVA_HOME
CLASSPATH=/home/tomcat/j2sdk1.4.2_08/lib/tools.jar:/home/tomcat/j2sdk1.4.2_08/lib/dt.jar
export CLASSPATH

9.1.2問題:Error occurred during initialization of VM Could not reserve enough space for object heap
解決:在tomcat的bin目錄下,catalina.sh文件的tomcat內存參數配置過大,超過機器可用內存總數形成,修改到適當的值便可,修改的參數爲:JAVA_OPTS="-Xms50m -Xmx60m"

9.1.3問題:tomcat啓動時報某個目錄沒有權限,啓動失敗,或者不能執行某些jsp頁
解決:tomcat須要tomcat用戶具備一些目錄和文件的相應權限, 全部目錄應該具備讀寫執行(瀏覽)的權限,jsp,class文件應該最少具備讀權限, 一些文件須要寫權限,下面是已知的須要讀寫權限文件的列表:
       $CATALINA_HOME/logs下全部文件
       $CATALINA_HOME/work下全部文件
       $CATALINA_HOME/publish/main/count.txt文件
       $CATALINA_HOME/publish/chatroom/resource下的全部.xml文件
全部上傳圖片目錄都須要寫權限。
改變文件目錄權限的方法:執行下面命令,設置全部的tomcat安裝下的文件和目錄,能夠保證執行,可是不是很安全。
1. 設置tomcat上級目錄/opt全部用戶都有讀寫執行權限:    chmod 777 [tomcat的上級目錄]
2. 設置tomcat5.0.28目錄下的全部文件的屬主爲tomcat:    chown -R tomcat [tomcat安裝目錄]
3. 設置全部tomcat5.0.28下的全部文件和目錄的屬主(tomcat)具備讀寫執行權限    chmod 700 -R /opt/tomcat5.0.28

9.1.4問題:執行startup.sh文件後告訴地址已經使用,致使tomcat不能啓動
解決:多是前一次執行./shutdown.sh文件關閉tomcat時沒有中止已經啓動的Java進程,而這個進程仍然在監聽tomcat所使用的端口,或者有另一個tomcat正在運行,server.xml文件中的監聽端口和當前tomcat衝突。
使用下面命令查看當前系統是否有正在監聽的端口(8080--webcache, 90--www或http).
     1. 列出全部系統正在監聽的端口和綁定的地址        netstat -l
     2. 找出當前系統中的全部進程,管道符號過濾輸出顯示包含java字符串的行
ps -A |grep java
tty time proc
1021 ? java
     3. 結束一個指定的進程:                    kill [進程號]
     4. 強制殺死一個進程:                    kill -9 [進程號]
     若是肯定不是別的tomcat運行致使的衝突或者沒有java進程運行,能夠再次運行startup.sh文件啓動tomcat

9.二、Tomcat 運行時錯誤及解決
9.2.1問題: org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Network error IOException: Connection refused: connect)
9.2.2問題:Caused by: java.sql.SQLException: Network error IOException: Connection refused: connect
9.2.3問題:Caused by: java.NET.ConnectException: Connection refused: connect
解決:數據庫未開狀況下運行tomcat出現的問題,把數據庫打開就好了

9.2.4問題:java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit(IILjava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Vat net.sf.cglib.core.ClassEmitter.begin_class(ClassEmitter.java:77)
這個問題是最最多見的,第一次整合ssh的時候會發現這個問題,有時候刪除掉相關的包仍是會衝突。
解決辦法1:把MyEclipse中的hibernate中的有關ASM的包所有刪除,將spring中asm包拷貝進去重啓就Ok了,有時候須要刪除其餘文件,到網上找找吧;
解決辦法2:Spring 和 Hibernate 共用的一些 jar 文件發生了版本衝突, 刪除 WEB-INF/lib/asm-2.2.3.jar 而後重啓 Tomcat.

9.2.5問題:javax.servlet.jsp.JspException: Invalid argument looking up property usersVO.account of bean loginForm
解決:通常提示這種錯誤表示VO中的form沒有實例化,在reset方法中new一下就Ok了。養成良好的編碼習慣能夠避免這種簡單錯誤。

9.2.6問題:嚴重: Exception loading sessions from persistent storage
解決:tomcat安裝目錄\work\Catalina\localhost\{webAppName}\SESSIONS.ser,刪除此文件

9.三、出現404錯誤
是由於你所請求的頁面不可用!這是response對象的http響應中的狀態行404表示當前請求的頁面不可用!200表示測試經過。500表示服務器內部發生錯誤等!


java

相關文章
相關標籤/搜索