maven项目部署到阿里云详细步骤(Windows系统)

最近买了个阿里云服务器练练手。
博主购买的是2016数据中心版(Windows系统)。

配置阿里云服务器

  • 进入云服务器ECS
    在这里插入图片描述
  • 重置实例密码后并重启服务器
    在这里插入图片描述
  • 设置安全组
    网络与安全-》安全组-》配置规则-》配置出入方向
    旧版如下图:在这里插入图片描述在这里插入图片描述

远程连接服务器

因为购买的是WIndows系统,所以直接远程连接操作桌面方便多了。
(如果买的是Linux,最好还是用xShell和xFTP进行连接,文件传输方便点。)
这里的远程连接可以直接在阿里云页面上点击实例-》远程连接进行,博主使用的是电脑自带的远程桌面连接。输入公网ip之后,输入用户名和实例密码。之后共享本地上的资源。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这里需要连接本地磁盘上的资源,因为这样可以把本地里面的资源直接复制到服务器上。之后点击连接,成功。
在这里插入图片描述

配置服务器环境

  • 配置jdk
    在服务器C盘-》ProgramFiles新建java文件夹,把本地下好的jdk复制到java文件夹中。之后在服务器中配置环境变量。
    好博客传送门:jdk配置环境变量

  • 配置mysql
    在服务器C盘-》ProgramFiles新建mysql文件夹,把本地的mysql复制到文件夹中。(最好把本地的拖进去,建议不要在服务器上直接下载,因为本地的有数据库的数据)记得在my.ini之后修改自己mysql的安装目录和数据存放目录,之后在服务器中配置环境变量。
    电脑->属性->高级->环境变量选择Path,在其后面添加你的mysql bin文件夹的路径 :
    如C:\Program Files\mysql\mysql-8.0.18-winx64\bin;(英文分号)
    之后打开cmd开启数据库服务试试看能否成功。
    开启数据库命令:net start mysql
    登录:mysql -u root -p

  • 配置tomcat
    好博客传送门:tomcat配置

如果用不到数据库,可以不配置数据库。记得配置完后测试是否成功,不成功网上有很多教程,自己搜啦~

maven项目打包war

  • 首先确定自己的目录结构是否正确。
    在这里插入图片描述
  • 启动类是否有继承ServletContainerInitializer类,并复写configure()方法。
    在这里插入图片描述
    具体为什么要继承它,
    好博客传送门:WebApplicationInitializer的理解
    SpringBootServletInitializer的启动
  • pom.xml配置
    在这里插入图片描述
    finalName是war包的名字
    在这里插入图片描述
    检查是否打包成war
    在这里插入图片描述
  • 生成war包
    点击View-》Tool Windows-》Maven Projects
    首先双击clean,把之前的生成的war包清除掉。
    点击蓝色圆圈闪电按钮,跳过测试类。
    之后双击package,等一下就会出现BUILD SUCCESS啦。
    在这里插入图片描述
    打包好的war包藏在这里~
    在这里插入图片描述

将war包放上服务器

  • 把war包或者war文件夹复制到服务器上tomcat下的webapps目录。(如果只复制war包,那启动tomcat时才会自动解压生成war文件夹)
  • 博主是把前端页面放在maven项目的static文件夹一同打包在war上了,现在如果启动服务器的话,页面访问的路径会带上项目名,访问的接口也带上项目名。
  • 如:我的war包名字为WindTech,访问时的路径是http://公网ip+端口号/WindTech/xx.html,但是网页访问接口时并没有带上项目名,如打开网页直接访问的是/products/show接口,报错404,而访问WindTech/products/show接口才有json数据返回(因为此时要带上项目名才能访问tomcat下WindTech项目controller的接口)。
  • 如果你仅仅是打包后端,测试接口,则接口加上项目名访问也没有问题。(前端没有打包,在本地上运行页面访问服务器接口时,可能会跨域报错,后端如果使用的是SpringBoot或者高级版本的SpringMVC,可以直接在controller上加入@CrossOrigin就解决啦)
  • 当你前后端在一个war包里,或者前后端分离打包在tomcat上时,前端页面访问后端的接口需要加上项目名,因为后端的接口在项目下。因此解决的办法是访问时去掉后端里面的项目名。
  • 要么把原先的ROOT文件夹删除掉,把war文件夹设置成ROOT(简单粗暴),因为ROOT是tomcat默认启动的,直接http://公网ip+端口号/就可访问内部的资源;(如果是前后端分离,把后端文件夹设置成ROOT,就可以不带项目名访问接口,而访问前端页面路径需要带项目名访问,但因为前端仍然在项目下。)
  • 要么就是在tomcat文件夹下的conf的sever.xml中,<host>标签之间添加 <Context path="" docBase=“项目名路径” reloadable=“true” /> ,项目名路径可以为相对路径或者绝对路径。修改后保存,这时候访问webapps下的资源就不需要带上项目名访问。

启动服务器

cmd进入tomcat下的bin目录,输入startup.bat进行启动,关闭就是shutdown.bat命令。
启动完之后就可以在浏览器上输入自己的路径访问啦。
如http://ip+端口//xxxx.

(如果对你有帮助,记得点赞哦!如果文中有错误,欢迎大佬指出。)
完结,撒花~

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值