阿里云服务器部署java项目(Dockerfile/命令简单部署)

前言:发现阿里云服务器快过期了,正好拿来部署下Java项目,用一个小项目测试

前置环境:阿里云服务器+jdk+Docker+虚拟机下的MySql

连接服务器的工具:mobaXterm

1.前置准备

1.1  首先查看浏览器访问端口号在服务器中是否被占用

        sudo netstat -tulpn | grep <port>         # <port>为你的浏览器端口

这步很重要,端口被占用,项目无法运行。

可以选择杀掉 kill 进程号

也可以选择在项目配置文件中换一个没有被占用的端口号

1.2在阿里云服务器中设置安全组

        没有设置安全组的可以直接跳过,应该没有限制Ip,个人建议设置安全组,免得被攻击。

        手动添加开放端口,例如我这里的浏览器访问是81,在目的端口范围就填入81,授权对象可以全看,也可以设置成指定的ip才能访问,这里我设置的是全开。

1.3 修改存储层IP

这里用CentOs下的数据库举例。

1.2.1 注意将${db.host}修改成自己的服务器公网IP

1.2.2 如果使用docker部署,也可以修改成数据库对应的容器名(不过要将docker网络和运行容器实例设置同一个网络。docker创立一个网络 docker network create <网络名>,创建容器的时候指定这个网络,后续会讲)

如果是使用其他数据库,修改数据库访问的IP即可


 

2.将Java项目用Maven打包成Jar包 存入服务器中

不管是Dockfile部署,还是命令行运行,都需要项目对应的Jar包

这边将springboot_08_ssmp简单部署

2.1点击跳过测试

2.2 点击打包得到jar包

生成的jar包都在target目录下

2.3 这里建议用mobaXterm软件将jar包拖入服务器root目录下

3.用虚拟机jdk运行项目

先查看是否有Java运行环境,没有就先去下一个

运行命令如下两条:

java -jar <jar包名.jar>  //界面关闭后立刻停止
nohup java -jar  <jar包名.jar>  &   //持续运行

运行成功

4.用Dockerfile部署

4.1 准备好dockerfile文件

文件配置如下(例)

# 基础镜像
FROM openjdk:8 # 取决于你的项目jdk运行版本
# 设定时区
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
# 拷贝jar包
COPY springboot_08_ssmp-0.0.1-SNAPSHOT.jar /app.jar
# 入口
ENTRYPOINT ["java", "-jar", "/app.jar"]

参数注意说明:

1. jdk版本

2. COPY   这里要写自己的jar包          (jar包和Dockerfile要同一个文件夹,注意路径别写错,都放在root目录

将Dockerfile文件发送到服务器root目录中

4.2 创建镜像

利用Dockerfile文件创建镜像 docker build -t dalang  . (别漏了有个“.”)

dalang 为自己设置的镜像名字,自定义选择

查看镜像 docker images

4.3 运行项目

创建并运行容器 如果是访问数据库的ip填写的是容器名,这里可以通过 --network <网络名> 设置

例:           docker run -d -p 81:81 --name dalang --network <网络名> dalang:latest

 照搬例子:docker run -d -p <项目端口>:<项目端口> --name <镜像名>  <镜像名>:<版本号>

查看运行的实例 docker ps

5.访问项目

访问路径:http://服务器ip:端口号

手机端访问

新建  查询、删除等接口都没问题

这样一个网站就做好了,如果想指定好听的域名,也需要去阿里云云服务那里买

  • 18
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值