『亚马逊云科技产品测评』活动征文|云服务器如何快速搭建个人博客(图文详解)
授权声明:本篇文章授权活动官方亚马逊云科技文章转发、改写权,包括不限于在 Developer Centre, 知乎,自媒体平台,第三方开发者媒体等亚马逊云科技官方渠道
文章目录
- 引言
- 一、前期准备步骤
- 1.1 准备一个亚马逊 EC2 服务器
- 1.2 进入控制台安装 git
- 1.3 安装Docker 和 Docker compose
- 二、博客开源项目介绍
- 2.1 操作界面展览
- 三、拉取项目搭建个人博客
- 3.1 拉取项目进行配置
- 3.2 启动Docker服务配置个人站站点
- 查看项目
- 配置http服务并启动 Docker
- 3.3启动基于Docker Compose配置文件的容器服务:
- 配置docker-compose PATH环境变量
- 启动Docker Compose容器服务
- 3.4 安全组中开放 8080端口
- 四、访问个人网站
- 结尾
引言
Docker Compose是一个用于定义和运行多个 Docker 容器的工具,负责快速的部署分布式应用。可以轻松解决由多个相互依赖的服务组成,启动、停止和扩展整个应用程序,并确保各个服务之间的通信和依赖关系正确配置的项目。
今天就来带大家在亚马逊云服务上使用 Docker compose 拉取 github 上的博客开源项目快速搭建一个属于自己的个人博客网站,下面我们就来看看具体教程吧!
一、前期准备步骤
1.1 准备一个亚马逊 EC2 服务器
亚马逊的云服务器我们前面已经介绍过了,只需要官网进行注册就可以免费进行领取一年的 EC2 云服务器了;
- 可以说免费额度也是非常的大了,够我们折腾好久了。
然后进入亚马逊官网找到 Amazon EC2

之后就可以看到免费周期为一年的免费套餐了

解下来就是注册然后进入里面来,去购买实例了,大家一步步完成就好了。

1.2 进入控制台安装 git
好了亚马逊的云服务器准备了之后接下来就简单了直接利用 SSH 链接进云服务器就可以了。


然后运行 yum 命令来安装git
sudo yum install git


出现这个就安装好我们的 git 了,后面可以直接用 git 来拉取开源项目。
- 我们也可以使用
git --help查看帮助文档 - 来看看git是否安装成功

这里就可以看到git的各种操作了。
1.3 安装Docker 和 Docker compose
由于我们本次的项目是基于Docker 来进行搭建的,所以安装 Docker 是必不可少的。
- 安装Docker:
sudo yum install docker -y


老样子出现这个界面就是 Docker 安装成功了,下面就是安装 Docker compos 的步骤了:
- 下载二进制包
# 下载二进制包
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
- 给予可执行权限
# 给予可执行权限
sudo chmod +x /usr/local/bin/docker-compose
- 查看是否部署成功
# 查看是否部署成功
docker-compose --version
📑图片展示:

这里我们可以看到**docker-compose** 已经安装成功,版本是 Docker Compose version v2.23.0
二、博客开源项目介绍
本次我们选择搭建的个人博客开源软件是 solo ,很多程序员的第一个个人博客都是基于他去搭建。
sologithub 开源网站链接:一键进入
他这里是由 java 实现的程序编写,有前端界面和后端管理系统供我们使用,并且还可以一键更换皮肤。
- 如果大家对里面的预设皮肤不满意也可以对他的源码进行更改
- 去修改这里的源码,做一些定制化内容


这里就只给大家展示一点剩下的可以自己去文档里面看哦!
2.1 操作界面展览
开始使用

浏览界面

编辑文章

个性皮肤

三、拉取项目搭建个人博客
由于我们是使用 Docker 来构建项目的所以,我们需要进到另外一个项目
solo in Docker 的项目里来进行使用 Docker 的方法一键部署个人博客。
- 这个项目是另外一个程序员基于
solo开发的项目 - 不过在上面开发这个开源软件的操作文档有些写,就下文档下方
- 项目网站: 一键直达


3.1 拉取项目进行配置
先进行拉取项目把,开源项目克隆到本地:
git clone https://github.com/liumapp/solo-in-docker.git

3.2 启动Docker服务配置个人站站点
查看项目
这里我们项目拉取完成之后就可以用 ls 查看一下项目是否拉取成功。
solo-in-docker就是我们的的项目文件

然后cd进入可以看到整个项目的框架是和 github 是一模一样的

配置http服务并启动 Docker
然后查看目录 cd 进入 http 去启动 Docker 服务,确保服务已启动。
-
启动命令
sudo service docker start

配置http目录下的rdocker-compose文件,修改自己的域名跟端口 -
cd 进入 http
-
vi docker-compose.yml进行设置域名和端口 -


这里我们可以看到ports部分的映射,为 8080,这样我们就可以使用 : -
http://localhost:8080 来访问我们的 solo-in-docker
-
的个人博客项目了,当然如果你想改成其他端口访问网站也可以

🔥 注:我们这里并不做端口修改继续使用8080端口进行访问。
当然这里只是做简单端口访问,后期大家可以去申请个人域名来进行访问
- 申请号域名之后:
- 在
Docker Compose文件中,在solo和mysql配置中添加一个hostname参数:


3.3启动基于Docker Compose配置文件的容器服务:
配置docker-compose PATH环境变量
sudo docker-compose up 如果运行不了:
- 说明我们的 docker-compose 命令没有添加到PATH环境变量中
//设置docker-composePATH环境变量
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
启动Docker Compose容器服务
- 以管理员权限运行Docker Compose的命令
sudo docker-compose up

3.4 安全组中开放 8080端口
好了到这里我们的整个项目就搭建好了,现在只需要去开放安全组,8080/8080 端口进行访问就可以了。



四、访问个人网站
以上就是搭建个人网站的全部过程了,可以说是非常详细了,零基础小白也可快速搭建个人博客网站;
- 下面我们来看看成果把:
- 访问地址是公网地址 + 8080端口哦!

登录就可以访问我们的前端界面了使用起来也是非常的流畅
- 目前我们的网站还只能通过公网加端口的方式登录
- 后期大家可以去申请一下域名映射一下就可以通过域名访问了
- 正式上线了
好了废话不多说我们来进入后端来看看



这里大家可以看到功能非常的多啊,可以更换自定义皮肤和写文章管理等等。
结尾
以上就是Docker compose快速搭建个人博客的全过程了,部署起来非常方便。很多技术大牛都有自己的个人博客来用于记录生活和发表个人看法,快去建出属于你自己的个人博客网站来作为自己的成长的记录吧。
相关文章:
『亚马逊云科技产品测评』活动征文|云服务器如何快速搭建个人博客(图文详解)
授权声明:本篇文章授权活动官方亚马逊云科技文章转发、改写权,包括不限于在 Developer Centre, 知乎,自媒体平台,第三方开发者媒体等亚马逊云科技官方渠道 文章目录 引言一、前期准备步骤1.1 准备一个亚马逊 EC2 服务器1.2 进入控…...
QT上位机开发(乘法计算小软件)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 前面一篇文章,我们学习了怎么创建qt的第一个工程,怎么用designer给qt修改界面。虽然我们到目前为止,还没有编写…...
【Matlab】BP 神经网络时序预测算法
资源下载: https://download.csdn.net/download/vvoennvv/88681507 一,概述 BP 神经网络是一种常见的人工神经网络,也是一种有监督学习的神经网络。其全称为“Back Propagation”,即反向传播算法。BP 神经网络主要由输入层、隐藏层…...
GPT在企业自动化方面的应用
GPT和类似的自然语言处理技术在企业自动化方面有许多应用。以下是一些主要的应用领域: 自动化客户支持: 使用GPT可以构建自动化的客户支持系统,能够理解和生成自然语言文本,回答常见问题,解决用户的疑问和问题。 自动…...
STM32——通用计时器
通用计时器框图 1.时钟源 1)内部时钟(CK_INT) 2)外部时钟模式 1:外部输入引脚(TIx),x1,2(即只能来自于通道 1 或者通道 2) 3)外部时钟模式 2:外部触发输入(ETR) 4&#…...
【HarmonyOS】鸿蒙开发简介与项目基础配置演示
从今天开始,博主将开设一门新的专栏用来讲解市面上比较热门的技术 “鸿蒙开发”,对于刚接触这项技术的小伙伴在学习鸿蒙开发之前,有必要先了解一下鸿蒙,从你的角度来讲,你认为什么是鸿蒙呢?它出现的意义又是…...
[MySQL] MySQL数据库创建存储过程
一、mysql存储过程的相关知识 1.1 存储过程的概念 存储过程是一组为了完成特定功能的SQL语句集合。类似于于其他编程语言中的函数,定义一个函数方法,可以随时起到传参调用的功能。 存储过程在使用过程中是将常用或者复杂的工作预先使用SQL语句写好并用…...
mysql哪些情况下不走索引?
mysql哪些情况下不走索引? MySQL是一种常用的关系型数据库,它使用索引来提高查询性能。然而,并非所有的SQL语句都能充分利用索引。在本文中,我们将介绍几个无法使用到索引的MySQL SQL语句。 1. 使用函数:当SQL语句中…...
蓝桥杯python比赛历届真题99道经典练习题 (13-20)
【程序13】 题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数 本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。 1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。 2.程序…...
初识javaWeb
一、JavaWeb是什么? 1、概念 javaWeb指的是使用java语言进行互联网领域项目开发的技术栈——进行web项目开发所需的技术的集合。 -Web前端——在浏览器中用户可以看到的网页 -Web后端——为前端提供数据的程序 2、Web项目 java语言是可以进行多种类型的项目开发&a…...
day5--java基础编程:异常,内部类
6 异常 6.1 异常概述 出现背景: 在使用计算机语言进行项目开发的过程中,即使程序员把代码写得尽善尽美,在系统的运行过程中仍然会遇到一些问题,因为很多问题不是靠代码能够避免的,比如:客户输入数据的格式,…...
2023.12.28 关于 Redis 数据类型 List 内部编码、应用场景
目录 List 编码方式 早期版本 现今版本 List 实际应用 多表之间的关联关系 消息队列 频道(多列表)消息队列 微博 Timeline 栈 & 队列 List 编码方式 早期版本 早期版本 List 类型的内部编码方式有两种 ziplist(压缩列表…...
uni-app page新建以及page外观配置
锋哥原创的uni-app视频教程: 2023版uniapp从入门到上天视频教程(Java后端无废话版),火爆更新中..._哔哩哔哩_bilibili2023版uniapp从入门到上天视频教程(Java后端无废话版),火爆更新中...共计23条视频,包括:第1讲 uni…...
问题:执行conda init 提示 No action taken,然后无法正确激活环境
执行完下面代码后, conda activate base 报错,提示先执行conda init,于是再执行下面代码 conda init发现还报错提示提示 No action taken。 解决方法: 打开一个新的终端窗口,您应该就可以正常使用conda命令。(把其…...
SpringBoot 增量/瘦身部署jar 包
背景 SpringBoot 项目的部署一般采用全量jar 包方式部署相关项目,如果我们对相关的Contrller\Service\Dao\Mapper 层进行相关业务调整就需要重新编译全量jar 包(包大小约为200M左右)实在太麻烦了。 本文:重点讲解使用SpringBoot 的增量/瘦身…...
AI客服的评分机制及自动化测试
智能客服的评分机制及自动化测试 使用pytest来编写智能客服的测试框架: 准备一个CSV文件来存储测试用例和预期结果。编写测试脚本,其中包含测试用例的读取、发送请求、评分逻辑和结果验证。使用pytest断言来验证测试结果。 首先安装pytest和requests库…...
【Matlab】ELM极限学习机时序预测算法
资源下载: https://download.csdn.net/download/vvoennvv/88681649 一,概述 ELM(Extreme Learning Machine)是一种单层前馈神经网络结构,与传统神经网络不同的是,ELM的隐层神经元权重以及偏置都是随机产生的…...
m3u8网络视频文件下载方法
在windows下,使用命令行cmd的命令下载m3u8视频文件并保存为mp4文件。 1.下载ffmpeg,访问FFmpeg官方网站:https://www.ffmpeg.org/进行下载 ffmpeg下载,安装,操作说明 https://blog.csdn.net/m0_53157282/article/det…...
相机内参标定理论篇------张正友标定法
一、为什么做相机标定? 标定是为了得到相机坐标系下的点和图像像素点的映射关系,为摄影几何、计算机视觉等应用做准备。 二、为什么需要张正友标定法? 张正友标定法使手工标定相机成为可能,使相机标定不再需要精密的设备帮助。…...
鸿蒙 Window 环境的搭建
鸿蒙操作系统是国内自研的新一代的智能终端操作系统,支持多种终端设备部署,能够适配不同类别的硬件资源和功能需求。是一款面向万物互联的全场景分布式操作系统。 下载、安装与配置 DevEco Studio支持Windows系统和macOS系统 Windows系统配置华为官方推…...
铭豹扩展坞 USB转网口 突然无法识别解决方法
当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...
Chapter03-Authentication vulnerabilities
文章目录 1. 身份验证简介1.1 What is authentication1.2 difference between authentication and authorization1.3 身份验证机制失效的原因1.4 身份验证机制失效的影响 2. 基于登录功能的漏洞2.1 密码爆破2.2 用户名枚举2.3 有缺陷的暴力破解防护2.3.1 如果用户登录尝试失败次…...
Vue记事本应用实现教程
文章目录 1. 项目介绍2. 开发环境准备3. 设计应用界面4. 创建Vue实例和数据模型5. 实现记事本功能5.1 添加新记事项5.2 删除记事项5.3 清空所有记事 6. 添加样式7. 功能扩展:显示创建时间8. 功能扩展:记事项搜索9. 完整代码10. Vue知识点解析10.1 数据绑…...
React hook之useRef
React useRef 详解 useRef 是 React 提供的一个 Hook,用于在函数组件中创建可变的引用对象。它在 React 开发中有多种重要用途,下面我将全面详细地介绍它的特性和用法。 基本概念 1. 创建 ref const refContainer useRef(initialValue);initialValu…...
【WiFi帧结构】
文章目录 帧结构MAC头部管理帧 帧结构 Wi-Fi的帧分为三部分组成:MAC头部frame bodyFCS,其中MAC是固定格式的,frame body是可变长度。 MAC头部有frame control,duration,address1,address2,addre…...
以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:
一、属性动画概述NETX 作用:实现组件通用属性的渐变过渡效果,提升用户体验。支持属性:width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项: 布局类属性(如宽高)变化时&#…...
【大模型RAG】Docker 一键部署 Milvus 完整攻略
本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装;只需暴露 19530(gRPC)与 9091(HTTP/WebUI)两个端口,即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...
对WWDC 2025 Keynote 内容的预测
借助我们以往对苹果公司发展路径的深入研究经验,以及大语言模型的分析能力,我们系统梳理了多年来苹果 WWDC 主题演讲的规律。在 WWDC 2025 即将揭幕之际,我们让 ChatGPT 对今年的 Keynote 内容进行了一个初步预测,聊作存档。等到明…...
P3 QT项目----记事本(3.8)
3.8 记事本项目总结 项目源码 1.main.cpp #include "widget.h" #include <QApplication> int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();return a.exec(); } 2.widget.cpp #include "widget.h" #include &q…...
【JavaWeb】Docker项目部署
引言 之前学习了Linux操作系统的常见命令,在Linux上安装软件,以及如何在Linux上部署一个单体项目,大多数同学都会有相同的感受,那就是麻烦。 核心体现在三点: 命令太多了,记不住 软件安装包名字复杂&…...
