Spring框架学习笔记(6)——阿里云服务器部署Spring Boot项目(jar包)

时间:2022-02-10 15:58:06

最近接外包,需要部署服务器,便是参考了网上的几篇博文,成功在阿里云服务器成功部署了Spring Boot项目,特记下本篇笔记

Spring Boot项目打包

这里说一下部署的一些问题

1.mysql驱动

创建spring boot的时候,在界面选择添加了MySql的依赖,但是,实际项目测试的时候,发现驱动错误,所以,得把MySql驱动改为下面的驱动

<!-- mysql驱动 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.6</version>
</dependency>

2.打包

使用spring boot项目,通过maven中的lifecycle中的package进行快速打jar包,这个jar包内置了tomcat服务器,之后就可以直接运行此jar包。

Spring框架学习笔记(6)——阿里云服务器部署Spring Boot项目(jar包)

之后我们就可以得到一个jar包,把此jar包部署到服务器

配置宝塔linux系统环境

购买服务器

我购买的是学生主机,比较实惠,只要是经过实名验证,24岁以下,就是自动默认的学生身份

选择轻量级应用服务器和宝塔linux选项,可以快速安装并使用linux宝塔面板,很适合不懂linux命令的人群

Spring框架学习笔记(6)——阿里云服务器部署Spring Boot项目(jar包)

安装宝塔系统

购买到服务器成功之后,如果是以前的话就会要求你设置管理员的密码,但实际操作的时候,并没有弹出窗口,需要手动去设置密码

Spring框架学习笔记(6)——阿里云服务器部署Spring Boot项目(jar包)

之后就可以通过此root账户和密码,使用xshell等工具远程连接到服务器

当然,也可以不设置,不设置的话每次远程连接服务器都要进入阿里云的控制台才能操作

切换到管理员账户(命令为sudo su root),输入下面的安装宝塔linux命令

yum install -y wget && wget -O install.sh http://download.bt.cn/install/install.sh && sh install.sh

之后会弹出一个提示,输入y之后就开始安装了

我们输入下面命令,来查看系统生成的linux宝塔系统的用户名和密码

/etc/init.d/bt default

Spring框架学习笔记(6)——阿里云服务器部署Spring Boot项目(jar包)

登录宝塔linux系统

在登录之前,还得在安全组的规则中添加8888端口,否则无法进入宝塔系统登录的界面

Spring框架学习笔记(6)——阿里云服务器部署Spring Boot项目(jar包)

宝塔的地址为ip地址:8888,如47.22.22.33:8888

使用上面获得的宝塔系统的账户密码登录宝塔linux系统,之后进行环境的安装(数据库,php,tomcat)

由于我们是jar包方式部署,所以需要服务器上配置好java环境,我们不想通过命令行类配置java环境,可以选择宝塔系统安装Tomcat环境

安装Tomcat环境就会默认安装Java环境了,Tomcat环境的话,选择版本8,这样,默认的Java环境就是1.8,如果版本为7,则默认为Java环境为1.7

Spring框架学习笔记(6)——阿里云服务器部署Spring Boot项目(jar包)

远程连接服务器

可以使用ssh本地客户端远程连接服务器,我这里使用的是xshell,连接很简单,只需要配置好主机(Ip地址)、用户名和密码即可

Spring框架学习笔记(6)——阿里云服务器部署Spring Boot项目(jar包)

之后输入linux中的管理员密码即可成功登陆

服务器配置mysql数据库

1.开启3306接口放行

Spring框架学习笔记(6)——阿里云服务器部署Spring Boot项目(jar包)

PS:可能还需要在服务器的防火墙添加规则

Spring框架学习笔记(6)——阿里云服务器部署Spring Boot项目(jar包)

2.配置mysql远程连接

默认的mysql是不允许远程连接的,所以,我们得配置mysql远程连接

使用Xshell等ssh客户端,远程连接到服务器上,之后输入命令mysql -u 账户名 -p,输入密码之后即可进入到mysql命令行,输入下面的命令

%使用mysql默认的数据库
use mysql;
%设置远程连接
update user set host ='%' where user = 'root' and host='localhost';
%刷新
flush privileges

参考链接:

Mysql初始化root密码和允许远程访问

解决Navicat远程连接MySQL出现 10060 unknow error

部署项目

服务器部署spring boot项目有两种方式,war(传统tomcat方式),jar

war的话,直接放在tomcat的webapp的目录即可

本文使用是jar包部署,使用linux宝塔系统把之前的那个spring boot的jar包上传到服务器上

由于是服务器,如果关闭了远程连接窗口,就会自动结束进程,所以,得要实现后台运行jar包

使用命令来开启后台

//远程连接关闭,也会关闭
java -jar xx.jar
//后台
java -jar xx.jar &

新建一个脚本start.sh,然后脚本需要给予权限(宝塔linux中文件选项可以快捷更改)

java -jar xx.jar >nohup.out 2>&1&

上面的脚本,只需要修改为正确的jar包文件,之后执行脚本就会开启后台执行jar包,同时,会将日志输出到nohup.out文件中

我们在本地建好脚本,之后上传到服务器上,修改权限为777

Spring框架学习笔记(6)——阿里云服务器部署Spring Boot项目(jar包)

下面的全勾选,权限就会变为777

Spring框架学习笔记(6)——阿里云服务器部署Spring Boot项目(jar包)

之后通过ssh客户端远程连接服务器,以管理员的身份来执行脚本

./start.sh

之后项目访问的话就是通过ip地址+端口号+项目名,如44.22.22.22:13888/Demo/hello,这里,我是在spring boot配置文件中自定义了端口13888,默认的话则是8080

如果有自定义端口,还要放行端口,在宝塔linux系统的安全选项可以修改,详情请参考上面的mysql端口的放行

如果项目有所更改,再次部署的时候,先通过jps命令查看运行的jar包,之后关闭进程,重新上传新的jar包,并执行脚本即可

Spring框架学习笔记(6)——阿里云服务器部署Spring Boot项目(jar包)

Spring框架学习笔记(6)——阿里云服务器部署Spring Boot项目(jar包)的更多相关文章

  1. Linux学习笔记之阿里云ECS部署LAMP环境

    LAMP指Linux+Apache+MySQL/MariaDB+Perl/PHP/Python,是一组常用来搭建动态网站或者服务器的开源软件.它们本身都是各自独立的程序,但是因为常被放在一起使用,拥有 ...

  2. 阿里云服务器部署Java Web项目全过程

    最近需要将一个Java Web项目部署到服务器上,方便多人共享访问.这也是我第一次接触服务器之类的东西,也花了一点时间,最终总算部署成功,写下一篇文章记录以便日后回顾. 购买服务器 第一步当然是需要购 ...

  3. Spring框架学习笔记(5)——Spring Boot创建与使用

    Spring Boot可以更为方便地搭建一个Web系统,之后服务器上部署也较为方便 创建Spring boot项目 1. 使用IDEA创建项目 2. 修改groupid和artifact 3. 一路n ...

  4. Spring框架学习笔记(8)——spring boot&plus;mybatis plus&plus;mysql项目环境搭建

    之前写的那篇Spring框架学习笔记(5)--Spring Boot创建与使用,发现有多小细节没有提及,,正好现在又学习了mybatis plus这款框架,打算重新整理一遍,并将细节说清楚 1.通过I ...

  5. Spring框架学习笔记(1)

    Spring 框架学习笔记(1) 一.简介 Rod Johnson(spring之父) Spring是分层的Java SE/EE应用 full-stack(服务端的全栈)轻量级(跟EJB比)开源框架, ...

  6. 阿里云服务器部署Office online注意事项

    阿里云服务器部署Office online注意事项 一.参考配置 实例规格:4核8GB(IO优化) 网络带宽:5Mbps 系统盘:40G 存储盘:200G OS:Windows Server 2016 ...

  7. 【Linux笔记】阿里云服务器被暴力破解

    一.关于暴力破解 前几天新购进了一台阿里云服务器,使用过程中时常会收到“主机被暴力破解”的警告,警告信息如下: 云盾用户您好!您的主机:... 正在被暴力破解,系统已自动启动破解保护.详情请登录htt ...

  8. 怎么在阿里云服务器部署多个tomcat

    部署前准备: 1.到阿里云官网购买一台服务器 2.给阿里云服务器挂盘,阿里云有教程这里不讲解,自己看. Linux 系统挂载数据盘 视频:Linux服务器挂载数据盘 3.下载tomcat  http: ...

  9. 【Linux】阿里云服务器部署--禅道

    Xshell部署环境 回到Xshell界面,连上阿里云服务器,参考上一篇[linux学习1-Xshell连接阿里云ECS服务器](https://www.cnblogs.com/yoyoketang/ ...

随机推荐

  1. KeyBord事件分发和接收简要过程代码示例

    step1:调用ViewRootImpl的内部类ImeInputStage的成员函数onProcess来判断输入法是否处于激活状态 final class ImeInputStage extends ...

  2. vs项目和msql不兼容解决方案

    当vs的工程项目加载了libmysql.lib 即:附加包含目录,附加库目录,附加依赖项都设置好之后,如过编译出现如下: error LNK2019: 无法解析的外部符号 _mysql_real_co ...

  3. 《RabbitMQ Tutorial》译文 第 2 章 工作队列

    源文来自 RabbitMQ 英文官网的教程(2.Work Queues),其示例代码采用了 .NET C# 语言. In the first tutorial we wrote programs to ...

  4. 机器学习技法:16 Finale

    Roadmap Feature Exploitation Techniques Error Optimization Techniques Overfitting Elimination Techni ...

  5. java线程学习之线程创建

    线程是程序控制的一个内部数据流.线程的状态转化如下 或者 在java中创建线程有两种方式: 1.实现runnable接口(这个比较好,推荐这个.原因是:用的时候比较灵活,相比较继承Thread类,用接 ...

  6. zabbix2&period;2 - &sol;tmp&sol;FromDualMySQLagent&period;lock already exists

    最近升级了线上的zabbix server版本,升级成功后发现日志中一直报出history和history-uint表的主键冲突数据插入不成功的信息,根据主键冲突发生的itemid去库里查,如下 my ...

  7. vue使用node的入门

    1.安装cnpm npm install -g cnpm --registry=https://registry.npm.taobao.org 验证是否安装 cnpm -v 2.安装vue cnpm ...

  8. IE9中input事件与异步事件连用会发生跨域问题

    IE版本中IE8以及IE9以上版本不会存在这个问题唯独IE9 发生跨域问题代码 $("#stock_code").bind("input",function(e ...

  9. 18年春招某编程题:有三个整数X&comma;Y&comma;Z&comma;要求进行若干次操作使得X&comma;Y&comma;Z相等

    题目描述: 给定三个整数X,Y,Z,要求进行若干次操作使得X,Y,Z相等,操作有两种: 1.从X,Y,Z中选择两个数都加1. 2.从X,Y,Z中选择一个数加2. 求最少需要多少次操作. 题目思路: 1 ...

  10. &lbrack;转&rsqb;WordPress 主题教程 &num;2:模板文件和模板

    本文转自:http://blog.wpjam.com/m/wp-theme-lesson-2-template-files-and-templates/ 模板文件(template files)和模板 ...