作者:广树时间:2025-01-12 11:44:43分类:服务器
维基萌在更新到0.22.2版本后支持了使用Docker一键部署lite版。这篇文章将教学如何使用Docker/宝塔/aaPanel/1Panel一键部署维基萌博客lite版。
相较于完整版lite版主要有3点不同。
这三点的不同带来的好处是,无需像完整版那样依赖本地服务器对代码进行编译,从而有效降低了服务器的压力。
必须保证服务器安装了Docker以及Docker Compose。相关教程网上有很多了,如果没有安装的话可以自行在网上搜索。
cd && mkdir wikimoe && cd wikimoe
这里创建了一个名为wikimoe的文件夹。
wget -O compose.yml https://raw.githubusercontent.com/eeg1412/wikimoeNodeJSBlog/main/docker-compose-lite.yml
这里从我的github仓库下载了docker-compose-lite.yml,并更名为compose.yml。
注意,github仓库种还有docker-compose.yml文件,这个文件是用来部署完整版的,lite版是docker-compose-lite.yml,不要搞错了!
wget -O .env https://raw.githubusercontent.com/eeg1412/wikimoeNodeJSBlog/main/example.env
这里下载了github仓库种的example.env文件,并更名为.env。
vim .env
这里使用vim编辑.env文件。
按 i 进入插入模式,进行编辑。
将 USER_NAME=admin 改为想要的管理员账号。
将 JWT_SECRET=your_jwt_secret 里面的 your_jwt_secret 改为一串长度8位以上随机大小写加符号的字符串(重要!your_jwt_secret泄漏等同于所有管理员账户被泄漏!)
编辑完成后,按 Esc 退出插入模式。
输入 :wq 保存并退出。
docker-compose up -d
docker ps
返回
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e2be8740dad8 eeg1412/wikimoe-blog-nuxt:latest "docker-entrypoint.s…" About a minute ago Up 58 seconds 0.0.0.0:3007->3007/tcp, :::3007->3007/tcp wikimoe-blog-nuxt
77931e842fe1 eeg1412/wikimoe-blog-server:latest "docker-entrypoint.s…" About a minute ago Up 59 seconds 3000/tcp, 0.0.0.0:3006->3006/tcp, :::3006->3006/tcp wikimoe-blog-server
52900c6d9af4 mongo:6.0.12-jammy "docker-entrypoint.s…" About a minute ago Up About a minute 27017/tcp
看到STATUS为Up则代表启动成功了。
此时如果服务器开放了3007和3006端口的话,通过浏览器输入服务器IP xxx.xxx.xxx.xxx:3007 是博客内容,输入 xxx.xxx.xxx.xxx:3006/admin/login 则是管理后台。
管理后台的账号为第4步中指定的账号,密码为7@wVUo6BL6LHjNR*#x。
由于是固定密码,请一定要第一时间在管理后台修改密码!
/wikimoe/data 目录下的文件就是博客的全部数据了,切记不要丢失!
以上就是Docker原生部署的全过程了。
之后就是通过反代将 xxx.xxx.xxx.xxx:3007 和 xxx.xxx.xxx.xxx:3006 绑定到域名上了。
宝塔的Docker部署相对要便捷一些。
点击左侧菜单【Docker】进入Docker页面后点击上面的【容器编排】->【添加容器编排】
在菜单中填写编排名称,组成,.env内容。
组成部分通过 https://raw.githubusercontent.com/eeg1412/wikimoeNodeJSBlog/main/docker-compose-lite.yml 获取。
.env内容通过 https://raw.githubusercontent.com/eeg1412/wikimoeNodeJSBlog/main/example.env 获取。
和Docker原生部署一样,.env内容需要更改
USER_NAME=admin
JWT_SECRET=your_jwt_secret
尤其是JWT_SECRET=your_jwt_secret,your_jwt_secret 改为一串长度8位以上随机大小写加符号的字符串(重要!your_jwt_secret泄漏等同于所有管理员账户被泄漏!)
点击确定后,提示可以关闭窗口的文案后关闭窗口即可。
来到【容器】界面,确认3个项目都在运行中即可。
/www/server/panel/data/compose/名称 目录就是博客的全部数据了,切记不要丢失!
之后通过aaPanle/宝塔的网站反代功能反代3006和3007端口即可通过域名访问了。
管理后台地址为 反代3006的域名/admin/login 。
管理后台的账号为.env中指定的账号,密码为7@wVUo6BL6LHjNR*#x。
登录管理后台的第一件事就是更改密码!
通过左侧菜单的【容器】进入容器界面,点击【编排】->【创建编排】。
文件夹填写【wikimoeblog】
编辑通过 https://raw.githubusercontent.com/eeg1412/wikimoeNodeJSBlog/main/docker-compose-lite.yml 获取。
环境变量内容通过 https://raw.githubusercontent.com/eeg1412/wikimoeNodeJSBlog/main/example.env 获取。
需要注意的是,1Panel的环境变量文件定死1panel.env,所以需要对内容做一些修改。
原先
server:
container_name: wikimoe-blog-server
image: eeg1412/wikimoe-blog-server:latest
environment:
- TZ=Asia/Shanghai
- PORT=${PORT}
- DB_HOST=${DB_HOST}
- JSON_LIMIT=${JSON_LIMIT}
- URLENCODED_LIMIT=${URLENCODED_LIMIT}
- JWT_SECRET=${JWT_SECRET}
- IP2LOCATION=${IP2LOCATION}
- IP2LOCATION_FILE_NAME=${IP2LOCATION_FILE_NAME}
- MAX_HISTORYLOGS_SIZE=${MAX_HISTORYLOGS_SIZE}
- USER_NAME=${USER_NAME} # option
里面的environment部分需要替换为
env_file:
- 1panel.env
环境变量部分需要增加
TZ=Asia/Shanghai
以及
和Docker原生部署一样,环境变量内容需要更改
USER_NAME=admin
JWT_SECRET=your_jwt_secret
尤其是JWT_SECRET=your_jwt_secret,your_jwt_secret 改为一串长度8位以上随机大小写加符号的字符串(重要!your_jwt_secret泄漏等同于所有管理员账户被泄漏!)
修改后的内容可以参考
services:
blog:
container_name: wikimoe-blog-nuxt
image: eeg1412/wikimoe-blog-nuxt:latest
environment:
- TZ=Asia/Shanghai
- NODE_ENV=production
ports:
- '3007:3007'
depends_on:
- server
networks:
- wikimoe
restart: unless-stopped
server:
container_name: wikimoe-blog-server
image: eeg1412/wikimoe-blog-server:latest
env_file:
- 1panel.env
volumes:
- ./data/wikimoe-blog-server/log:/app/log
- ./data/wikimoe-blog-server/ip2location:/app/utils/ip2location
- ./data/wikimoe-blog-server/backups:/app/backups
- ./data/wikimoe-blog-server/cache:/app/cache
- ./data/wikimoe-blog-server/public:/app/public
ports:
- '3006:3006'
depends_on:
- mongo
networks:
- wikimoe
restart: unless-stopped
mongo:
container_name: wikimoe-db
image: mongo:6.0.12-jammy
volumes:
- ./data/db:/data/db
networks:
- wikimoe
restart: unless-stopped
networks:
wikimoe:
driver: bridge
环境变量参考:
TZ=Asia/Shanghai
USER_NAME=admin
PORT=3006
DB_HOST=mongodb://wikimoe-db:27017/wikimoeBlog
JSON_LIMIT=50mb
URLENCODED_LIMIT=50mb
JWT_SECRET=acacax4564ac #一定要改这个
IP2LOCATION=0
IP2LOCATION_FILE_NAME=
MAX_HISTORYLOGS_SIZE=1073741824
点击确认后,等待完成即可部署成功。
在【容器】界面中看到3个项目状态均为已启动即可。
/1panel/docker/compose/wikimoeblog 目录目录就是博客的全部数据了,切记不要丢失!
之后通过1Panel的网站反代功能反代3006和3007端口即可通过域名访问了。
管理后台地址为 反代3006的域名/admin/login 。
管理后台的账号为环境变量中指定的账号,密码为7@wVUo6BL6LHjNR*#x。
登录管理后台的第一件事就是更改密码!
部署完之后通过管理后台域名/admin/login 就可以登录管理后台了。
点击右上角的图标进入用户设置。
在密码修改界面修改自己的密码。
同时在资料修改界面设置自己的资料。
在【设置】页面对博客进行全方面设置。
以上就是Docker/宝塔/aaPanel/1Panel一键部署lite版的全过程,如果部署过程中遇到什么问题的话,欢迎在下方留言。