代码在github.com/tao355667/m…,可自取
1. 下载苍穹外卖源码
找到后端的源码,在资料.rar中,路径是资料/day12/项目完整代码/sky-take-out
找到前端的源码,在前端源码/苍穹外卖前端源码.rar中,解压后找到project-sky-admin-vue-ts
在资料/day01/数据库中找到用于创建数据库的SQL文件
2. 安装homebrew
Homebrew 是 macOS 系统下强大的包管理工具,能一键安装各类开发工具、软件和依赖,是 Mac 开发者必备工具。执行如下命令安装
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
3. 跑通前端
下面两种方式跑通一种即可测试后端,若只关注后端,那前端就只跑单体项目就行
跑通单体项目
安装node
我这里用nvm管理node版本。进入nodejs.org/zh-cn/downl…查看安装命令。
安装nvm,并用nvm管理node环境
# 下载并安装 nvm:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
# 代替重启 shell
\. "$HOME/.nvm/nvm.sh"
# 下载并安装 Node.js:
nvm install 12 # 安装 Node.js 版本 12(苍穹外卖前端所需版本)
nvm use 12 # 切换当前终端会话的 Node.js 版本为 12
nvm alias default 12 # 设置默认的 Node.js 版本为 12(新终端自动生效)
# 验证 Node.js 版本:
node -v
# 验证 npm 版本:
npm -v
构建项目
npm cache clean --force # 强制清除npm本地缓存,解决缓存导致的依赖问题
rm -rf node_modules # 删除项目的node_modules依赖文件夹,彻底清空旧依赖
npm install # 重新安装项目所需的所有依赖包
启动项目
npm run serve
此时访问http://localhost:8888,应该能看到苍穹外卖的页面
nginx托管
安装nginx并启动
brew install nginx
brew services start nginx # 启动nginx
ps -ef | grep nginx # 检查nginx是否启动
启动nginx后,再进入http://localhost:8080/,应该看到如下页面
之后打开/opt/homebrew/etc/nginx/nginx.conf把默认的监听8080改为8099(随便改,避免与后端接口冲突)
# 打开文件/opt/homebrew/etc/nginx/nginx.conf
open -e /opt/homebrew/etc/nginx/nginx.conf
打包前端
npm run build # 执行项目打包构建命令,生成生产环境代码
此时会在项目中生成一个dist文件
查看nginx的路径,以修改配置文件
Mac Homebrew 常见路径(二选一):
- Apple Silicon:
/opt/homebrew/etc/nginx/nginx.conf - Intel:
/usr/local/etc/nginx/nginx.conf
在http{...}中加一个server如下:
server {
listen 8889;
server_name localhost;
# !!!注意这里改成你自己项目的dist路径
root /your/path/to/project-sky-admin-vue-ts/dist;
index index.html;
location /api/ {
proxy_pass http://127.0.0.1:8080/admin/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
location / {
try_files $uri $uri/ /index.html;
}
}
检查并重启nginx
nginx -t # 测试 Nginx 配置文件语法是否正确
brew services restart nginx # 通过 Homebrew 重启 Nginx 服务(使配置更改生效)
此时访问http://localhost:8889,应该能看到苍穹外卖的页面
3. 导入数据库
安装mysql和dbeaver,可参考juejin.cn/post/762443…
# 1) 登录 MySQL
mysql -u root -p # 以 root 身份登录 MySQL,-p 表示随后输入密码
# 2) 在 MySQL 里创建数据库
CREATE DATABASE sky_take_out DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; # 创建名为 sky_take_out 的数据库,字符集为 utf8mb4,排序规则为 utf8mb4_general_ci
show databases; # 显示所有数据库,检查新建的sky_take_out数据库是否已存在
# 3) 退出
exit; # 退出 MySQL 命令行界面
进入sky.sql所在路径
执行
mysql -u root -p sky_take_out < sky.sql
此时可打开数据库管理软件,应该可以看到数据
4. 跑通后端
安装JDK和MAVEN
我用SDK MAN管理jdk和maven,可按需安装
安装SDKMAN
brew reinstall bash
/opt/homebrew/bin/bash -c "$(curl -s https://get.sdkman.io)"
安装JDK和MAVEN
sdk install java 17.0.18-zulu
sdk install maven
#检查
java -version # jdk 17.0.18
mvn -version # maven 3.0.14
安装Redis
brew install redis
brew services start redis # 后台运行
# redis-server # 前台运行
redis-cli ping # 若看到PONG,则说明Redis服务正常运行
配置文件位置:
- Apple Silicon (M1/M2/M3):
/opt/homebrew/etc/redis.conf - Intel:
/usr/local/etc/redis.conf
在app store中安装Redis Insight
修改配置
进入sky-server/src/main/resources/application-dev.yml,修改配置
启动项目
登录
报错:密码错误。因为数据库里admin的默认密码是明文的123456,此时需要把数据库中的明文密码123456改为md5格式的e10adc3949ba59abbe56e057f20f883e
之后启动前后端后,可正常登录