后端项目部署到腾讯云服务器

发布时间 2023-06-07 21:51:32作者: 林同学的博客

将项目后端接口部署到腾讯云服务器上

 在腾讯云服务器上点击登录,进入命令行:

一、jdk环境准备

1、执行命令rpm -qa | grep java查看系统当前是否安装了jdk,显然本系统无任何版本的jdk。

2、执行yum search jdk,查询腾讯云服务器上的jdk有哪些:

3、我们安装查询到的第二条记录java-1.8.0-openjdk.x86_64,执行命令yum -y install java-1.8.0-openjdk.x86_64(jdk名称),安装jdk1.8版本,由于我是在lighthouse用户下执行的命令,有一些命令没有执行的权限,所以加了sudo,表示在执行命令时赋予相应的权限,如果你们是在root用户下执行的命令,其拥有最高权限,则不需要加sudo

 4、执行成功后将显示complete:

5、执行find -name java,查询jdk1.8安装了的位置:

6、进入该目录,执行java -version即可查看当前的java环境,在其他目录下也是可以查看到当前的java环境,应该是安装的时候系统自动配置了环境变量:

二、mysql环境准备

1、安装MySQL,执行命令yum install mysql,可以看到,我们安装的mysql版本为8.0.26的:

2、遇到是否安装时,输入‘y’,表示同意:

3、安装成功:

 4、安装mysql-server,执行命令yum install mysql-server,中间的时候同样需要输入‘y’:

 5、安装完成:

 6、运行命令yum install mysql-devel安装客户端:

 7、安装完成:

 8、一开始,我预执行命令service mysqld start来启动mysql服务,但是报错了,系统提示我去/bin目录下的可执行文件systemctl启动mysql服务:

 9、我使用命令cd /bin进入bin目录,再执行命令sudo ./systemctl start mysqld.service成功启动mysql服务,虽然无提示信息,我们可以通过命令ps -ef | grep mysql查看到mysql服务已经成功开启:

 10、设置mysql开机自动启动,enabled状态即表示开机自启动:

1) 使用命令sudo systemctl list-unit-files|grep mysqld.service查看mysql是否随服务器开机自启动,disabled表示否;

2) 执行命令sudo systemctl enable mysqld.service将mysql设置为开机自启动;

3) 再此执行命令sudo systemctl list-unit-files|grep mysqld.service查询的时候mysql已改为开机自启动模式了。

11、由于我们上面安装的mysql是没有设置密码的,进入mysql,输入mysql -u root -p后回车,提示输入密码,直接按回车即可。

12、接下来,我们为root账号设置密码:

1)执行命令alter user user() identified by ‘自己的密码’;,记住sql语句以分号“;”结尾,要注意不同版本的mysql修改账号密码的语句有差异,我的版本是8.0.26的(在上面安装的时候就知道了);

2)再执行flush privileges;命令,其作用是刷新MySQL权限。当用户创建新的MySQL用户或者修改了已有用户的权限时,需要使用flush privileges命令,才能使修改生效。

13、退出以新密码登录,能进入mysql即成功:

14、设置远程主机登录mysql,可在本地宿主机电脑上准备好待会儿要部署的项目需要的数据库、数据表数据:

1) 先use mysql;进入系统mysql数据库,执行命令update user user() set user.Host=’%’ whereuser.User=’root’表示使用root用户可通过任何ip连接到本云服务器上的数据库;

2)再执行flush privileges;命令,使得权限设置生效。

15、腾讯云服务器的防火墙、安全组设置:

1) 为避免在本机测试连接远程服务器的mysql失败,先设置云服务器的防火墙;

防火墙->添加规则

应用类型我们选择ALL即可,虽然存在不安全的风险,但对于我们测试还是比较简易的。

点击确定即添加完成:

2) 为防止成功部署后端项目后,通过浏览器网址访问不到项目接口,先设置安全组的入站、出战规则。

· 点击“云产品”,输入“安全组”搜索,点击左旁的“私有网络”:

 · 点击侧边栏的“安全”选项,展开后再进入“安全组”:

· 点击“新建”按钮,新建安全组,默认选项即可,点击“确定”:

 · 点击新添加的安全组链接,进入设置规则:

  · 在“入站规则”选项卡下,选择“添加规则”按钮,设置允许通过的网址连接,此处我的后端项目端口为8080,根据具体情况自行设置:

· 设置下面2个入站规则就够用了:

· 安装相同的流程设置出战规则:

16、允许远程主机登录设置完毕,我们可以通过mysql图像化工具(我用的是mysql安装时自带的MySQL Workbench 8.0CE,图标如下所示。使用navicat等都可以)测试是否能连接,

1)打开MySQL Workbench,点击“+”号,创建连接;

2) 填写连接名称(随意取);

连接方式默认选TCP/IP连接就好;

Hostname填写自己腾讯云的公网IP;

端口号没改的话默认为3306;

Username为root,因为我们上面二、14点处授权给的也是root用户;

点击Password处的按钮,输入密码,密码是上面二、12点处我们自己设置的;

最后点击右下角的“Test Connection”按钮测试连接。

3)如果测试成功,将出现下面弹框:

4)点击“OK”成功创建一个remote_content连接,点击并输入密码进入该连接,在里面可以完成数据库数据表的创建。

三、后端项目的部署

我们当前的环境准备有jdk和mysql,我们使用的是jar包运行springboot项目,springboot项目内置tomcat环境,使用我们不需要而外准备tomcat环境。

1) 我们在IDEA将项目打成jar包:

 · 打包之前,先留意一下项目连接数据库的配置文件,访问的IP为云服务器的IP。

 · 在maven->项目名称->Lifecycle,双击clean再双击package,项目将打成包,打包成功后会在命令行提示“BUILD SUCCESS”,相应地,在项目的target目录下,生成了一个xxx.jar文件,即为我们成功打出来的jar包。

 · jar包名字稍长,我们可选择将其改名,非必要。

2) jar包上传至腾讯云服务器:

 · 在腾讯云命令行窗口,点击“SFTP”图标,可上传本地文件至云服务器,我们选择打好的jar包并上传即可。

· 点击上传即可选择。

3) 运行jar包

· 运行本次,服务关闭即失效

执行命令java -jar SchoolActivity-backend.jar运行jar包:

执行成功显示可通过某一端口号访问,springboot项目即成功部署到云服务器:

我们通过浏览器访问网址http://43.139.185.137:8080/activity/findAllActivity可访问到本赛事活动平台的全部已发布的赛事活动信息:

· 持久运行,至于云服务器一直运行,服务关闭还能通过浏览器访问

执行nohup java -jar SchoolActivity-backend.jar &命令,使得spring boot项目在后台一直持续执行:

关闭云服务器连接窗口,通过前端页面访问后端数据也同样可以访问成功:

 

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

以上为springboot后端项目部署到云服务器上的完整流程。

有出错的地方欢迎指出,有不明确的地方欢迎提问。