部署项目至阿里云

本文介绍了如何在阿里云上部署Spring Boot项目。首先,准备阿里云账号并购买服务器实例,然后配置安全组规则以开放必要端口。接着,通过SSH连接服务器,安装JDK、MySQL、Redis,并设置远程访问。最后,将项目打包为jar文件,使用scp命令上传到服务器,并运行项目。

项目结构

服务端系统:centos7
项目框架:spring boot2.0
数据库:mysql8.0
缓存: redis4.0
开发环境 macos

准备

  1. 一个阿里云的账号,并且购买了一个或多个服务实例。
  2. 准备项目部署环境
  3. 将项目打成jar包
  4. 部署项目并运行

准备阿里云账号

  • 进入云服务器ECS管理台,点击运行,启动云服务器。点击秘钥匙对->创建秘钥对->输入秘钥对名称,选择自动新建秘钥对->在秘钥对列表页点击绑定实例绑定即可,阿里云会自动下载好***.pem秘钥对。
  • 点击安全组->选择添加安全组规则->按照规则配置即可。需要注意的是为了安全性,阿里云是只会开放白名单的接口的,一般的像3306这样的端口,在开发阶段可能需要开放,所以就需要我们进行设置。

准备项目部署环境

可以通过docker部署,很方便,可以避免了差异性,但是这里还是说一下普遍的部署方式。

ssh命令如下。公网IP 在实例列表就可以找到。

ssh root@*.*.*.*   完了再输入密码

ctrl+d 退出
	启动 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 -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,再关窗口

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值