一、前言
在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.youkuaiyun.com/weixin_40449300/article/details/85730592
4、导出的war文件下载地址:https://pan.baidu.com/s/1pb1_349bmmUU1qlsFVKxBg