【华为云云耀云服务器L实例评测】- 云原生实践,快捷部署人才招聘平台容器化技术方案!

news/2024/7/4 7:43:54 标签: 服务器, 云原生, 运维

在这里插入图片描述

🤵‍♂️ 个人主页: @AI_magician
📡主页地址: 作者简介:CSDN内容合伙人,全栈领域优质创作者。
👨‍💻景愿:旨在于能和更多的热爱计算机的伙伴一起成长!!🐱‍🏍
🙋‍♂️声明:本人目前大学就读于大二,研究兴趣方向人工智能&硬件(虽然硬件还没开始玩,但一直很感兴趣!希望大佬带带)

在这里插入图片描述

摘要:
在这里插入图片描述
感谢华为云提供的测评优惠卷,遥遥领先!!✨
华为云的云耀云服务器L实例备受推崇,以其高效、可靠和安全的基础设施服务而闻名。本文将为展示在该服务器上部署轻量化定制表单服务为例带你一文走进该服务器的方方面面。

上一篇文章我们讲述了 【华为云云耀云服务器L实例评测|云原生】自定制轻量化表单Docker快速部署云耀云服务器 一款基于pywebio 快速开发的表单,实现设置每个校区每个时间段只能被预约一次。(可以选择各种后端框架或者是内置服务器

在这里插入图片描述
在这里插入图片描述

本次我们部署成熟应用,基于Django. docker. docker-compose 实现 !!

Github开源地址✨✨: recruitment-platform

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

还有通知钉钉机器人!!
在这里插入图片描述
Github开源地址✨✨: recruitment-platform


部署教程 ✨✨

快速上手云耀云服务器 首先进入到服务器后,我们需要安装docker环境。(哈哈哈ssh进来后还有打招呼)

在这里插入图片描述

Ubuntu20.04 安装教程在Docker官方文档
Document about docker install for ubuntu 这里就不赘述啦
在这里插入图片描述
在这里插入图片描述

为了测试安装成功,我们运行docker界的Heeloworld!!

在这里插入图片描述
再安装 docker-compose

apt install docker-compose 

在这里插入图片描述

拉取github项目命令(该服务器自带Git的哦✨)

git pull git@github.com:TobeMagic/recruitment-platform.git

安装后,我们运行docker 命令创建(要在Dockerfile文件目录下运行!!不然要指定路径哦),后面大家有需要我可以打包成镜像上传到Hub大家就可以直接在docker Hub拉取啦!!

要将APT的镜像源设置为国内的镜像源,您可以编辑/etc/apt/sources.list文件,并将其替换为适合您所在地区的镜像源。以下是一个示例,将Debian的镜像源更改为国内的镜像源(阿里云):

  1. 使用root权限或sudo权限打开/etc/apt/sources.list文件:

    sudo nano /etc/apt/sources.list
    ```
    
    
  2. 在编辑器中,将文件中的内容替换为以下内容:

    # 默认的镜像源注释掉,添加阿里云的镜像源
    deb http://mirrors.aliyun.com/debian/ buster main contrib non-free
    deb-src http://mirrors.aliyun.com/debian/ buster main contrib non-free
    
    deb http://mirrors.aliyun.com/debian-security buster/updates main
    deb-src http://mirrors.aliyun.com/debian-security buster/updates main
    
    deb http://mirrors.aliyun.com/debian/ buster-updates main contrib non-free
    deb-src http://mirrors.aliyun.com/debian/ buster-updates main contrib non-free
    
    deb http://mirrors.aliyun.com/debian/ buster-backports main contrib non-free
    deb-src http://mirrors.aliyun.com/debian/ buster-backports main contrib non-free
    ```
    
    注意,上述示例是针对Debian 10(代码名称为Buster)的,如果您使用其他版本的Debian或不同的Linux发行版,请相应地修改镜像源地址。
    
    
  3. 保存并关闭文件。在Nano编辑器中,按下Ctrl + X,然后按下Y确认保存,最后按下Enter退出编辑器。

  4. 更新APT缓存以使更改生效:

    sudo apt update
    ```
    
    

现在,APT的镜像源已经被修改为国内的镜像源。您可以使用apt updateapt upgrade等命令来管理软件包并从国内镜像源进行软件包的下载和更新。

docker-compose up --build

在这里插入图片描述

这次和部署轻量化表单一样,再次迎来一点小插曲 🤦‍♂️

django 启动 docker-compose app_1 | django.db.utils.OperationalError: (2003, “Can’t connect to MySQL server on ‘db’ ([Errno 111] Connection refused)”)

在这里插入图片描述
这里显示了数据库无法连接,去查看了一下settings.py文件和docker-compose.yml文件,数据库端口和名称都是正确的,但是一直无法访问。具体可以看看下面的内容。
docker-compose.yml

  # 设置数据库 容器
  db:
    image: mysql:8
    volumes:
      - "./mysql/data:/var/lib/mysql"  # 设置timestamp 可为 null   #  设置字符集 (不是utf8会报错 #   collation 这是排序规则
    #      - "./mysql/conf/my.cnf:/etc/mysql/my.cnf"
    command: "mysqld --user=root --explicit_defaults_for_timestamp --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci"
    #      - -character-set-server=utf8mb4  # 设置默认字节
    #      - -collation-server=utf8mb4_general_ci #   设置排序
    #      - -explicit_defaults_for_timestamp=true # 设置可为 null
    #      --default-authentication-plugin=mysql_native_password # 使用 5.7 版本的密码验证
    ports:
      - "3306:3306"
    restart: always
    environment:
      - MYSQL_PORT=3306
      - MYSQL_ROOT_PASSWORD=123456  # 一定要配置
      - MYSQL_DATABASE=django_recruitment
    networks:
      - db_network

settings文件

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'django_recruitment',
        'PASSWORD': '123456',
        'PORT': '3306',
        'USER': 'root',
        'HOST': 'db',
        # 'HOST': '127.0.0.1',
        'OPTIONS': {'charset': 'utf8mb4'},
    },

考虑到应该是因为mysql要先等待3306端口服务或进程启动并监听,才启动服务,往前找db容器的报错
在这里插入图片描述
可以发现,这里的错误和之前发的文章所遇见的是一摸一样的!!【云原生 | Docker】腾讯云部署Django项目 (服务器选型、git配置、docker三分钟部署) 这个是docker-compose启动中mysql的数据挂载过去时lower_case_table_names设置与数据字典的设置不一致,有两种解决方法,不需要持久化,先把该命令行注释重新构建,第二则是设置添加lower_case_table_names设置即可

my.cnf 文件挂载到 MySQL 容器中的 /etc/mysql/my.cnf 路径。

my.cnf 文件中,添加以下内容:

[mysqld]
lower_case_table_names=2

请确保将示例中的 your_password 替换为您自己设置的 MySQL root 密码。通过这样的配置,MySQL 容器将使用自定义的配置文件,并将 lower_case_table_names 设置为 2。不过到最后还是不行,因为数据恢复中缺少重要日志,需要强力恢复,但试了几个强度都不行,只能将原来mysql文件删除了,并配置好对应的,my.cnf 以便于部署新环境对应配置数据恢复, 以及 错误配置 bash-4.4# mysql mysql: [ERROR] unknown variable 'default-storage-engine=INNODB'

default-storage-engine变量在较新的MySQL版本中不再需要显式设置,因为默认的存储引擎已经是InnoDB。+

至此终于,终于成功了!!✨✨ 访问链接

在这里插入图片描述

接着我们进入到服务器看业务是否流程正常
在这里插入图片描述
接下来我们创建管理员,进入到后台管理页面

在这里插入图片描述

最后总结了一下,感觉在配置上还是要有改进的,也是感谢这次华为云云耀云服务器L实例评测

  1. dockerfile.ymal部署 可以规则化命名container_name 方便管理
  2. mysql.conf 和mysql版本一定要管理良好
  3. 及时做好备份
  4. 虽然django热插拔app,在部署需要了解每个app用途!不同方向的app应该分出来不同project。

Github开源地址✨✨: recruitment-platform

有问题欢迎大家提出issues! 如果喜欢请点点一个小小的star!! 点赞,关注收藏! 🤞

在这里插入图片描述

						  🤞到这里,如果还有什么疑问🤞
					🎩欢迎私信博主问题哦,博主会尽自己能力为你解答疑惑的!🎩
					 	 🥳如果对你有帮助,你的赞是对博主最大的支持!!🥳

http://www.niftyadmin.cn/n/5040171.html

相关文章

【数据库系统概论】数据库的四个基本概念:数据、数据库、数据库管理系统和数据库系统

数据(data)数据库(DataBase, DB)数据库管理系统(DataBase Management System, DBMS)数据库系统(DataBase System, DBS)感谢 💖 数据(data) 定义&…

MidJourneyAI绘画之月满中秋情更浓

皓月当空照人间, 银河洒满天幕间。 嫦娥轻舞婵娟态, 桂香飘散诗意添。 团圆乐享如意时, 家人相聚笑声吹。 中秋欢庆如诗意, 祝福平安好运气。

el-upload 上传附件(拆解步骤)

目录 1. 看elementui /element-plus 官网案例 2. html部分: 把官网上的搬下来,最好加一个按钮,上传到服务器(后端) 3. js 部分: 3.1 首先,先定义一个变量,files 3.2 当上传图片…

vue项目升级webpack

vue项目升级webpack 目录 1. vue项目中影响webpack版本的是什么 2.理解package.json中库前缀^和~区别 3.升级webpack4到5操作 1. vue项目中影响webpack版本的是什么 答案是:vue/cli-service版本 2.理解package.json中库前缀^和~区别 x.y.z x代表大版本&#xf…

浅谈双十一背后的支付宝LDC架构和其CAP分析

本人汤波,superthem.com 圆领超级个体创始人,Github page地址:https://tbwork.github.io/ 看到很多人在盗用我的文章,还标记成原创,进行收费,非常令人作呕。 我的所有技术文章全部免费阅读,大家…

Centos下载配置Maven

Linux下安装配置Maven 注意:没配置JDK的先把JDK给配置了,JDK环境变量名为JAVA_HOME 1、安装wget命令 如果需要通过使用wget命令,直接通过网络下载maven安装包时,需要在linux系统中安装wget命令。 yum -y install wget2、下载m…

05_2D3D转换

1 2D 转换 转换是 CSS3 中具有颠覆性的一个特征,可以实现元素的位移、旋转、变形、缩放。 通过 transform 转换来实现 2D 转换或者 3D 转换。 2D 转换包括: 缩放 scale移动 translate旋转 rotate倾斜 skew(了解) 1.1 缩放 sc…

Python安装selenium时报错:ERROR: No matching distribution found for selenium 附解决方法

报错如下: pip install -i https://pypi.douban.com/simple seleniumLooking in indexes: https://pypi.douban.com/simple Could not fetch URL https://pypi.douban.com/simple/selenium/: There was a problem confirming the ssl certificate: HTTPSConnection…