首先,要先保證項目可以在本地跑起來
項目部署
- 修改代碼的mysql用戶名和密碼,改爲Linux的用戶名和密碼,修改一些關於訪問url的ip等。
private static final String url="jdbc:mysql://127.0.0.1:3306/你的數據庫名稱?characterEncoding=utf8&&useSSL=true";
private static final String USERNAME="你的用戶名";
private static final String PASSWORD="你的密碼";
-
IDEA配置maven,這裏我就不說了。
-
通過maven打war包
4.成功後會出現.war包
-
我是通過xftp直接將war包拖到我的linux的tomcat的webapps目錄下,它會自動解包。
-
這個時候應該在Linux建一個你要用到的數據庫名,防止改動代碼,直接建成和本地庫名一樣的數據庫,將本地數據庫導出成一份.sql文件,通過xftp拖到linux上,執行如下命令
mysql -uroot -p 你的數據庫名稱<.sql文件
通過select等語句查看是否導入成功。
-
進入tomcat的bin目錄下,執行./startup.sh啓動tomcat
-
沒有問題的話就可以在瀏覽器訪問項目了。
問題排查
-
訪問頁面一直在瀏覽器轉圈圈,但是過了幾分鐘又可以訪問了
此時,在linux輸入curl 127.0.0.1:8080(我的tomcat端口號是8080),一直沒反應,說明我的tomcat啓動了但是不能運行。
-
查看端口是否打開:1.yum install telnet
2. telnet 127.0.0.1 8080 如果端口打開 -
有可能是jdk版本問題,我把jdk1.7改成了1.8版本
-
有可能是tomcat版本問題,它啓動太慢,修改方式:找到tomcat的bin目錄的catalina.sh文本,加入-Djava.security.egd=file:/dev/./urandom即可。或者在%JAVA_HOME%/jre/lib/security目錄下找到java.security這個文件,用vim命令打開這個文件,找到下面的內容:
securerandom.source=file:/dev/random
替換成:securerandom.source=file:/dev/urandom
啓動緩慢的原因Tomcat 7和Tomcat 8在啓動的時候會調用org.apache.catalina.util.SessionIdGeneratorBase.createSecureRandom來產生一串安全隨機數。
-
在Linux(CentOS)環境下,隨機數可以從兩個特殊的文件中產生,一個是/dev/urandom,另外一個是/dev/random。
它們產生隨機數的原理是利用當前系統的熵池來計算出固定一定數量的隨機比特,然後將這些比特作爲字節流返回。熵池就是當前系統的環境噪音,熵指的是一個系統的混亂程度,系統噪音可以通過很多參數來評估,如內存的使用,文件的使用量,不同類型的進程數量等等。
/dev/random在不能產生新的隨機數時會阻塞程序,直到根據熵池產生新的隨機字節之後才返回;而/dev/urandom不會(ublock),當然,產生的隨機數效果也不太好。
所以我們強制Tomcat使用/dev/urandom而不是/dev/random來產生隨機數,速度就會大幅提升——由好幾分鐘到只有幾秒鐘。
2.提交就報404問題
- 看本地的tomcat的context path 和Linux的context path是否相同,不同的話需要修改 mv 當前war包名稱 新的名稱(也就是本地的context path名稱)或者在xftp直接重命名。