一、前言
在windows環境下開發了weibo系統,最近想要給他部署到linux上,先用虛擬機試試手。(租用阿里雲服務器配置也差不多)
二、前期準備
1、ubuntu 14.04虛擬機,設置好網絡;
2、配置虛擬機的xftp和ssh等基本功能;
三、安裝配置java環境
安裝java運行環境(最好和你開發時用的java環境版本一致);
1、java版本下載安裝;
2、配置java環境變量
sudo vim profile
3、在profile文件最下邊加上如下語句,保存:
export JAVA_HOME=/usr/lib/jvm/java-8-oracle
export JRE_HOME=/usr/lib/jvm/java-8-oracle/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$JAVA_HOME:$PATH
4、查看java是否安裝成功
java -version
四、tomcat安裝配置
1、下載tomcat(本文下載的是apache-tomcat-8.5.37.tar.gz版本,可以自行上官網下載)
2、將apache-tomcat-8.5.37.tar.gz解壓到文件夾/opt/下;
3、仍然在profile最下邊增加tomcat的環境變量
sudo vi /etc/profile
4、增加環境變量如下
export CATALINA_HOME=/opt/apache-tomcat-8.5.37
5、然後再進入tomcat的bin目錄,修改catalina.sh文件
root@ubuntu:cd /opt/apache-tomcat-8.5.37/bin
root@ubuntu:/opt/apache-tomcat-8.5.37/bin# sudo vim catalina.sh
找到 # OS specific support. $var _must_ be set to either true or false.這句話,在它下邊加上
CATALINA_HOME=/opt/apache-tomcat-8.5.37
JAVA_HOME=/usr/lib/jvm/java-8-oracle
保存修改, 進入到/opt/apache-tomcat-8.5.37/bin文件夾下用startup.sh腳本啓動tomcat,如果顯示如下,則說明啓動成功。
五、ubuntu下mysql配置
ubuntu上安裝mysql非常簡單只需要幾條命令就可以完成。
1. sudo apt-get install mysql-server
2. apt-get isntall mysql-client
3. sudo apt-get install libmysqlclient-dev
安裝過程中會提示設置密碼什麼的,注意設置了不要忘了,安裝完成之後可以使用如下命令來檢查是否安裝成功:
sudo netstat -tap | grep mysql
通過上述命令檢查之後,如果看到有mysql 的socket處於 listen 狀態則表示安裝成功。
4、登陸mysql數據庫可以通過如下命令:
mysql -u root -p
-u 表示選擇登陸的用戶名, -p 表示登陸的用戶密碼,上面命令輸入之後會提示輸入密碼,此時輸入密碼就可以登錄到mysql。
5、設置編碼格式爲utf-8,這裏值得注意的是,MySQL數據庫原本的編碼格式爲Latin1,所以還要更改其編碼格式。查看MySQL5.7編碼格式,進入mysql,然後再輸入指令:
show variables like 'char%';
上圖是我已經設置好以後的
1)開始修改,首先退出mysql,直接輸入exit或者quit,然後回車就行了,再輸入指令進入my.cnf文件
root@ubuntu:/etc/mysql# vim ./my.cnf
修改內容爲:增加兩句
#修改字符串默認編碼格式
character-set-server=utf8
2)保存,退出,重啓mysql
/etc/init.d/mysql restart
6、導入項目中寫好的建庫、建表的sql語句
1)通過xftp把sql文件傳到虛擬機中
2)進入mysql執行sql語句:source /home/test/表名.sql
(如果顯示一堆的Query OK,xxxxxxxxx,那麼則表示導入成功,接下來列出所有的數據表:)
六、從eclipse中導出項目爲war包
1)選中項目/右鍵/Export/WAR file
2)填好地址,點擊Finish即可。
七、上傳war包到ubuntu系統
上傳war包到ubuntu系統主機的tomcat的webapps文件夾下,不用解壓,tomcat在運行時會自動解壓:
八、測試
最後一步咱們就趕緊試試能不能訪問了。遠程桌面重啓tomcat,在tomcat的bin目錄下:
1、先關閉
./shutdown.sh
2、再開啓tomcat
./startup.sh
3、打開任意瀏覽器,IP+項目地址:
報錯:
org.apache.jasper.JasperException: The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the jar files deployed with this application
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:56)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:410)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:117)
org.apache.jasper.compiler.TagLibraryInfoImpl.generateTLDLocation(TagLibraryInfoImpl.java:311)
org.apache.jasper.compiler.TagLibraryInfoImpl.(TagLibraryInfoImpl.java:152)
org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:410)
org.apache.jasper.compiler.Parser.parseDirective(Parser.java:475)
org.apache.jasper.compiler.Parser.parseElements(Parser.java:1427)
org.apache.jasper.compiler.Parser.parse(Parser.java:138)
org.apache.jasper.compiler.ParserController.doParse(ParserController.java:242)
org.apache.jasper.compiler.ParserController.parse(ParserController.java:102)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:198)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:373)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:353)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:340)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:646)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
原因:tomcat的lib包下邊缺少了jstl.jar和standard.jar兩個包導致的。
jstl.jar下載地址: http://repo2.maven.org/maven2/javax/servlet/jstl/1.1.2/
standard.jar下載地址: http://repo2.maven.org/maven2/taglibs/standard/1.1.2/
4、下載好這兩個jar包以後傳入虛擬機的 tomcat的lib
5、按照上邊1、2、3的步驟再重新啓動一下tomcat服務。此實訪問一切正常。效果如下:
九、資料查閱和下載
1、 weibo項目具體系統設計說明書: https://pan.baidu.com/s/1SvdrSi03Eo7zkdmuY5UrIw
2、weibo項目具體代碼參見github鏈接:https://github.com/Teingi/java/tree/master/weibo
3、項目介紹參見:https://blog.csdn.net/weixin_40449300/article/details/85730592
4、導出的war文件下載地址:https://pan.baidu.com/s/1pb1_349bmmUU1qlsFVKxBg