
@TOC
这是一个简单的自托管、轻量级、单用户 PHP 博客,您可以在其中创建自己的类似 Facebook 的提要。向其他人授予读取权限,并且您可以共享包含照片(包括突出显示的代码或链接)的富文本。
开源的个人博客系统是一种允许用户创建、管理和发布自己的博客的平台。它是基于开源软件的,意味着任何用户可以自由地访问、修改和分发系统的源代码。例如比较有名的wordpress/Ghost/Hexo/halo/Hugo等博客系统,这些开源个人博客系统都有活跃的社区支持和更新,可以根据自己的需求选择合适的系统,并根据需要进行定制和扩展。
开源的个人博客系统适用于以下场景:
hostname | IP地址 | 操作系统版本 | Docker版本 |
|---|---|---|---|
jeven | 192.168.3.166 | centos 7.6 | 2 20.10.17 |
1.本次实践部署环境为个人测试环境,生产环境请谨慎;
2.在Docker环境下部署blog个人博客系统。
检查Docker服务是否正常运行,确保Docker正常运行。
[root@jeven ~]# systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
Active: active (running) since Fri 2023-12-08 19:10:36 CST; 21h ago
Docs: https://docs.docker.com
Main PID: 11729 (dockerd)
Tasks: 22
Memory: 186.1M
CGroup: /system.slice/docker.service检查Docker版本
[root@jeven ~]# docker -v
Docker version 20.10.17, build 100c701检查Docker compose版本,确保2.0以上版本。
[root@jeven ~]# docker compose version
Docker Compose version v2.6.0从docker hub拉取blog镜像
[root@jeven blog]# docker pull m1k1o/blog:latest
latest: Pulling from m1k1o/blog
7d63c13d9b9b: Pull complete
24b15dfd3cfa: Pull complete
64625c2e355f: Pull complete
275a8dd8f358: Retrying in 1 second
eb1c8ccc797a: Download complete
0aaf98f0c33a: Download complete
e6e7c544c3e3: Retrying in 2 seconds
4ae870a5fb80: Retrying in 1 second
98833c4f4a49: Waiting
f1a6af6bf10a: Waiting
a56ec4dacea3: Waiting
ab49679021a9: Waiting
62d224267322: Waiting
72321144b430: Waiting
25bec77f4422: Waiting
latest: Pulling from m1k1o/blog
Digest: sha256:b3c48fed76e80de423e5a5a14a9b5070f3a4e8ae93be6b45991d3249fc74b681
Status: Image is up to date for m1k1o/blog:latest
docker.io/m1k1o/blog:latest使用docker-cli部署,执行以下命令即可。直接使用以下命令创建blog容器时,默认使用的数据库为SQLite。
docker run -d \
-p 80:80 \
-e "TZ=Europe/Vienna" \
-e "BLOG_TITLE=Blog" \
-e "BLOG_NAME=Max Musermann" \
-e "BLOG_NICK=username" \
-e "BLOG_PASS=password" \
-e "BLOG_LANG=en" \
-v $PWD/data:/var/www/html/data \
m1k1o/blog:latest在github下载blog源码包
cd /data[root@jeven data]# git clone https://github.com/m1k1o/blog.git
Cloning into 'blog'...
remote: Enumerating objects: 1492, done.
remote: Counting objects: 100% (190/190), done.
remote: Compressing objects: 100% (38/38), done.
remote: Total 1492 (delta 163), reused 160 (delta 150), pack-reused 1302
Receiving objects: 100% (1492/1492), 4.14 MiB | 2.90 MiB/s, done.
Resolving deltas: 100% (923/923), done.设置目录权限
chmod -R 777 /data/blog/进入blog源码目录
[root@jeven blog]# ls
ajax.php common.php data Dockerfile index.php README.md static
app config.ini docker-compose.yml favicon.ico LICENSE robots.txt修改docker-compose.yml文件,内容如下:
version: "3"
services:
blog:
image: m1k1o/blog:latest
restart: unless-stopped
environment:
TZ: Asia/Shanghai
BLOG_TITLE: Blog
BLOG_NAME: Max Musermann
BLOG_NICK: blog
BLOG_PASS: blog
BLOG_LANG: en
ports:
- 8012:80
volumes:
- ./data:/var/www/html/data使用docker compose 快速创建blog容器
[root@jeven blog]# docker compose up -d
[+] Running 1/1
⠿ Container blog-blog-1 Started 0.3s检查blog容器运行状态,确保blog容器正常启动。
[root@jeven blog]# docker compose ps
NAME COMMAND SERVICE STATUS PORTS
blog-blog-1 "docker-php-entrypoi…" blog running 0.0.0.0:8012->80/tcp, :::8012->80/tcp访问地址:http://192.168.3.166:8012,将IP替换为自己服务器IP地址,进入blog首页。

我们在docker-compose.yml文件中设置的登录用户名和密码为blog/blog


在编辑框内编辑博客内容,点击公开,保存发布。

在其他浏览器访问http://192.168.3.166:8012,可以看到博客内容。

Blog轻量级博客系统是一款开源的博客系统,它简单易用、系统资源占用少。它有简洁漂亮的界面,可以方便地分享文章、图片等内容。如果对Blog感兴趣,可以尝试部署体验一下。
我正在参与2023腾讯技术创作特训营第四期有奖征文,快来和我瓜分大奖!
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。