Mac本地部署蘑菇个人博客详解

news2024/11/16 13:45:54

文章目录

  • 一、安装Docker、Docker Compose
    • 1、系统要求
    • 2、安装Docker
    • 3、Docker-Compose
  • 二、docker一键部署博客
    • 1、创建网络
    • 2、修改前端配置
        • 1)自动修改前端配置
        • 2)手动修改前端配置
    • 3、开始部署
  • 三、系统测试
    • 1、Nacos测试
    • 2、swagger测试
    • 3、前端页面
    • 4、后端页面

想要搭建个人博客,首先肯定要本地能跑起来,再部署到服务器,所以本文主要描述如何本地一步步启动。
📢:镜像里包含运行环境,所以无需本地启动mysql等等

一、安装Docker、Docker Compose

1、系统要求

Docker for Mac 要求系统最低为 macOS 10.10.3 Yosemite。如果系统不满足需求,可以安装 Docker Toolbox。

2、安装Docker

本文系统基于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

3、Docker-Compose

Docker for Mac 和 Docker Toolbox 已经包含了 Compose 了, 所以 Mac 用户不用单独安装Compose了。Docker-Compose 项目由 Python 编写,调用 Docker 服务提供的API来对容器进行管理。

所以如果本机没有python环境需要安装一下,终端输入如下命令:

# 安装python-pip模块
sudo easy_install pip

二、docker一键部署博客

传送门:蘑菇博客项目地址

1、创建网络

因为Docker容器之间,需要互相通信访问,所以我们需要创建我们的Docker网络

docker network create mogu

2、修改前端配置

修改前端配置,关于前端配置的修改,提供了两种方式:

  • 自动修改:通过python脚本获取外网地址,然后一键替换【虚拟机部署的无效】
  • 手动修改:如果在虚拟机中部署,必须使用手动修改的方式(本地部署采用手工修改,下文也会演示自动修改流程)

1)自动修改前端配置

进入项源码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地址):

2)手动修改前端配置

直接修改项目源码中doc/docker-compose/config/vue_mogu_admin.env、vue_mogu_web.env两个文件中ip替换成本地ip。

ifcofig查看一下本机ip

在这里插入图片描述

3、开始部署

下面我们执行命令,进行一键部署,我们执行 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

1、Nacos测试

# Nacos管理页【默认账号密码:nacos nacos】
http://172.28.25.246:8848/nacos/#/login

在这里插入图片描述

2、swagger测试

# 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粘贴进去,即可操作全部接口进行测试了~

前台测试
接着访问前端和后端页面进行测试即可

3、前端页面

http://172.28.25.246:9527

4、后端页面

http://172.28.25.246:9528
在这里插入图片描述
好了 这就是基本的框架起来了, 剩下的就是自己加工自己想要的功能啦~

服务器部署参考:DockerCompose一键部署蘑菇博客(Nacos版)
在这里插入图片描述

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

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

相关文章

Python datetime

datetime的作用 Python datetime的模块,用于处理日期和时间 datetime 官网 datetime模块的类如下 datetime 使用的时候需要引入datetime import datetime 下面说下其中的2个datetime 和 date date 类 import datetime # 获取当前日期 t1 datetime.date.today…

Linux基本工具

文章目录 Linux软件包管理器yum关于rzsz安装与卸载示例注意事项 Linux开发工具vimvim基本操作总结插入模式:移动光标快捷键删除文字复制替换撤销上一次操作更改跳至指定的行多文件操作底行模式 sudoLinux编译器gcc/g的使用预处理编译汇编链接生成可执行文件总结详谈…

如何用智能工牌+语音分析技术,从会话数据中,自动化获取客户满意度评价

在企业客户服务过程中,如何获得客户对产品和服务真实、实时、全面的评价,是企业在后续提升客户满意度、洞察客户需求、制定个性化营销策略、提升销售成交率和品牌口碑的 那么传统企业在获取客户评价和提升客户认知这块都是怎么做的呢? 用运营…

【办公类-30-01】(Python)大班毕业证书批量打印(幼儿信息、性别、毕业日期、学校、公章、签名、证书日期)

背景需求 大班毕业在即,需要打印大班幼儿毕业证书。(已有打印好的彩色证书) 常规操作模式: 1,统一盖章,反复签字 200份证书,每张证书上需要盖园所章、园长签字200次 2. 每个班主任自己领取班…

彻底弄懂 JavaScript 异步任务处理原理

目录 1.单线程 什么是单线程? 2.同步和异步 同步 异步 3.事件循环(EventLoop) 1.事件循环的基本概念 2.微任务/宏任务 3.宏任务和微任务的执行顺序 4.常见的面试题 1.单线程 首先我们需要明白JS是单线程的,这是为了降低程序复杂性&#xff0c…

Windows上安装绿色版mysql-8.0.26

以8.0.26为例 1.安装包下载 下载地址:https://dev.mysql.com/downloads/mysql/下载后文件如图所示: 解压压缩包,并修改文件夹名称为mysql: 2.创建配置文件 在E:\mysql(MySQL解压目录)文件夹下&#…

VS Code 实用快捷键

在使用VS Code 开发过程中,熟练使用一些快捷键可以极大的便利我们的开发。所以,本文汇总了一些快捷键,以便想使用时忘记了可以快速查找到。 1. Alt 鼠标点击 在每一个点击的地方添加输入光标 2. Alt Shift 鼠标左键按住拖动 竖列多行选择。…

达梦数据库无法打开图形化界面的解决方法

在安装或使用DM数据库中,我们经常会需要使用图形化界面,但某些情况下,我们可能会打开图形化界面失败。本文分别介绍通过VNC或者VMware连接数据库服务器,和使用Xmanager第三方工具连接服务器打开图形化界面的方法。实验环境的操作系…

【ARM AMBA AXI 入门 6 - AXI3 协议中的锁定访问之AxLOCK信号】

文章目录 1.1 Locked accesses 1.1 Locked accesses 当主机使用 AxLOCK 信号来指示事务是锁定的事务时,互连(Interconnect)必须确保只有该主机可以访问目标从属区域,直到来自同一主机的未锁定事务完成。互连中的仲裁器(arbiter)必须执行此限制。 在主机…

【面试题】前端面试 15 问高频题

大厂面试题分享 面试题库 前后端面试题库 (面试必备) 推荐:★★★★★ 地址:前端面试题库 web前端面试题库 VS java后端面试题库大全 数组去重 遍历旧数组,然后拿着旧数组元素去查询新数组,如果该元素…

Linux安装mysql8

Linux安装mysql8 第一步:解压mysql安装包:tar -xvf mysql-server-8.0.25.tar.gz 第二步:更新文件夹名:mv mysql-server-8.0.25 mysql 第三步:进入mysql文件夹:cd mysql,创建data文件夹&#x…

OM6621PW蓝牙智能指纹锁(附芯片选型)

随着科技的快速发展,智能家居正逐渐成为现代生活的一部分。在智能家居领域,安全始终是人们关注的焦点。传统的机械锁存在被暴力破解、易被复制钥匙等安全隐患,无法满足当今社会对安全性的需求。因此,越来越多的家庭和商业场所开始…

【vue3】12-Vue 3中的Composition Api(二)

Vue3 - composition Api setup中的函数(1)computed函数使用(2)setup获取元素或组件(3)组件的生命周期函数(4)provide/inject函数(了解)(5&#xf…

Java实现PPT转MP4文件

环境要求 必须是Windows电脑&#xff0c;已安装微软Office且已激活。 引入Jar 首先在pom中引入jar包 <dependency><groupId>cc.pptshow</groupId><artifactId>pptshow</artifactId><version>1.3</version> </dependency> …

【2023年计划大纲】2023年技术笔记大纲

2023年技术笔记写作计划 按照技术类型&#xff0c;计划写以下三个领域的笔记&#xff1a; &#xff08;1&#xff09;AUTOSAR标准体系的专业知识&#xff0c;T-BOX,BMS,VCU这几个产品的设计和核心开发。包括UDS协议&#xff0c;XCP协议&#xff0c;OS操作系统。 每一个产品和…

测试工程师常见的面试问题及回答建议

说起软件测试近几年的发展&#xff0c;其实已悄无声息地发生了巨大的变化。前几年随着互联网行业的迅猛发展&#xff0c;软件测试人才稀缺&#xff0c;低门槛高薪资促使大批毕业生和转行人员一窝蜂地涌入。而现在&#xff0c;软件测试发展太快&#xff0c;纵观各大招聘网站&…

Prompt是什么_揭秘Prompt:大模型时代的关键技术与实践应用

文章目录 1 Prompt是什么Prompt的定义和基本概念Prompt的工作原理 2 综合案例案例1&#xff1a;根据内容提取数据生成表格百度&#xff1a;文心一言科大讯飞&#xff1a;讯飞星火 案例2&#xff1a;文生图百度&#xff1a;文心一言科大讯飞&#xff1a;讯飞星火 案例3&#xff…

如何建立一个好的待办事项系统并提高工作效率

如果你有一系列的任务需要完成&#xff0c;你会如何记住它们呢&#xff1f; 最简单的方法当然是将它们记在脑中&#xff0c;但如果任务的数量很多&#xff0c;记忆的细节难免模糊。纸和笔也是一个不错的选择&#xff0c;但纸质的任务清单容易遗失或者损坏。让应用来帮忙当然也…

ubuntu iptables开机自启动

一、配置ubuntu路由转发 用在一台电脑有多个网卡的情形下&#xff0c;一个网卡5网段、一个网卡8网段&#xff0c;8网段是网络出口&#xff0c;所以5网段的设备需要入网的话&#xff0c;要路由转发。 sudo iptables -t nat -A POSTROUTING -s 192.168.5.0/24 -j SNAT --to-sou…

对于中小企业,如何管理好仓库?

对于中小企业&#xff0c;如何管理好仓库&#xff1f; 在制造业摸爬滚打的这些年&#xff0c;也拜访了不少客户&#xff0c;帮助不少企业做了数字化方案&#xff0c;正如题主所说&#xff0c;“仓库是每一个经销商的根据地&#xff0c;如果不把仓库管理好&#xff0c;那么整个…