想要搭建个人博客,首先肯定要本地能跑起来,再部署到服务器,所以本文主要描述如何本地一步步启动。
:镜像里包含运行环境,所以无需本地启动mysql等等
Docker for Mac 要求系统最低为 macOS 10.10.3 Yosemite。如果系统不满足需求,可以安装 Docker Toolbox。
本文系统基于macOS 11.6.8 ,所以以安装Docker for Mac为例
mac安装Homebrew->下载docker->配置环境变量->配置docker的镜像源->然后重启docker。mac安装Docker详细操作参看:mac安装Homebrew
# 查看docker版本
docker --version #(博主本机环境是:Docker version 20.10.17, build 100c701)
# 开机自启
systemctl enable docker #(自己选择要不要开机自启)
# 启动docker
systemctl start docker
Docker for Mac 和 Docker Toolbox 已经包含了 Compose 了, 所以 Mac 用户不用单独安装Compose了。Docker-Compose 项目由 Python 编写,调用 Docker 服务提供的API来对容器进行管理。
所以如果本机没有python环境需要安装一下,终端输入如下命令:
# 安装python-pip模块
sudo easy_install pip
传送门:蘑菇博客项目地址
因为Docker容器之间,需要互相通信访问,所以我们需要创建我们的Docker网络
docker network create mogu
修改前端配置,关于前端配置的修改,提供了两种方式:
进入项源码docker-compose目录->添加执行权限->进入bin执行自动替换ip的python脚本
# 添加执行权限
chmod +x bin/kernStartup.sh
chmod +x bin/kernShutdown.sh
chmod +x bin/update.sh
chmod +x bin/wait-for-it.sh
执行python脚本时如果报错:ImportError: No module named requests
是因为mac osx上默认没有安装requests库,执行如下命令 pip install requests
如果报错:zsh: command not found: pip
是开篇最开始提到的没有安装pip环境,sudo easy_install pip
安装一下。
如果安装pip报错:SyntaxError: invalid syntax
是因为低版本的python与高版本pip不兼容,执行python -V
查看一下 python版本【虽然我这个版本有点低了】
到此网站上找到对应python版本,右键复制链接,执行如下代码(将代码中的网址对应替换),即可重新下载与python版本对应的pip
curl https://bootstrap.pypa.io/pip/2.7/get-pip.py -o get-pip.py
python get-pip.py --force-reinstall
如果提示:which is not on PATH
,将需要将path添加到变量中,提示中的 URL替换到命令中即可
# 注意: export PATH=URL:$PATH 其中的URL为报错提示信息中
export PATH=/Users/moon/Library/Python/2.7/bin:$PATH
再次安装requests:pip install requests
如果报错:Connection to files.pythonhosted.org timed out
则更换源后,再次安装
pip install --upgrade pip -i https://mirrors.bfsu.edu.cn/pypi/web/simple/
当环境的pip和requests库搞定之后再执行python脚本(执行完后,将会修改我们配置文件中的ip地址):
直接修改项目源码中doc/docker-compose/config/vue_mogu_admin.env、vue_mogu_web.env两个文件中ip替换成本地ip。
ifcofig查看一下本机ip
下面我们执行命令,进行一键部署,我们执行 kernStartup.sh ,它会给我们安装蘑菇博客所需的核心服务
# 进入到bin目录
cd bin
# 启动一键部署脚本 【核心版脚本】
sh kernStartup.sh
# 一键关闭【需要关闭时使用】
sh kernShutdown.sh
查看一下拉取完的镜像:
docker images;
查看一下启动情况;
docker ps -a
docker重启指定容器:
# docker重启指定容器
docker start 容器id #这里边mysql的是1e88535daa47
由于我本地3306端口占用了 所以刚mysql启动失败了,重启一下就可以了,通过界面操作也可以。
后台登录:用户:admin,密码:mogu2018
前台登录:用户:mogu2018,密码:mogu2018
Mysql:用户:root,密码:mogu2018
Redis:密码:mogu2018
远程SSH初始密码:用户:root,密码:mogu2018
RabbitMQ管理页面: 用户:admin,密码:mogu2018
Nacos管理页面: 用户:nacos,密码:nacos
# Nacos管理页【默认账号密码:nacos nacos】
http://172.28.25.246:8848/nacos/#/login
# admin端
http://172.28.25.246:8601/swagger-ui/index.html
# web端
http://172.28.25.246:8603/swagger-ui/index.html
如果能够进入下面页面的话,说明后台是没有问题的了,下面我们可以验证一下接口
登录功能正常使用,我们把token复制到来,然后在swagger页面的右上角,有一个authorize的按钮,点击后,将token粘贴进去,即可操作全部接口进行测试了~
前台测试
接着访问前端和后端页面进行测试即可
http://172.28.25.246:9528
好了 这就是基本的框架起来了, 剩下的就是自己加工自己想要的功能啦~