将项目后端接口部署到腾讯云服务器上
在腾讯云服务器上点击登录,进入命令行:
一、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后端项目部署到云服务器上的完整流程。
有出错的地方欢迎指出,有不明确的地方欢迎提问。
标签:执行命令,部署,腾讯,jar,点击,mysql,服务器,安装 From: https://www.cnblogs.com/hngz/p/17464681.html