项目结构
服务端系统:centos7
项目框架:spring boot2.0
数据库:mysql8.0
缓存: redis4.0
开发环境 macos
准备
- 一个阿里云的账号,并且购买了一个或多个服务实例。
- 准备项目部署环境
- 将项目打成jar包
- 部署项目并运行
准备阿里云账号
- 进入云服务器ECS管理台,点击运行,启动云服务器。点击秘钥匙对->创建秘钥对->输入秘钥对名称,选择自动新建秘钥对->在秘钥对列表页点击绑定实例绑定即可,阿里云会自动下载好***.pem秘钥对。
- 点击安全组->选择添加安全组规则->按照规则配置即可。需要注意的是为了安全性,阿里云是只会开放白名单的接口的,一般的像3306这样的端口,在开发阶段可能需要开放,所以就需要我们进行设置。
准备项目部署环境
可以通过docker部署,很方便,可以避免了差异性,但是这里还是说一下普遍的部署方式。
ssh命令如下。公网IP 在实例列表就可以找到。
ssh root@*.*.*.* 完了再输入密码
ctrl+d 退出
- jdk(很简单,这个不跟你不多逼逼)
- mysql:centos下安装可以参考这个:https://blog.youkuaiyun.com/su_xingyu/article/details/80287740
- 安装完成后我们需要添加账号远程登录可以参照这个:https://blog.youkuaiyun.com/huangyuehong914/article/details/80503195
启动 mysql服务
systemctl start mysqld
- 安装完了,应该可以美滋滋的远程登录了把,这个时候大家注意,坑来了:在服务器上登录可以登录,而通过远程访问就会卡死。然后你会发现:哦,可能是3306端口未开放吧,然后你需要telnet一下本地3306端口,注意:centos7本地是没有安装telnet的,需要通过yum安装。安装后发现通过 telnet 127.0.0.1 3306 发现,哦,确实没有开放,咋回事呢,原来是防火墙给拦截了,centos7自带firewall防火墙,需要换成iptables。这里提供两个查看端口命令
lsof -i:80 查看端口是否开放
netstat -tlanp | grep 3306 查看端口是否被监听
- 安装iptables :https://www.cnblogs.com/kreo/p/4368811.html 安装之后我们需要开放端口: https://blog.youkuaiyun.com/sinat_29821865/article/details/80982250
- 安装并设置之后我们需要检查一下,通过命令 查看开放端口
iptables -L -n
好了一顿操作,我们终于可以远程登录mysql了。
启动 service redis_6379 start
停止 redis-cli SHUTDOWN (不建议直接通过service redis stop停止,因为redis会自动持久化备份,如果直接停止可能会造成备份失效)
将项目打成jar包
mvn install -Dmaven.test.skip=true
需要注意的是pom.xml需要在packaging中声明为jar,而且目前我尝试的带有子moudle的项目打包会失败,这个我过几天会总结。
另外需要注意的是如果你的mysql是8.0以上的版本,mysql配置中需如下
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
driverClassName: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/bootdo?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=UTC
##部署项目并运行
通过如下命令将项目拷贝到服务器
第一个参数为源,第二个参数为目标地址
scp ./bootdo-2.0.0.jar root@*.*.*.*:/root/
好了,准备这么多,终于可以部署了
java -jar ***.jar &
在查看程序运行成功后,执行下面
ctrl+z 退出至控制台,执行bg
exit 退出
注意:别直接关闭ssh窗口 执行ctrl+d退出ssh,再关窗口
本文介绍了如何在阿里云上部署Spring Boot项目。首先,准备阿里云账号并购买服务器实例,然后配置安全组规则以开放必要端口。接着,通过SSH连接服务器,安装JDK、MySQL、Redis,并设置远程访问。最后,将项目打包为jar文件,使用scp命令上传到服务器,并运行项目。

被折叠的 条评论
为什么被折叠?



