SSM项目 部署到云服务器

前言:本项目是SSM web项目,小白一枚,也踩过不少坑,于是自己总结了一份经验,供大家参考。首先选择云服务器:比如阿里云、腾讯云、百度云等。推荐使用FinalShell 、XShell。不熟悉linux命令的可以选择FinalShell ,操作非常简单易懂。
(FinalShell SSH工具,服务器管理,远程桌面加速软件,支持Windows,macOS,Linux。官网:http://www.hostbuf.com/)

主要分为以下几个步骤:

1.在服务器上安装配置jdk、Tomcat、mysql

(1)安装jdk:yum -y install java-1.8.0-openjdk.x86_64
查看jdk的版本:java -version
linux下查看jdk版本有时候需要重启才可以看到这些配置信息。如果出现上面的语句,说明服务器的jdk已经配好了。

(2)安装mysql:这里推荐两篇非常优秀的文章:
https://blog.csdn.net/ningwentao1234/article/details/86611390
https://www.cnblogs.com/biehongli/p/11160839.html

(3)安装Tomcat:官网:https://tomcat.apache.org/
(注意:安装Tomcat之前要先安装java jdk。Tomcat不管是windows还是Linux系统,都是解压后再配置一下就可以使用)
选择后缀为tar.gz的版本,下载到本地。
SSM项目 部署到云服务器_第1张图片
mkdir /usr/local/tomcat:创建/usr/local路径下的tomcat文件夹(mkdir:创建文件夹,路径自己定义即可,提示:最好统一归类,方便查找)
通过rz命令将下载到本地的压缩包上传到服务器上,并将压缩包放到/usr/local/tomcat路径下。或者在FinalShell中直接拖拽文件到指定位置就可以了。
tar -xzvf apache-tomcat-8.0.9.tar.gz:解压 apache-tomcat-8.0.9.tar

启动Tomcat,来查看是否安装成功:
注意:到tomcat的bin文件夹下输入启动和关闭命令

cd /usr/local/tomcat/apache-tomcat-8.0.9/bin
./shutdown.sh   关闭
./startup.sh    启动

先输入关闭命令,目的是为了查看tomcat是否已经启动。
SSM项目 部署到云服务器_第2张图片
如果是阿里云的话,还需要在阿里云控制台添加安全组,腾讯云是不需要的。
最后在浏览器输入ip:8080,如果出现下面的网页,则说明tomcat安装成功。
SSM项目 部署到云服务器_第3张图片
当时还遇到了Tomcat配置提示权限不够的问题,解决方法:
打开终端,进入到Tomcat的上一级目录里面,如Tomcat所在目录是/usr/local/Tomcat
在终端输入命令sudo chmod -R 777 /usr/local/Tomcat,那么Tomcat文件夹和它下面的所有子文件夹的属性都变成了777(读/写/执行权限)注意路径!

当然这里有个偷懒的小技巧。tomcat在windows系统和Linux系统上是通用的,启动的命令和配置不一样。所以我直接将本地项目使用的tomcat8.0.9压缩包上传到云服务器。并解压。(tar.gz和zip格式的都可以)

(如果是SpringBoot项目需要在pom文件中添加取消内置tomcat的依赖,自己修改tomcat的配置文件等,与SSM项目略有不同)

2.项目中连接的数据库需要变成自己服务器上的远程数据库

在jdbc.properties文件中,修改数据库信息。

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://ip:3306/库名?useUnicode=true&characterEncoding=utf8
jdbc.username=用户名
jdbc.password=密码

在navicat中选择“转储sql文件”,导出.sql后缀的数据库文件。连接到远程服务器的数据库后,一定要自己新建一个数据库,注意名字要相同,再“运行sql文件”。
SSM项目 部署到云服务器_第4张图片

3.maven项目生成war包,启动Tomcat

(1)执行maven clean 、install,然后在target文件夹中会有一个war包(xxx.war),将war包改名叫ROOT,这样启动后的url地址可以忽略文件名。
(2)将ROOT.war放到Tomcat中的webapp下
(3)然后到Tomcat的bin目录下,./shutdown.sh;然后./startup.sh。就可以启动tomcat了

在浏览器上,输入网址:http://公网ip:8080/index.html,就可以访问了。
请多多检查路径,有时候往往不是命令的错误,而是路径找的不对,导致一直提示错误。

小bug记录:部署到服务器,修改war包不更新

ajax请求路径一直是localhost,正确路径应该是公网ip,所以一直报未知网络错误。
将war包在本地Tomcat测试,显示路径都是正确的,但是一到远程服务器上,显示的路径还是未修改之前的localhost,这说明war包是没有问题的。
考虑缓存问题:服务器或者Tomcat。不过按照网上的清缓存方法,修改了很多次,问题依旧没有解决。
(tomcat的缓存:打开Tomcat目录,打开work\Catalina\localhost,删除对应的项目名称即可,此文件是Tomcat对项目的缓存)

最终采取了最简单粗暴的方法,将云服务器上的Tomcat删除(彻底删除:rm -f命令),再重新执行上面的操作,问题就解决了,很神奇。。。。

你可能感兴趣的:(项目部署,spring)