在线协同办公小程序开发搭建开发环境

news2024/11/25 13:25:25

目录

介绍

开发环境说明

虚拟机

原因

VirtualBox虚拟机

VMware虚拟机v15

安装MySQL数据库

安装步骤

导入EMOS系统数据库 

安装MongoDB数据库

启动Navicat,选择创建MongoDB连接        

创建用户

搭建Redis数据库

配置Maven

 安装IDEA插件

Lombok插件

FreeMyBatisPlus插件

安装小程序开发工具

安装HBuilderX软件

安装VirtualBox虚拟机

前提条件

创建虚拟机

安装CentOS系统

添加CentOS镜像

安装CentOS系统

建立SSH连接

创建SSH连接

设置CentOS静态IP

创建系统快照


介绍

        ·非常综合且完整的案例

        ·囊括非常多的先进技术

开发环境说明

        JDK14以上

        Maven3.6

        MySQL8.0以上、MongoDB5.0以上、Navicat

        Redis3.0以上、Redis Desktop Manager

        Docker:人脸识别集成为Docker镜像。

        虚拟机

虚拟机

原因

        为了运行Docker镜像,需要安装Docker

        Windows和MacOS上的Docker是阉割版的

        利用虚拟机软件,先安装CentOS系统,再安装Docker

VirtualBox虚拟机

        BUG少

        跟VMware功能基本相同

VMware虚拟机v15

        不支持新版本Win10系统,安装时候黑屏

        启动虚拟机黑屏,需要restart服务

        SFTP断网

        双网卡电脑断网

安装MySQL数据库

        数据表中的字段使用了JSON格式,MySQL版本至少要是5.7以上的。

安装步骤

        执行MySQL.exe安装文件

        选择 Server only。捆绑的其他软件用不上。

        MySQL账户密码加密方式选择传统(强烈建议),否则新的加密方式,导致很多运维工具和老的项目无法连接到MySQL数据库,切记。Use legacy Authentication Method。

导入EMOS系统数据库 

        1. 从本课程的GIT项目中下载到emos.sql文件 

        2. 在Navicat上面新建emos数据库 

        3. 然后在emos数据库上右键选择执行SQL文件 

        4. 刷新emos数据库

安装MongoDB数据库

        软件系统肯定少不了系统消息模块,假如一家公司有1000名员工,倘如发送一条全员消息,就需要向数据库中存放1000条消息记录。用MySQL存储消息记录的话,特别占用存储空间。而且MySQL单表数据量如果超过2千万,性能就会急速的下降。用MongoDB来存放系统消息。

        提供了绿色版MongoDB,执行mongo.bat文件就可以启动。解压缩之后存放的路径中不能含有中文或者空格,否则会闪退,切记! 

启动Navicat,选择创建MongoDB连接        

        (1) 验证方式选择Password 

        (2) 验证数据库为admin 

        (3) 用户名为admin,密码是abc123456

创建用户

// 点击 新建查询

use admin
db.createUser({
    user: "root",
    pwd: "abc123456",
    roles: [{
        role: "root",
        db: "admin"
    }]
})

// 选中这些语句,点击 运行已选择的

搭建Redis数据库

        小程序项目有一些数据需要缓存起来。提供了绿色版的Redis,解压缩之后的路径不能含有中文或者空格,执行start.bat可以启动Redis。

配置Maven

        构建SpringBoot项目,必然少不了Maven。它可以自动创建工程结构和配置文件,并且下载依赖 库文件。所以我们创建Java项目以前,必须把Maven环境配置好。

        ·下载Maven.zip压缩文件,在本地解压缩 

        ·在Maven目录中创建一个名为repository的文件夹,该文件夹用来存放Maven下载的库文件 

        ·打开config/settings.xml文件 ,修改第55行的标签内容,为你本地电脑repository文件夹的路径

<localRepository>D:\Java\开源组件\maven\repository</localRepository>

        ·第160行~177行,已经配置好了阿里云仓库。Maven会自动从阿里云仓库下载Java项目依赖的库文件。如果不设置阿里云仓库,Maven会从国外服务器下载依赖库文件,速度很慢。

1. <mirror>
2. <id>alimaven</id>
3. <name>aliyun maven</name>
4. <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
5. <mirrorOf>central</mirrorOf>
6. </mirror>
7. <mirror>
8. <id>alimaven</id>
9. <mirrorOf>central</mirrorOf>
10. <name>aliyun maven</name>
11. <url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
12. </mirror>
13. <mirror>
14. <id>repo2</id>
15. <mirrorOf>central</mirrorOf>
16. <name>Human Readable Name for this Mirror.</name>
17. <url>http://repo2.maven.org/maven2/</url>
18. </mirror>

        ·启动IDEA,打开Settings画面,进行如下操作

 

 安装IDEA插件

Lombok插件

        编译字节码的时候自动生成set/get方法

FreeMyBatisPlus插件

        创建数据库连接

        根据选中的数据表生成各种MyBatis文件

安装小程序开发工具

        开放小程序服务端口

安装HBuilderX软件

        在设置界面,设置小程序开发工具安装路径

安装VirtualBox虚拟机

前提条件

        ·在主板BIOS上面开启CPU虚拟化,为的是能在电脑上安装Docker程序。如果不开启虚拟 化,是无法安装Docker的。AMD和Intel的CPU在BIOS界面开启虚拟化的方式不同,请看下面的具体区别。

        ·下载VirtualBox安装文件,并且执行默认安装

创建虚拟机

        ·在VirtualBox界面上点击新建按钮,开始创建虚拟机

        ·定义虚拟机的名字,只要你填写CentOS,下面会自动设置好类型为Linux,版本为 RedHat。

因为CentOS系统是根据RedHat代码编译而来的,跟RedHat是同源的操作系统,

稳定性和安全性都是相同的,只不过无法使用RedHat那些收费的商业服务。在

诸多免费Linux发行版里面,CentOS系统是最适合安装在服务器上面。

        ·虚拟机的内存建议同学们设置成2GB(2048MB)

因为我们要在Linux上面运行Docker,Docker里面还要跑人脸识别程序,还包括

了机器学习的功能,所以虚拟机的内存不能太小。另外,2GB的内存不是启动

虚拟机就直接占用掉2GB内存空间,这里只是规定的最大内存空间。低负载的

情况下,虚拟机实际占用的内存仅仅几百兆而已。

        ·默认选择创建虚拟磁盘

        ·虚拟磁盘类型使用默认选项

        ·选择动态分配磁盘空间

        ·磁盘空间上限设置成20GB

        ·修改网络模式为桥接

虚拟机默认网络模式为NAT,也就是虚拟机和Windows公用同一个IP地址。由

于Windows系统不可以在网卡中设置多个IP地址,所以有时候我们想把部署的

程序分配不同的IP和端口就没办法实现,包括搭建Swarm分布式环境的时候,

每个虚拟机主机IP必须不同。这么看来,NAT模式不太能满足我们的需求。

我建议大家把网络模式改成桥接,这样虚拟机会使用虚拟的网卡上网,虚拟机

会享用一个独立的IP。甚至我们可以在虚拟网卡里面设置多个IP地址,这都是

可以的。

        ·在创建的虚拟机上面点击右键,选择设置

        ·在网络界面,选择桥接网卡,然后选中你上网的网卡

某位同学用WIFI上网,这里却选择了固定网卡(LAN),那么你在虚拟机中就

无法访问外网。所以你用什么方式上网,就选择对应的网卡,这里切记!如果

你切换了上网方式,那么也要及时修改虚拟机的网卡才行。

安装CentOS系统

        选择v7,v8对Docker的支持有些问题。

添加CentOS镜像

        ·下载CentOS镜像文件 

        ·在虚拟机设置界面,选择存储 

        ·选择创建虚拟光盘文件

        ·点击注册,然后选中CentOS镜像文件 

        ·注册完镜像,点击OK确认

安装CentOS系统

        ·启动虚拟机 

        ·选择第一个选项,开始执行安装

        ·安装界面语言选择中文

        ·选择安装位置

        ·默认会自动创建分区,不需要我们干预,点击完成即可

        ·默认情况下CentOS并没有开启联网功能,所以我们要手动开启联网

        ·选择打开网络,然后记住你的虚拟网卡名字 

        ·开始选择安装CentOS

        ·安装的过程中,可以设置root帐户密码 

        ·安装完成之后,重启,等待,用root帐户登陆CentOS,“ ip addr ”查看系统的IP地址

建立SSH连接

创建SSH连接

         ·下载MobaXterm软件 

        MobaXterm是Windows上面最优秀的SSH客户端软件,支持多种远程连接方式,而且内置 了SFTP,可以方便的向Linux系统上传和下载文件。跟Xshell相比,MobaXtem更人性化,因为命令行和关键字,会有变色功能。而Xshell却不支持命令行变色。 MacOS可使用自带的命令行。

        ·创建SSH连接。点击 session

        ·IP地址填写你本地CentOS的IP地址

        ·成功连接CentOS系统

设置CentOS静态IP

        ·进入到/etc/sysconfig/network-scripts/目录,查找你网卡对应的文件

        ·用编辑器打开这个文件,添加并设置红色部分的内容,然后保存文件

BOOTPROTO="static"
IPADDR="192.168.99.101"  // 你想设置成的IP
NETMASK="255.255.255.0"
GATEWAY="192.168.99.1"   // 本地网关
DNS1="114.114.114.114"   // DNS服务器

ONBOOT="yes"

        ·重启网络服务 

service network restart

        ·创建连接新IP的SSH连接,然后ping某个网址,看看什么结果

创建系统快照

        右击关闭 CentOS系统

        展开折叠图标,点击“备份【系统快照】”,点击“生成T”

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/644177.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于Java+SpringBoot+Vue实现前后端分离美术馆管理系统

博主介绍&#xff1a;✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专…

【哈佛积极心理学笔记】第15讲 完美主义

第15讲 完美主义 A person committed to excellence can still be as ambitious or more ambitious than a perfectionist. The difference between the two is just their approach toward the journey. There is no straight line toward success. Perfection vs Excellenc…

CMake入门(1)

背景 目前很多大型框架都是使用cmake去构建&#xff0c;如果看不懂cmake, 在实际修改框架&#xff0c;添加新的模块时候就会受制于人&#xff0c;为此需要了解cmake的相关基础支持&#xff0c;避免被某些装逼大佬卡脖子&#xff0c;同时也进一步提高自己的业务水平。 变量 c…

Hello算法学习笔记之数组与链表

一、数组 线性数据结构&#xff0c;其将相同类型元素&#xff08;链表就不一定要存储相同类型的元素&#xff09;存储在连续的内存空间中。。数组有Index 数组的优点&#xff1a;访问很高效&#xff0c;O&#xff08;1&#xff09; PS:元素长度是单个元素占用的内存空间&…

CSS基础学习--13 Display(显示) 与 Visibility(可见性)

一、定义 display属性设置一个元素应如何显示 visibility属性指定一个元素应可见还是隐藏 二、隐藏元素 - display:none或visibility:hidden 隐藏一个元素可以通过把display属性设置为"none"&#xff0c;或把visibility属性设置为"hidden"。但是请注意&am…

Aprioi关联算法

国际权威的学术会议IEEE International Conference on Data Mining (ICDM) 评选出了数据挖掘领域的十大经典算法&#xff0c;他们分别是&#xff1a;C4.5、kMeans、SVM、Apriori、EM、PageRank、AdaBoost、KNN、Naive Bayes以及CART。今天就让我们共同探讨一下十大算法之一Apri…

红黑树的插入和删除

红黑树&#xff08;C&#xff09; 红黑树简述红黑树的概念红黑树的性质红黑树结点定义 一&#xff0c;红黑树的插入插入调整插入代码 二&#xff0c;红黑树的验证三&#xff0c;红黑树的删除待删除的结点只有一个子树删除结点颜色为红色删除结点颜色为黑色 删除的结点为叶子节点…

【OpenMMLab AI实战营二期笔记】第六天 MMDetection代码课

0. 环境检测和安装 # 安装 mmengine 和 mmcv 依赖 # 为了防止后续版本变更导致的代码无法运行&#xff0c;暂时锁死版本 pip install -U "openmim0.3.7" mim install "mmengine0.7.1" mim install "mmcv2.0.0"# Install mmdetection rm -rf mmd…

软考A计划-系统架构师-知识点汇总-上篇

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例点击跳转>软考全系列 &#x1f449;关于作者 专注于Android/Unity和各种游戏开发技巧&#xff…

Python转行的一点心得

Python现在非常火,语法简单而且功能强大&#xff0c;很多同学都想学Python&#xff01;最近陆陆续续有很多小伙伴问我&#xff0c;学Python到底应该做什么&#xff0c;从事哪种岗位。下面是我们工作圈里面一些同学的苦恼&#xff1a; 一转行要趁早 上面类似的问题群里还有很多…

华为HCIA备考 易错题整理

1.IEEE802.1Q定义的 VLAN 帧格式中VLAN ID总共有多少bit 答&#xff1a;12 2.NAPT允许多个私有IP地址通过不同的端口号映射到同一个公有IP地址上&#xff0c;且不需要做任何关于端口号的配置。 3.IEEE802.1Q定义的VLAN帧总长度为多少字节&#xff1f; 答&#xff1a;4 4.关于…

阿里云创建ALB_Ingress

阿里云参考文档 1、编写alb AlbConfig创建文档 rootbiking-pre-middleware:~/alb# cat ingress-alb.yaml apiVersion: alibabacloud.com/v1 kind: AlbConfig metadata: #alb名称name: ingress-alb spec:config:name: ingress-albaddressType: InternetzoneMappings:# 两个交换…

chatgpt赋能python:Python按行输出方法

Python按行输出方法 Python作为一种快速易用的编程语言&#xff0c;广泛应用于数据分析、科学计算、web开发等领域。在Python编程过程中&#xff0c;输出数据是必不可少的环节。本文将介绍如何按行输出Python数据&#xff0c;为Python编程初学者提供参考。 什么是按行输出 按…

consul入门案例及配置热更新的实现

Consul的简单入门 当Producer启动时,会向Consul发送一个post请求,告诉Consul自己的ip和Port;Consul接收到producer的注册后,每个10S(默认),会向producer发送一个健康检查的请求,检验Producer是否健康当Consumer发送GET方式请求/api/address到Producer时,会先从Consul中拿到一个…

超越密码:网络安全认证的未来

你的物理现实的数字对应物正在惊人地增长。虽然肯定会有积极的结果&#xff0c;但随着互联网的发展&#xff0c;与之相关的风险也在迅速增加。在讨论网络安全风险管理时&#xff0c;首先想到的是密码。但当出现诈骗、网络钓鱼等威胁时&#xff0c;这还不够。 那么&#xff0c;…

chatgpt赋能python:Python爬虫:抓取数据的实用技巧

Python爬虫&#xff1a;抓取数据的实用技巧 如果您是一名数字营销从业者&#xff0c;那么您一定知道SEO的重要性。SEO是一项复杂的工作&#xff0c;但是其中包含了一个非常关键的步骤&#xff0c;就是通过爬虫从网站中抓取数据。Python是一个非常强大的工具&#xff0c;可以帮…

网络层:静态路由配置及其可能产生的路由环路问题

网络层&#xff1a;静态路由配置及其可能产生的路由环路问题 笔记来源&#xff1a; 湖科大教书匠&#xff1a;静态路由配置及其可能产生的路由环路问题 声明&#xff1a;该学习笔记来自湖科大教书匠&#xff0c;笔记仅做学习参考 静态路由配置是指用户或网络管理员使用路由器的…

chatgpt赋能python:Python实现直线拟合及求斜率

Python实现直线拟合及求斜率 什么是直线拟合 直线拟合是一种数据处理方法&#xff0c;将一组数据点拟合成一条直线的形式&#xff0c;以求出其中的规律性关系&#xff0c;从而更好地理解数据点之间的相关性。 直线拟合的应用场景 直线拟合在很多领域都有应用&#xff0c;例…

openGauss5 企业版之开发设计规范

文章目录 1.数据库对象命名2. Database和Schema设计2.1 Database设计建议2.2 Schema设计建议 3. 表设计3.1选择存储方案3.2 选择分布方案3.3 选择分区方案3.4 选择分布键 1.数据库对象命名 数据库对象命名需要满足约束&#xff1a; 标识符非时序表长度不超过63个字节&#xff…

SSTI---总结

Laravel Blade是Laravel提供的一个既简单又强大的模板引擎 和其他流行的PHP模板引擎不一样&#xff0c;Blade并不限制你在视图view中使用原生的PHP代码 所有的Blade视图页面都将被编译成原生的PHP代码并缓存起来&#xff0c;除非你的的模板文件修改&#xff0c;否则不会重新编…