尚硅谷-----乐(智)尚代驾(Day4...重置版)---项目概述环境搭建

news/2024/11/13 15:06:53/

一、项目介绍
1.背景
乐尚代驾是一种新型的出行服务模式,通过该平台可以为用户提供代驾服务,采用微信小程序方式进行开发,主要分为乘客端、司机端和平台管理端,这里只实现前两个。

2.技术概括
后端技术栈

前端技术栈

使用的云服务

技术架构图,这里只实现乘客端和司机端。

服务端架构模块


二、前端环境搭建
1.注册微信开发者账号
使用浏览器访问微信公众平台,注册账号并登录。

账户类型选择小程序

在网页中找到开发栏目,选择开发管理选项卡,找到自己的AppID和AppSecret并记录下来。

注册完成之后添加类目


2.开通服务和插件
开通服务
开发 -》开发管理 -》接口设置 -》地理位置:开通如下三个接口

开通插件
设置 -》第三方设置 -》插件管理 -》添加插件 -》搜索“插件名称”,添加腾讯位置服务选点与微信同声传译插件。
如果没有搜到的话,去微信服务市场里去找

3.安装node.js
去官网下载node.js
老师说用的是v16.19.1版本,这里没有找到,下的是v16.20.2版本,也可以使用。

4.下载微信开发者工具

这里只需要下载一个微信开发者工具即可,不需要下载两个,下载并安装后,导入前端项目并打开,在左上角,设置->安全设置->安全中,打开服务端口。
在导入项目过程中需要输入AppID,之前已经保存,复制上去即可。

点击左上角:项目->导入项目,导入另外一个前端项目,选择在新窗口打开,即可同时打开两个微信小程序项目。


三、服务器环境搭建
虚拟机如何创建的这里就不再说了,直接介绍docker环境及所使用容器的安装。

1.安装docker

java"># 将yum更新到最新版本
sudo yum update
# 安装docker所需的依赖包
sudo yum install -y yum-utils device-mapper-persistent-data lvm2

因为最近docker被墙的厉害,需要再配置加速地址 

java">sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://do.nark.eu.org","https://dc.j8.work","https://docker.m.daocloud.io","https://dockerproxy.com","https://docker.mirrors.ustc.edu.cn","https://docker.nju.edu.cn"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

之后安装docker即可

java"># 安装docker
sudo yum install docker
# 启动docker
sudo systemctl start docker
# 设置为开机自启
systemctl enable docker

2.安装mysql

java">docker pull mysql:8.0.30
docker run --name gmalldocker\_mysql --restart=always -v /home/ljaer/mysql:/var/lib/mysql -p 3306:3306 -e MYSQL\_ROOT\_PASSWORD=root -d mysql:8.0.30 
# 如果容器状态为restarting,查看日志显示没有权限,需要再添加 --privileged=true,如下所示
docker run --name gmalldocker\_mysql  --privileged=true  --restart=always -v /home/ljaer/mysql:/var/lib/mysql -p 3306:3306 -e MYSQL\_ROOT\_PASSWORD=root -d mysql:8.0.30 # 进入容器测试mysql
docker exec -it gmalldocker\_mysql /bin/bash
# 登录mysql
mysql -u root -p
# 如果顺利进入,即安装成功

3.安装rabbitmq

java">docker pull rabbitmq:3.12.0-management
docker run -d --name=rabbitmq --privileged=true --restart=always -p 5672:5672 -p 15672:15672 rabbitmq:3.12.0-management 


安装延迟队列插件

java"># 下载rabbitmq_delayed_message_exchange-3.12.0.ez文件上传到RabbitMQ所在服务器
# 下载地址:https://www.rabbitmq.com/community-plugins.html# 切换到插件所在目录,将插件拷贝到容器内plugins目录下
docker cp rabbitmq_delayed_message_exchange-3.12.0.ez rabbitmq:/plugins
# 查看插件是否copy成功,没有成功不会显示ls -l|grep delay# 启用插件rabbitmq-plugins enable rabbitmq_delayed_message_exchange# 使用exit命令退出容器内部并重启rabbitmq容器docker restart rabbitmq

4.安装redis

java"># 拉取镜像
docker pull redis:7.0.10
# 启动
docker run --name=gmalldocker\_redis --privileged=true -d -p 6379:6379  --restart=always redis

5.安装nacos

java"># 拉取镜像
docker pull nacos/nacos-server:v2.1.1
# 启动
docker run -d \
-e MODE=standalone \
-p 8848:8848 \
-p 9848:9848 \
-p 9849:9849 \
--name nacos2.1.1 \
--privileged=true \
--restart=always \
nacos/nacos-server:v2.1.1

6.安装minio

这里可能会遇到一个签名失败的问题,我试了其他方法都没有用,最后重新安装了docker解决的。

java"># 拉取镜像
docker pull docker.io/minio/minio
# 启动
docker run \
-p 9000:9000 \
-p 9001:9001 \
--name=gmalldocker_minio \
-d --restart=always \
-e "MINIO_ROOT_USER=admin" \
-e "MINIO_ROOT_PASSWORD=admin123456" \
-v /home/data:/data \
-v /home/config:/root/.minio \
--privileged=true \

7.调整linux服务器时间与windows时间一致

java"># 安装ntp服务
yum -y install ntp
# 第二步:开启开机启动服务
systemctl enable ntpd
# 启动服务
systemctl start ntpd
# 更改时区
timedatectl set-timezone Asia/Shanghai
# 启用ntp同步
timedatectl set-ntp yes
# 同步时间
ntpq -p

8.导入数据库文件

老师提供的资料里有,直接运行即可。

9.导入配置文件到nacos中

nacos的默认账号密码都是nacos,登录nacos后,选择:配置管理->配置列表->导入配置,上传老师资料里的zip文件即可。

导入配置完成后,需要更改配置文件中连接方式,把老师的地址改成自己的就行。

10.导入后端项目

资料中有daijia-parent初始化项目,导入至idea中。

 在idea项目中的配置文件里的地址也需要做修改。

哇扣,重置完成!!!感谢您的收看


http://www.ppmy.cn/news/1528074.html

相关文章

linux 系统是如何收发数据包

目录 1. 背景 1.1 协议栈的构成 1. 应用层: 2. Socket 层: 3. 传输层 (TCP/UDP): 4. 网络层 (IP): 5. 数据链路层 (MAC): 6. 物理层 (网卡驱动): 1.2 数据包的组成 2. 接收网络数据包的流程 2.1 数据包接收流程概述 2.2 详细步骤说明 2.2.1 网卡接收数据包 2.2.2…

【Obsidian】当笔记接入AI,Copilot插件推荐

当笔记接入AI&#xff0c;Copilot插件推荐 自己的知识库笔记如果增加AI功能会怎样&#xff1f;AI的回答完全基于你自己的知识库余料&#xff0c;是不是很有趣。在插件库中有Copilot插件这款插件&#xff0c;可以实现这个梦想。 一、什么是Copilot&#xff1f; 我们知道githu…

Linux(Ubuntu)(终端实现helloworld输出)

一、终端实现gcc编译 1.写好helloworld.h&#xff0c;helloworld.c&#xff0c;main.c后&#xff0c;打开终端&#xff0c;切换到保存这些文件的文件夹的目录&#xff0c;我把这些文件存放在helloworld的文件夹下&#xff0c;所以输入cd ~/helloworld 2.查看该目录下的文件&a…

基于STM32的智能门禁系统(指纹、蓝牙、刷卡、OLED、电机)

目录 一、主要功能 二、硬件资源 三、程序编程 四、实现现象 一、主要功能 基于STM32单片机&#xff0c;六个按键&#xff0c;分别代表指纹、蓝牙、刷卡的正确进门与错误进门&#xff1b; 比如第一个按键按下&#xff0c;表示指纹正确&#xff0c;OLED显示指纹正确&#x…

LeetCode:2398. 预算内的最多机器人数目 双指针+单调队列,时间复杂度O(n)

2398. 预算内的最多机器人数目 today 2398. 预算内的最多机器人数目 题目描述 你有 n 个机器人&#xff0c;给你两个下标从0开始的整数数组 chargeTimes 和 runningCosts &#xff0c;两者长度都为 n 。第 i 个机器人充电时间为 chargeTimes[i] 单位时间&#xff0c;花费 ru…

echarts实现湖南省地图并且定时轮询

1、在HTML页面引入echarts.min.js <script src"https://cdn.jsdelivr.net/npm/echarts5/dist/echarts.min.js"></script> 2、实现代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"utf-8"><…

golang学习笔记20——golang微服务负载均衡的问题与解决方案

推荐学习文档 golang应用级os框架&#xff0c;欢迎stargolang应用级os框架使用案例&#xff0c;欢迎star案例&#xff1a;基于golang开发的一款超有个性的旅游计划app经历golang实战大纲golang优秀开发常用开源库汇总想学习更多golang知识&#xff0c;这里有免费的golang学习笔…

redis集群模式连接

目录 一&#xff1a;背景 二&#xff1a;实现过程 三&#xff1a;总结 一&#xff1a;背景 redis集群通过将数据分散存储在多个主节点上&#xff0c;每个主节点可以有多个从节点进行数据的复制&#xff0c;以此来实现数据的高可用性和负载均衡。在集群模式下&#xff0c;客户…