首页 > 其他分享 >2023-12-30-aliyun-dev-env

2023-12-30-aliyun-dev-env

时间:2023-12-30 22:57:12浏览次数:45  
标签:12 mysql sudo nacos apt MYSQL aliyun 30 docker

阿里云开发环境搭建

开发的烦恼

依赖很多的中间件,每天的本地开发都要启动很多的中间件服务。不但启动反锁,还严重占用电脑硬件资源。

于是,想起了不久前购买的云服务器。

服务器配置

只是一台配置简陋的云服务器,勉强可以分摊一部分的中间件服务。

阿里云服务器配置

如何快速访问

创建密钥对

通过创建密钥对来实现免密码访问,告别复制粘贴长密码的烦恼。密钥对创建完之后,会自动下载到本地。之后就可以快速进行 ssh 访问。

ssh -i 文件名.pem root@服务器外网IP

Docker 安装

ubuntu 安装 docker 引擎官方文档

sudo apt-get update

sudo apt-get install ca-certificates curl gnupg

sudo install -m 0755 -d /etc/apt/keyrings

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

sudo chmod a+r /etc/apt/keyrings/docker.gpg

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt-get update

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

sudo docker run hello-world

docker 常用命令

docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

docker ps -a
CONTAINER ID   IMAGE         COMMAND    CREATED          STATUS                      PORTS     NAMES
ecd7e9dc1bc7   hello-world   "/hello"   43 seconds ago   Exited (0) 42 seconds ago             peaceful_lalande

docker rm ecd7e9dc1bc7
ecd7e9dc1bc7

docker images
REPOSITORY    TAG       IMAGE ID       CREATED        SIZE
hello-world   latest    d2c94e258dcb   8 months ago   13.3kB

docker rmi hello-world:latest
Untagged: hello-world:latest
Untagged: hello-world@sha256:ac69084025c660510933cca701f615283cdbb3aa0963188770b54c31c8962493
Deleted: sha256:d2c94e258dcb3c5ac2798d32e1249e42ef01cba4841c2234249495f87264ac5a
Deleted: sha256:ac28800ec8bb38d5c35b49d45a6ac4777544941199075dff8c4eb63e093aa81e

基础环境1

创建文件 compose1.yml 写入一下编排代码:

version: '2.4'
services:
  mysql:
    image: mysql:5.7
    container_name: mysql
    restart: always
    environment:
      - MYSQL_ROOT_PASSWORD=#自定义高强度密码#
      - TZ=Asia/Shanghai
    ports:
      - 3306:3306
  activemq:
    image: webcenter/activemq:latest
    container_name: activemq
    restart: always
    environment:
      - ACTIVEMQ_ADMIN_LOGIN=admin
      - ACTIVEMQ_ADMIN_PASSWORD=#自定义高强度密码#
    ports:
      - 8161:8161
      - 61616:61616

执行命令:sudo docker compose -f compose1.yml up

基础环境2

创建缓存服务,执行命令:

docker run -p 6379:6379 --restart=always --name redis -d redis --requirepass #自定义高强度密码#

基础环境3(可选)

创建文件 compose2.yml 写入一下编排代码:

version: '2.4'
services:
  mysql:
    image: mysql:5.7
    container_name: mysql
    restart: always
    environment:
      - MYSQL_ROOT_PASSWORD=#自定义高强度密码#
      - MYSQL_DATABASE=nacos_config
      - TZ=Asia/Shanghai
    ports:
      - 3306:3306


  nacos:
    image:  nacos/nacos-server:v2.2.3
    container_name: nacos
    restart: always
    environment:
      - MODE=standalone
      - PREFER_HOST_MODE=hostname
      - SPRING_DATASOURCE_PLATFORM=mysql
      - MYSQL_SERVICE_HOST=47.100.73.52
      - MYSQL_SERVICE_DB_NAME=nacos_config
      - MYSQL_SERVICE_PORT=3306
      - MYSQL_SERVICE_USER=root
      - MYSQL_SERVICE_PASSWORD=#自定义高强度密码#
      - TZ=Asia/Shanghai
      - NACOS_AUTH_ENABLE=true
      - NACOS_AUTH_IDENTITY_KEY=2222
      - NACOS_AUTH_IDENTITY_VALUE=2xxx
      - NACOS_AUTH_TOKEN=SecretKey012345678901234567890123456789012345678901234567890123456789
    ports:
      - 8848:8848
      - 9848:9848

执行命令:sudo docker compose -f compose2.yml up

下载指定版本的 nacos 数据表结构,并在数据库中执行 nacos-db.sql
数据库初始化

使用默认密码进行登录 nacos/nacos,并立即修改默认密码:
修改密码

注意: nacos 对硬件要求比较高,这台蹩脚的 2vC2G 的云服务器,能运行但不能正常使用。

总结

简单的一个服务器记录文章,预计可以节约 2GB 的内存。至少能允许多开一个 Vue 环境吧,希望未来可以多几台蹩脚云服务器。那样的话,可以多节约几个 2GB 的内存。

最后,由于是 --restart=always 的关系。每天上班前只要用手机启动服务器,docker 中间件服务就能自动启动。

服务器资源占用情况

标签:12,mysql,sudo,nacos,apt,MYSQL,aliyun,30,docker
From: https://www.cnblogs.com/chenxinjie/p/17936999

相关文章

  • 2023-12-30:用go语言,给你一个下标从 0 开始的整数数组 nums ,它包含 n 个 互不相同 的正
    2023-12-30:用go语言,给你一个下标从0开始的整数数组nums,它包含n个互不相同的正整数,如果nums的一个排列满足以下条件,我们称它是一个特别的排列。对于0<=i<n-1的下标i:要么nums[i]%nums[i+1]==0,要么nums[i+1]%nums[i]==0。请你返回特别排列的总数目,由于答......
  • 2023-12-30 量学基础
      1 量柱的三重特征量柱是股市成交量的真实记录,是多空双方搏斗的量价暂时平衡点,具有以下三重特性:1、原生性:量柱是用真金白银堆起来的,要想作假也必须用大量的真金白银才能奏效2、孪生性:量柱和价柱是完全对应的孪生兄弟,量价一体3、衍生性:衍生出“股市温度计”的预报功能......
  • 2023-12-30:用go语言,给你一个下标从 0 开始的整数数组 nums ,它包含 n 个 互不相同 的正
    2023-12-30:用go语言,给你一个下标从0开始的整数数组nums,它包含n个互不相同的正整数,如果nums的一个排列满足以下条件,我们称它是一个特别的排列。对于0<=i<n-1的下标i:要么nums[i]%nums[i+1]==0,要么nums[i+1]%nums[i]==0。请你返回特别排列的总数目......
  • 娱乐 2023/12/30 《天帝史诗0元享活动》狂欢第二幕自动领高级购物券宝箱
    1.打开活动页面活动直达2.按F12打开浏览器控制台或者Ctrl+Shift+I3.选择console面板4.复制下面代码到控制台再回车functiona(){document.querySelector("#pr2>a").click()letb=setTimeout(()=>{document.querySelector("#commonms......
  • CF1254D Tree Queries
    TreeQueriesLuoguCF1254D题面翻译给定一棵\(N\)个节点的树,有\(Q\)次操作。\(1\v\d\)给定一个点\(v\)和一个权值\(d\),等概率地选择一个点\(r\),对每一个点\(u\),若\(v\)在\(u\)到\(r\)的路径上,则\(u\)的权值加上\(d\)(权值一开始为\(0\))。\(2\v\)查......
  • 2023.12 《卓有成效的管理者》-彼得▪德鲁克
    目录主要内容第1章有效是可以学会的第2章认识你的时间第3章我能做出什么贡献第3章主要内容第1章有效是可以学会的第2章认识你的时间第3章我能做出什么贡献第3章......
  • 多线程循环打印123
    1、多线程循环打印123importjava.util.concurrent.locks.Condition;importjava.util.concurrent.locks.Lock;importjava.util.concurrent.locks.ReentrantLock;publicclassPrintThread{privateLocklock=newReentrantLock();privatevolatileintflag......
  • 2023.12.30模拟赛总结
    前言:这次比赛打的不是很好,100pts,rank8T1赛时想到了正解,但是因为一些题面的原因和代码细节没调出来首先可以写出暴力dp:\(f[i][j]\)表示到第i位,选了i且选了j个哨岗的最大范围枚举k为上一个,直接暴力转移是\(O(n^3)\)的,过不去然后,我们发现可以分类讨论,如果\([l_i,r_i]\)和\([l_k......
  • STM32定时器驱动WS2812
    最近在学STM32F103的定时器的标准库驱动,在学到定时器的比较输出功能时发现它可以和DMA配合一起使用产生一连串占空比各不同的PWM波,于是我立刻想到用这个东西来驱动WS2812,手边正好有一串30颗灯珠的WS2812灯带。WS2812的通信协议数据格式WS2812是一种采用单线通信方式的全......
  • 12.30模拟赛
    依然倒一,虽然比上次完全不会强一些了,但是挂了一堆分……T1奇怪地挂掉了,但是也反映了代码能力还是不行,求个子树内最大最小都要错,而且还把问题复杂化了。就是先并查集找根,记录子树内最值然后看子树大小等不等于极差就完事儿了,没那么多别的。点击查看代码#include<bits/stdc++.h......