将简单的springboot项目后端部署到云服务器
前置条件
·拥有一台云服务器。本文选择试用阿里云的云服务器ECS,操作系统为CentOS 7.9 。
· 完成了完整的可运行springboot后端程序。
· 安装了终端模拟软件。本文在win系统下使用Xshell 7,同时使用Xftp 7用于向服务器传输文件。
· 了解简单的数据库配置方法。
·了解简单的linux命令。
配置安全组
创建完服务器实例后,进入所创建的服务器实例的安全组。
手动添加两个端口,分别为对外端口和访问数据库的端口(默认3306)。
连接服务器
打开Xshell在上方主机,IP地址或会话名称
一栏填入服务器的公网IP地址,按回车。填入创建实例时设置的登录用户名和密码以登录。
同理将Xftp与服务器连接
配置java
oracle官网下载jdk并上传,记住上传位置。由于使用centoOS,jdk需要linux版本,注意和项目所需java版本匹配。
文件名称如jdk-8u171-linux-x64.tar.gz
在当前文件夹用tar命令解压文件,如tar -zxvf jdk-8u171-linux-x64.tar.gz
解压完后该文件夹如图
回到根目录,进入/etc目录,输入vim profile
命令用vim模式编辑profile文件。
在vim模式中,按i进入编辑模式,在文件末尾(即一堆蓝色波浪号之前)加上以下内容以配置java路径。
export JAVA_HOME=/java文件所在路径/jdk1.8.0_171
export CLASSPATH=$JAVA_HOME/lib/
export PATH=$PATH:$JAVA_HOME/bin
export PATHJAVA_HOME CLASSPATH
如图
输入完成后,按esc退出编辑模式,再输入:wq
按回车退出vim。
输入source profile
或者source /etc/profile
执行profile文件以生效命令。
使用java -version
以检查环境是否已经安装完成,如果能正确出现版本号则安装完成,否则重新检查上述步骤是否存在疏漏,路径输入是否正确。
配置数据库
回到根目录,创建一个mysql所用的文件夹mkdir mysql
,进入该文件夹。
下载安装
下载yum源(可以到mysql官网查看有哪些版本需要下载,以及注意与项目所需数据库版本匹配),执行
rpm -Uvh mysql80-community-release-el7-11.noarch.rpm
查看是否已经下载好rpm包,可在当前文件夹执行ls
命令。
安装mysql,执行yum install -y mysql-community-server
检查mysql服务状态,执行systemctl status mysqld
此时程序还未启动。
启动并检查
systemctl start mysqld
systemctl status mysqld
基本设置
查看生成的用户名(默认为root)和临时密码,执行grep 'temporary password' /var/log/mysqld.log
登录mysql,执行mysql -u用户名 -p密码
或mysql -u用户名 -p
之后再输入密码。
之后就可以通过数据库命令增删改查数据库了。
将临时密码修改为自定义密码,执行ALTER USER 'root'@'localhost' IDENTIFIED BY '自定义的密码';
如果需要远程登录(如通过一些本地的数据库管理工具连接服务器上的数据库),须执行UPDATE mysql.user SET host = '%' WHERE user='root';
将访问权限从本地localhost修改为无限制。
如果进行了数据库配置的修改(如改密码,改权限之类),须执行flush privileges;
使之生效。
附1:如需卸载已安装的mysql,可执行sudo yum remove mysql
附2:如果修改密码时失败,可能是密码安全等级太高而不能设置简单密码,可进入mysql后执行SHOW VARIABLES LIKE 'validate_password%';
查看密码安全设置
可通过下列形式修改表中的项目,如SET GLOBAL validate_password.policy = LOW;
附3:如果遇到Linux安装完mysql8.0+后密码丢失,user表没有root用户以及授权设置密码失败等问题,可参考另一位博主的这篇文章https://blog.csdn.net/m0_45057216/article/details/124739741
导入数据库
将本地数据库导出为.sql文件。
上传至服务器的任意文件夹,选择或创建(CREATE DATABASE 数据库名;
)你所需的数据库(use 数据库名;
)后,执行source /路径/数据库文件名.sql;
即可将内容导入到目标数据库中。
上传spring后端程序
在程序的yml文件中,确认所配置的对外端口和数据库端口与服务器实例的安全组一致。
在右侧的maven中双击package进行打包。
会在左边的target文件夹里生成snapshot文件。可在本地执行java -jar /路径/文件名.jar
以检测是否正常运行。
把此文件发送到服务器上,执行java -jar /路径/文件名.jar
即可运行程序。之后通过服务器公网ip和对外端口即可访问。
通过指令nohup java -jar 文件名 &
可以令程序在后台持续运行,即使关闭终端模拟软件也不会停止。
之后需要检测进程以停止程序,执行ps -ef | grep "进程关键词"
以搜索当前运行的进程,执行kill 进程PID
以结束进程(加上-9参数以强制停止)
参考文章:
https://blog.csdn.net/m0_54853420/article/details/125388680
https://blog.csdn.net/m0_45057216/article/details/124739741