全新出发
此前一直用的hexo+github的方案,功能太单一,只有写博客的作用,看到gamous大佬用docker玩的不亦乐乎,我极其嫉妒,随即怒删hexo,开启了自建网站的道路。
准备服务器
阿里云轻量级服务器
云翼计划9.5包邮服务器:点此进入购买
轻量级服务器 vs ESC服务器
- 优势:界面简单,带宽大
- 劣势:不能持续高性能运算,自定义地方少,缺少强大的安全保护
我买的轻量级服务器,主要看中带宽,流量应该够用,我一个人使用,而且轻量级服务器的管理界面比ESC简单,便于新手操作(此处假装新手)
系统镜像选择:ubuntu 18.04
(ps:这里建议centos或ubuntu,我个人习惯ubuntu)
其他什么都不加,最后结算9.5一个月
初始化完成后,进入控制台,按图片所示设置客户端密码,建议以后多使用高强度密码,在本地做好备份
基础环境安装
xshell登录
建议使用xshell连接服务器,自行官网下载,免费的软件
打开软件后新建一个连接,名称自定义,主机填服务器的公网ip,如下图
然后再点击左边的用户身份验证,用户名是root,密码是前面设置的客户端密码
安装docker和docker-compose
首先更新系统软件
sudo apt-get update
sudo apt-get upgrade
docker和docker-compose快速安装
sudo apt install docker docker-compose
设置镜像加速器
使用阿里云的镜像加速器,方便下载镜像
https://cr.console.aliyun.com/cn-zhangjiakou/instances/mirrors
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://faalpdo3.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
安装docker管理面板
按照这来,没坑,需要提前打开端口,阿里云默认只开80和443
去服务器的控制台,在防火墙那里添加新规则,自定义规则,端口范围填9000
然后你再去访问 ip+9000 就没问题了,例 :127.0.0.1:9000
也可以下载到本地上传
安装typecho博客
踩了几次坑,只有下面这个没问题
项目地址:https://hub.docker.com/r/80x86/typecho
直接跑下面的命令就行,注意倒数第二行的90代表你服务器对外开放的端口,这里是90,你需要在防火墙添加90端口,然后可以通过ip+端口形式访问,也可以用域名绑定
docker run -d \
--name=typecho-blog \
--restart always \
--mount type=tmpfs,destination=/tmp \
-v /srv/http/typecho:/data \
-e PHP_TZ=Asia/Shanghai \
-e PHP_MAX_EXECUTION_TIME=600 \
-p 90:80 \
80x86/typecho:latest
typecho博客既轻便又有很强的可拓展性
建议去下面这里安装插件
https://github.com/typecho-fans/plugins/blob/master/README.md
为了提高后期简便性,先安装UploadPlugin这个,这个插件可以上传zip自动安装插件/主题插件
下载本地后,接下来的操作需要用xshell
首先安装软件lrzsz和unzip
lrzsz作用:上传文件,直接拖进去或在终端输入rz
apt install lrzsz
apt install unzip
解压缩包
unzip UploadPlugin.zip
给大家罗列几条docker命令
原文:https://blog.csdn.net/qq_32447301/article/details/79387649
//以下id皆可用name代替,但是我建议使用id
docker ps -a //列出所有容器
docker stop id //停止某个容器
docker restart id //重启某个容器
docker start id //开始运行某个容器
docker kill id //强行停止某个容器
docker stop $(docker ps -aq) //停止所有容器
docker rm $(docker ps -aq) //删除某个容器
docker container prune //删除所有停止的容器
//注意:容器必须先停止才能删除
docker images //列出所有镜像
docker rmi id //删除某个镜像
//注意:镜像正在使用无法删除
docker rmi $(docker images -q) //删除所有镜像
docker image prune -f -a //删除所有不使用的镜像
//从宿主机复制文件到容器
docker cp /home/admin/text.js id:/webapps/js //docker cp 宿主路径中文件 容器名:容器路径
//从容器复制文件到宿主机
docker cp id:/webapps/js/text.js /home/admin //docker cp 容器名:容器路径 宿主机路径
//docker进入容器,查看配置文件
docker exec :在运行的容器中执行命令
-d :分离模式: 在后台运行
-i :即使没有附加也保持STDIN(标准输入) 打开,以交互模式运行容器,通常与 -t 同时使用;
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
docker exec -it f94d2c317477 /bin/bash
继续回到主线任务,现在需要将文件夹复制到宿主机,首先找到容器id
先进去容器查看路径
docker exec -it 4d0c02bedad7 /bin/sh
需要上传到 /data/plugins 目录下
docker cp UploadPlugin 4d0c02bedad7:/data/plugins
完结!现在去后台启用插件就可以了
以后直接上传压缩包就能用主题和插件了
注意:这里还有坑,上传的文件解压后安装无法使用,可能需要进入容器更改文件夹名,具体请看插件的README文档
typecho论坛:http://forum.typecho.org/index.php
typecho爱好者:https://qqdie.com/
这个真心很棒,确定就是很多要收费
轻量级RSS阅读器
https://www.moerats.com/archives/948/
解锁网易云灰色歌曲
https://www.moerats.com/archives/938/
firefoxsend
https://www.moerats.com/archives/920/
私有内网映射工具
https://github.com/khvysofq/proxyer
cloudreve
私有网盘搭建
https://hub.docker.com/r/xavierniu/cloudreve
只要把这几步做了就ok了
暂时就这些,如果有好的项目可以在评论区留言