一. 购买云服务器
个人选择的是阿里云服务器
二. 设置安全组
开放常用端口:80(HTTP)、443(HTTPS)、3306(MySQL)、8080(Tomcat)等
三. 使用Xshell连接云服务器
下载Xshell(建议一同下载Xftp):
Xshell 下载 - NetSarang Website 或 家庭/学校免费 - NetSarang Website
四. 配置环境
JDK、MySQL等。阿里云服务器可能会自带JDK8,但是建议卸载重装,因为自带的是OpenJDK。另外,通过rpm安装的JDK无需配置环境变量,较为省事
若想图形化式安装,可以使用宝塔面板
阿里云ECS无法打开面板的解决方法—阿里云安全组放行教程 - Linux面板 - 宝塔面板论坛
五. 配置MySQL
启动MySQL systemctl start mysqld 查看MySQL运行状态(判断是否启动成功) systemctl status mysqld
查看MySQL默认密码 grep 'temporary password' /var/log/mysqld.log 登录MySQL mysql -u root -p
修改MySQL密码 mysql> UPDATE mysql.user SET authentication_string=PASSWORD('新密码') WHERE User='root';
查看MySQL状态 mysql> status 若编码方式不为utf8 vi /etc/my.cnf 添加如下内容: [client] default-character-set=utf8 [mysqld] character-set-server=utf8 collation-server=utf8_general_ci
开启远程连接权限 mysql> UPDATE mysql.user SET host = '%' WHERE user='root'; 刷新 mysql> FLUSH PRIVILEGES;
退出MySQL mysql> quit 或 mysql> exit
开启远程连接权限后,可使用本地的MySQL管理工具连接云服务器上的MySQL。发布项目前先整理好数据库
六. 将SpringBoot项目打包
打包后通过Xftp将文件上传至Linux云服务器
注意,打包方式为jar包,在pom文件中设置
<packaging>jar</packaging>
七. 运行项目
进入存放jar包的文件夹,执行如下指令(其中xxx为自定义的jar包名):
java -jar xxx.jar 或 java -jar xxx.jar & 或 nohup java -jar xxx.jar &
第一条命令表示前台执行进程,Xshell终端被锁定(无法进行其他操作,可通过 Ctrl + c 终止进程),关闭Xshell连接后进程终止(项目无法被访问)
第二、第三条命令表示后台执行进程,即Xshell终端不会被锁定。前者关闭Xshell连接后进程终止(项目无法被访问),后者即使关闭Xshell连接,进程也不会终止(项目依旧能被访问)
项目运行后,可通过 http://Linux云服务器公网IP:项目端口 进行访问
额外说明
如何终止进程:
前台进程:Ctrl + c 终止进程
后台进程:
1. 执行命令:ps 可选参数,查看当前运行的进程,找到要终止的进程的PID
可选参数:
-a:显示终端运行的所有进程,除了session leaders
-u:显示终端运行的所有进程,以用户分类
-x:显示终端运行的所有进程,以及后台运行的进程
-A:与-x相似,但是信息较少
2. 执行命令:kill -9 PID,暴力终止要终止的进程
执行命令:kill -15 PID,正常终止要终止的进程(不指定参数的话,默认为参数就为 -15)
关于 kill -9 PID 与 kill -15 PID:
-9 为暴力终止,可能会残留一些不完整的文件或状态,影响线程的再次启动
-15 为正常终止,进程收到该命令后,可能会:
1. 进程立刻终止
2. 进程释放相应资源,然后终止
3. 进程继续运行
大部分进程会在释放自己的资源后停止,但也有进程能在接受到命令后,继续做其他事(可人为配置)
若进程正在等待IO(等待IO的线程被阻塞),可能不会马上做出响应
也就是说,-15 是可被阻塞、被忽略的