服务器与网站部署知识体系目录
我们先在本地运行体会与获取 docsify 结构,后面再部署到服务器上运行。部署一个个人知识库只需要按照本文的指令直接
cv
即可。但请注意打开服务器防火墙的 80 端口。
Docsify即时生成您的文档网站。与 GitBook 不同,它不会生成静态 html 文件。相反,它会智能地加载和解析您的 Markdown 文件,并将它们显示为网站。
docsify官网
docsifyjs/docsify: A magical documentation site generator. (github.com)
docsify中文文档
下载地址:Node.js (nodejs.org)
下载完成之后双击安装包,即可进行安装。安装完成之后,我们打开 cmd 验证一下安装状态。
node -v
# 1.安装
npm install -g docsify-cli
# 2.校验成功,查看版本
docsify -v
在这里我新建了一个名为 knowledgeBase
的文件夹。
在 knowledgeBase
文件夹下 cmd 进行初始化:
docsify init
在 knowledgeBase 文件下执行:
docsify serve
访问:http://localhost:3000
这里只列举部分,更多操作前往官方文档:docsify文档
实际上,你只需要修改 knowledgeBase 文件夹下的 README.md
文件即可。因为实际上,README.md 就是展示的内容。例如将该文件修改为如下内容,修改完成后记得先保存再访问::
# 1.我卑微的喜欢过你
从前我觉得,爱一个人就是要在一起,所以百分百的付出,不遗余力地挽回,最后彻彻底底的受伤。知道后来我才明白,爱不是一个人的死撑到底,而是两个人的一起努力,我可以很爱你,也可以没有你。
# 2.我还记得你
我在想,一年后,两年后,五年后,十年后,三四十年后我们会是什么样子呢?
我希望好多好多年后,我还能再遇见你。你白发苍苍,我还是会走向你。我会告诉你,**我还记得你**。
再次查看界面:
在 knowledgeBase 文件夹下的 index.html
文件中进行修改:
<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/docsify@4/lib/themes/vue.css">
官方主题地址:docsify CDN by jsDelivr - A free, fast, and reliable Open Source CDN
我们可以测试修改为 dark.css
样式,修改完成后记得先保存再访问:
<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/docsify@4/lib/themes/dark.css">
在 knowledgeBase 文件夹下的 index.html
文件中进行修改:
保存修改后再次访问:
这是一个空白的封面,我们需要设置封面内容。
在 knowledgeBase 文件夹下新建一个 _coverpage.md
文件,编写markdown内容并保存:
# 我爱过你
[**开启阅读**](README.md)
注意这个 [**开启阅读**](README.md)
是一个相对路径的链接,会直接帮我们跳转到 README.md
的内容显示路径。
点击这个 开启阅读 链接后,会跳转到 README.md 内容路径,想要再次回到上图的主意,在 README.md
文件中加上这样一句:
[**回到主页**](http://localhost:3000)
在 knowledgeBase 文件夹下的 index.html
文件中进行修改:
此时在主页上依旧没有导航栏,我们需要在 knowledgeBase 文件夹下新建一个 _navbar.md
文件,可以编写如下内容并保存:
- **学习导航**
- [**哔哩哔哩**](https://www.bilibili.com/)
- [**GitHub中文社区**)](https://www.githubs.cn/post/what-is-github)
- **镜像仓库**
- [**Docker官方镜像中心**](https://hub.docker.com/)
- [**Maven官方镜像仓库**](https://mvnrepository.com/)
安装yum-utils
sudo yum install -y yum-utils
从国内服务器上下载docker
sudo yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
安装docker
sudo yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
验证是否成功
sudo docker --version
安装需要的包
sudo apt-get update
安装依赖包
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common
添加 Docker 的官方 GPG 密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
设置远程仓库
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
安装 Docker-CE
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
验证是否成功
sudo docker --version
国内镜像中心常用的为阿里云与网易云,选择其中一个加速器进行配置即可。在本地 Docker 中指定要使用的国内加速器地址后,就可以直接从国内镜像中心下载镜像了。
若要配置阿里云加速器,必须首先要有阿里云的账号。登录阿里云后,打开阿里云的容器镜像服务页面 https://cr.console.aliyun.com ,然后找到如下页面,可以查看到你的 registry-mirrors
sudo mkdir -p /etc/docker
注意,该 json 数据中的 URL 地址是与用户登录账号绑定的,不同的用户所生成的地址是不同的。
sudo vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://******.mirror.aliyuncs.com"]
}
sudo systemctl daemon-reload
sudo systemctl restart docker
配置网易云加速器,无需注册网易云用户。只需将前面的 daemon.json 文件中的那个URL 替换为如下 URL 即可。
{
"registry-mirrors": ["http://hub-mirror.c.163.com"]
}
当然,替换过后,仍需重新加载服务配置文件,重启 docker 引擎。
# 1.创建多级目录
sudo mkdir -p /knowledgebase/nginx/conf/ /knowledgebase/nginx/html/service/
# 2.创建 nginx.conf 文件
sudo vim /knowledgebase/nginx/conf/nginx.conf
#user root;
error_log /var/log/nginx/error.log notice;
worker_processes 1;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
# 可进行域名绑定
server_name localhost;
location / {
root html/service;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
我们在windows本地运行时,在 knowledgebase 目录下的文件:
我们将这五个文件全部上传到 /knowledgebase/nginx/html/service/ 目录下:
sudo docker run --name knowledgenginx \
-v /knowledgebase/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /knowledgebase/nginx/html/service:/etc/nginx/html/service \
-p 80:80 \
-d nginx:1.23.4
注意需要打开服务器防火墙 80 端口。
访问:http://【服务器ip】