苍穹外卖后端部署/阿里云ECS/Docker

这篇具有很好参考价值的文章主要介绍了苍穹外卖后端部署/阿里云ECS/Docker。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

声明:此贴针对于小白玩家

一、事前准备

1.阿里云ECS:我用的是下图这个,也可以白嫖试用(3个月,和我购买的性能一致)的,但是试用的不满足备案条件,如果之后想使用域名访问的话,建议还是花点钱
苍穹外卖后端部署/阿里云ECS/Docker,java,docker,阿里云2.远程工具:自己配置好,连接到服务器。也可以使用ecs自带的,都行
3.以上两步做好后,安装Docker,有很多帖子,自行百度吧

二、环境配置

  • 目录结构如下:

Sto_DockerCompose
├─ docker-compose.yml
├─ jar
│ ├─ Dockerfile
│ └─ sky-server-1.0-SNAPSHOT.jar
├─ mysql
│ ├─ conf
│ ├─ data
│ └─ init
├─ nginx
│ ├─ conf
│ └─ html
└─ redis
├─ data
└─ redis.conf

1.docker-compose.yml

后续步骤都和此yml文件对应

mysql密码自行指定,redis密码在第5步的.conf里指定
version: "1.0"

services:
  mysql:
    image: mysql
    container_name: mysql
    ports:
      - "3306:3306"
    environment:
      TZ: Asia/Shanghai
      MYSQL_ROOT_PASSWORD: ******
    volumes:
      - "./mysql/conf:/etc/mysql/conf.d"
      - "./mysql/data:/var/lib/mysql"
      - "./mysql/init:/docker-entrypoint-initdb.d"
    networks:
      - sto-net
  sky_take_out:
    build: 
      context: ./jar
      dockerfile: Dockerfile
    container_name: sky_take_out
    ports:
      - "8080:8080"
    networks:
      - sto-net
    depends_on:
      - mysql
  nginx:
    image: nginx
    container_name: nginx
    ports:
      - "80:80"
    volumes:
      - "./nginx/conf/nginx.conf:/etc/nginx/nginx.conf"
      - "./nginx/html:/usr/share/nginx/html:ro"
    depends_on:
      - sky_take_out
    networks:
      - sto-net
  redis:
    image: redis
    container_name: redis
    ports:
      - "6379:6379"
    volumes:
      - "./redis/redis.conf:/etc/redis/redis.conf"
      - "./redis/data:/data"
    depends_on:
      - sky_take_out
    networks:
      - sto-net
    command: ["redis-server", "/etc/redis/redis.conf"]
networks:
  sto-net:
    name: sky_take_out_net

2.jar

DockerFile
# 基础镜像
FROM openjdk:11.0-jre-buster
# 设定时区
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
# 拷贝jar包
COPY sky-server-1.0-SNAPSHOT.jar /app.jar
# 入口
ENTRYPOINT ["java", "-jar", "/app.jar"]
sky-server-1.0-SNAPSHOT.jar
  • Maven打包前,需要修改数据库配置,将host分别改为mysql和redis(同一网段的Docker容器可以使用容器名称相互通信)
  • mysql用户名root,password是在compose文件中自己指定过的,端口就是3306
sky:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    host: mysql
    port: 3306
    database: sky_take_out
    username: root
    password: *********
  redis:
    host: redis
    port: 6379
    password: ******
    database: 10  

3.mysql

conf

新建sto.cnf文件,键入以下内容,就是数据库一些配置

[client]
default_character_set=utf8mb4
[mysql]
default_character_set=utf8mb4
[mysqld]
character_set_server=utf8mb4
collation_server=utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'
data

init

sql脚本,初始化数据库

4.nginx

conf

先修改upstream webservers

	upstream webservers{
	  server Your IP Address:8080 weight=90 ;
	}

再修改静态资源位置

    location / {
       # root   html/sky;
		root  /usr/share/nginx/html/sky;
        index  index.html index.htm;
    }
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
 html

前端工程,复制过来就行
苍穹外卖后端部署/阿里云ECS/Docker,java,docker,阿里云

5.redis

data

redis.conf
requirepass ******

三、容器搭建/启动

以上步骤完成后,将Sto_DockerCompose文件夹上传到服务器中,我是上传到了/root/Sto_DockerCompose,然后执行以下命令,构建容器

cd /root/Sto_DockerCompose
docker compose up -d 
#up: 启动服务。
#-d: 在后台运行服务(以守护进程方式)。

到这里就大功告成了,大家可以使用自己的IP访问了,默认端口80。文章来源地址https://www.toymoban.com/news/detail-774612.html

到了这里,关于苍穹外卖后端部署/阿里云ECS/Docker的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 阿里云ECS使用docker搭建mysql服务

    目录 1.确保正确安装好docker 2.安装mysql镜像 3.创建容器(设置端口映射、目录映射) 安装教程: 阿里云ECS(CentOS镜像)安装docker-CSDN博客 https://blog.csdn.net/qq_62262918/article/details/135686614?spm=1001.2014.3001.5501 这里安装8.0,可以改成5.7,以及任意版本,或者改成latest安装最新版 安装命令

    2024年01月20日
    浏览(24)
  • 【快速解决】阿里云ECS使用Docker环境运行软件但公网访问不了

    根据阿里云官网教程基于ECS快速搭建Docker环境进行学习的过程中,发现使用阿里云ECS启动docker内的nginx后,访问公网ip发现访问不到。 教程给的代码是 但阿里云安全组默认是不开放8080端口的 所以根据教程搞不通 只要在安全组里添加一下就可以了,各种参数如下图第一个所示

    2024年02月14日
    浏览(28)
  • AWS实战:ECS Fargate部署nodejs docker image

    https://github.com/JessicaWin/aws-fargate-example 项目启动成功后,浏览器输入http://localhost:3000/,可以看到Hello World! 创建Dockerfile: 指令含义: FROM  :指定 基础镜像 ,因此一个 Dockerfile 中 FROM 是必备的指令,并且必须是第一条指令 WORKDIR:制定后续RUN ,  CMD ,  ENTRYPOINT ,  COPY  和  A

    2024年02月02日
    浏览(24)
  • 【学习笔记】java项目—苍穹外卖day11

    Apache ECharts 营业额统计 用户统计 订单统计 销量排名Top10 功能实现: 数据统计 数据统计效果图: 1.1 介绍 Apache ECharts 是一款基于 Javascript 的数据可视化图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表。 官网地址:https://echarts.apache.org/zh/index.html 常见效果

    2024年04月09日
    浏览(36)
  • Java项目-苍穹外卖-Day10-SpirngTask及WebSocket

    本章实现的业务功能 超时未支付订单自动取消,配送中订单商家忘点完成自动再固定时间检查且修改成完成状态 来单提醒功能 催单提醒功能 一般的话周几和第几日是不能同时出现的 因为比如 4月15日 周四 可能4月15日不是周四 可能冲突的 所以周和日一般只能有一个 现在有

    2024年02月09日
    浏览(29)
  • 【java苍穹外卖项目实战三】nginx反向代理和负载均衡

    我们思考一个问题: 前端发送的请求,是如何请求到后端服务的? 前端请求地址:http://localhost/api/employee/login 后端接口地址:http://localhost:8080/admin/employee/login 很明显,两个地址不一致,那是如何请求到后端服务的呢? 1、nginx反向代理 nginx 反向代理 ,就是将前端发送的动态

    2024年02月21日
    浏览(37)
  • Java项目-苍穹外卖-Day11-Apache ECharts数据统计

    主要是以下四项的统计,以不同形式的图形进行展示 自己去网站上看一哈,我不太懂前端 com.sky.controller.admin.ReportController com.sky.service.impl.ReportServiceImpl.java orderMapper orderMapper.xml Reportcontroller ReportServiceImpl orderMapper.xml reportController ReportServiceImpl orderMapper.xml

    2024年02月09日
    浏览(36)
  • 苍穹外卖集成 Apache POI Java实现Excel文件的读写下载

    Apache POI - the Java API for Microsoft Documents Project News 16 September 2022 - POI 5.2.3 available The Apache POI team is pleased to announce the release of 5.2.3. Several dependencies were updated to their latest versions to pick up security fixes and other improvements. A summary of changes is available in the Release Notes. A full list of changes is a

    2024年02月09日
    浏览(45)
  • 《苍穹外卖》电商实战项目(java)知识点整理(P1~P65)【上】

    史上最完整的《苍穹外卖》项目实操笔记,跟视频的每一P对应,全系列10万字,涵盖详细步骤与问题的解决方案。如果你操作到某一步卡壳,参考这篇,相信会带给你极大启发。 《苍穹外卖》项目实操笔记【中】:P66~P122《苍穹外卖》项目实操笔记【中】 1. nginx反向代理好处

    2024年01月24日
    浏览(33)
  • docker 项目部署 后端/前端

    1.先打包前端项目为dist 文件 npm run build !!!!! 重点 现在vscode 跑一下 看dist能不能跑起来 !!!!! 2.先安装nginx ,能成功跑起来 docker pull nginx 拉取nginx镜像 docker images 查看已有镜像 docker run --name nginx-test -p 9091:80 -d nginx 启动nginx 3. Nginx服务的配置和部署 `创建 conf文件目

    2024年02月10日
    浏览(76)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包