SpringBoot项目部署到服务器上
一、SpringBoot项目环境
- IntelliJ IDEA 2018.3.2
- Mysql 5.1
二、腾讯云CentOS 7.6镜像服务器
学生可以申请腾讯云的学生专享,三个月27块钱
三、注意点
(一)XShell
- 修改主机名
hostnamectl set-hostname master #设置为master名字
- 查看当前主机名
hostname
- 在修改了主机名后要重新连接一下才会显式看见修改了主机名
- 关闭防火墙
systemctl stop firewalld.service #停止firewall systemctl disable firewalld.service #禁止firewall开机启动 firewall-cmd --state #查看firewall运行状态 显示not running则配置成功
(二)CentOS
1、 使用XShell(提取码:qwer)远程连接
2、 以下步骤在XShell中依次完成
- 安装jdk
获取jdk的tar包(百度网盘:提取码fpcc),使用jdk1.8版本。使用FileZilla(提取码xmlx)将tar包从Windows系统传输到Linux系统下你想要存储的目录里。
解压tar包
修改jdk名称tar -xvf jdk-8***.tar.gz
配置java环境变量mv jdk1.8.0.xxx/ jdk1.8
在打开的文件里面加上以下代码:vim /etc/prifile
生效文件JAVA_HOME=/software/jdk1.8 #你的jdk地址 PATH=$JAVA_HOME/bin:$PATH
查看java是否配置成功source /etc/profile
java -version #出现以下提示表示java环境配置成功 java version "1.8.0_181" Java(TM) SE Runtime Environment (build 1.8.0_181-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)
- 安装MariaDB(也可以安装mysql,差不多的)
MariaDB与Mysql同属一个开发团队,兼容Mysql
安装MariaDB
第一次使用MariaDB需要初始化yum install mariadb-server #在线安装;在Is this ok?提问中选择y;安装完成后显示complete
使用MariaDB# 启动MariaDB systemctl start mariadb # 设置开机启动 systemctl enable mariadb # MariaDB初始化 mysql_secure_installation # 密码验证,初次安装没有密码,所以直接敲回车 # Set root password? [Y/n] 敲回车默认为Y # New password:****** 输入你新设置的密码 # Re-enter new password:****** 再输入一次 # 完成后显示Success! # Remove anonymous users? [Y/n] 敲回车 # Disallow root login remotely? [Y/n] 回车 # Remove test database and access to it? [Y/n] 回车 # Reload privilege tables now? [Y/n] 回车 # 完成显示 Thanks for using MariaDB!
导入数据表mysql -uroot -p****** #******是你设置的密码;是root就写-proot;是123456就写-p123456
将Windows下的sql建表文件直接通过FileZilla传输到Linux上,使用以下语句在MariaDB中执行source /software/mysql/tablename.sql
- SpringBoot集成了TomCat,所以不需要额外安装TomCat。若使用Eclipse需要安装TomCat
下载tomcat的tar包,解压后:vim /etc/profile # 在最下面添加以下代码 export CATALINA_HOME=/software/*** # 你的tomcat路径 export PATH =$CATALINA_HOME/bin:$PATH:$HOME/bin
- 可以使用FileZilla进行Windows和Linux系统的文件传输
(三)SpringBoot
-
若SpringBoot中使用到了WebSocket方面功能,需要在项目的test/java/com.xxx/xxxTests.java里加上以下注释:
@RunWith(SpringRunner.class) @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
-
SpringBoot中的所有涉及链接的都不要前面的/
@GetMapping("/") public String index(){ return "/index"; }
改为
@GetMapping("/") public String index(){ return "index"; }
-
项目涉及到的图片同样需要上传到服务器中,在项目代码中,图片路径更改为在服务器中的路径。如下:
//在SpringBoot中的映射 registry.addResourceHandler("/pic/**").addResourceLocations("file:C:/picture/file/"); //部署到云上需要修改为以下;其中file后面改为云服务器上的图片路径 registry.addResourceHandler("/pic/**").addResourceLocations("file:/software/picture/file/");
-
打包SpringBoot项目
点击右侧的Maven,在Lifecycle里双击package。
成功后,根据提示的路径找到打包后的jar包。将jar上传到CentOS系统里。在Xshell中,该文件所在文件路径下,输入以下命令执行:java -jar ***.jar #你的jar包名字
启动成功后,会显示SpringBoot项目标志。此后,即可使用云服务器公网IP访问该项目,别忘记加你自带的端口号。