主要参考 b 站 CodeSheep 前辈的部署视频进行搭建,视频链接
原计划在学校局域网内部署自己的知识库网站,后由于网络安全考虑关闭了此网站,遗留经验文一篇
使用 docsify + Nginx 在 Ubuntu 上进行搭建,截至发文 docsify 官网已经无法访问(见下文 220517 官方 cdn 被攻击),配置过程仍然可行
frp 事小,校园网被攻击事大,个人笔记搭建后还是自己用内网自己访问为好,不要随意宣扬 ip 为好
此文不涉及 ssl 证书配置内容,不建议在公网完成此流程
使用 docsify 启动本地网站
sudo apt-get install node.js -y sudo apt-get install npm -y nodejs -v npm -v sudo npm install -g docsify-cli docsify -v mkdir NodeRepository cd NodeRepository docsify init docsify serve
docsify 在执行 docsify init
后将在该文件目录下生成两个文件分别为 index.html
与 README.md
文件,docsify 将将会把 markdown 文件渲染成网页后进行显示,因此只要更新 Markdown 的内容即可更新网站的内容(同步更新,不需要手动刷新网页)
index.html
中包含有 <link rel="stylesheet" ...>
的样式表设置引用,将末尾的 vue.css
修改成对应的官方主题即可,默认可使用的主体包括 vue.css / buble.css / dark.css / pure.css / dolphin.css
欢迎来到 TYNTL 的知识库 ## @TYNTL [**README**](README.md)
window.$docsify = { name: '', repo: '', coverpage: true }
- 编程相关 - Linux - 琐事小记 - [**摘抄**](摘抄.md)
window.$docsify = { name: '', repo: '', coverpage: true, loadNavbar: true }
使用 nginx 配置网站
sudo apt-get install nginx -y nginx -v /usr/sbin/nginx /etc/nginx /usr/share/nginx /var/log/nginx cd /etc/nginx/sites-available sudo cp default default.backup root /home/tyntl/Desktop/NodeRepository; add_header Cache-Control "no-cache, no-store"; sudo nginx -s reload systemctl status nginx
下载 docsify-cli 时产生报错提示
- 利用 npm 下载 docsify-cli 时产生报错提示
npm WARN lifecycle docsify@4.12.2~postinstall: cannot run in wd %s %s (wd=%s) docsify@4.12.2 opencollective-postinstall /usr/local/lib/node_modules/docsify-cli/node_modules/docsify npm WARN optional Skipping failed optional dependency /docsify-cli/chokidar/fsevents: npm WARN notsup Not compatible with your operating system or architecture: fsevents@2.3.2 npm WARN node-fetch@2.6.7 requires a peer of encoding@^0.1.0 but none was installed. npm WARN ws@7.5.7 requires a peer of bufferutil@^4.0.1 but none was installed. npm WARN ws@7.5.7 requires a peer of utf-8-validate@^5.0.2 but none was installed.
关于配置后修改文件内容无法同步更新网页
以下为引用的原文
博主,你好。我和你使用同样的方法,在centos7上完成知识库的搭建。但是后续我发现修改md文件无法更新网页,即便替换其他md文件,nginx刷新出的页面仍然是最初的。这是什么情况,你们平时更新网站内容是直接修改md文件吧?
这个是由于浏览器会对静态网页进行缓存,你需要清楚下缓存,或者F12开发者模式下禁用缓存即可。我也遇到过
server { listen 80; server_name localhost; location / { root /usr/local/wiki; index index.html index.htm; add_header Cache-Control "no-cache, no-store"; } }
220517 官方 CDN 被攻击及解决办法
CDN
Content Delivery Network
内容分发网络
解决方法为临时性的,若需要永久保持可以将对应的script
下载到本地后再进行静态引用
昨晚发现网站挂了,原以为是主机又挂了,检查 F12 后发现网站的 CDN 获取出现问题,尝试访问 docsify 官网发现官网也连带挂了,到 github.com/docsifyjs/docsify
看到不止一条 issues 谈论此事,路过 docsify-cli
内有人说中国的默认 docsify CDN 的 DNS 遭到攻击无法正常访问,故寻求解决办法
在 Gitee 上下载 docsify 的源码后,查阅帮助手册后发现 docs/CDN.md
有配置备用的 CDN 链接,将其依次尝试修改 index.html
后改为以下配置保证基本功能正常使用,插件暂时关闭等待解决方案
<link rel="stylesheet" type="text/css" href="https://cdn.bootcdn.net/ajax/libs/docsify/4.12.2/themes/vue.css"> <script src="https://cdn.bootcdn.net/ajax/libs/docsify/4.12.2/docsify.js"></script>
220530 追加插件
- 剪贴板
<script src="https://cdnjs.cloudflare.com/ajax/libs/docsify-copy-code/2.1.1/docsify-copy-code.min.js"></script>
- 字数统计 & 阅读预计
<script> window.$docsify = { count: { countable:true, fontsize:'0.9em', color:'rgb(90,90,90)', language:'chinese' } } </script> <script src="https://unpkg.com/docsify-count/dist/countable.js"></script>
原文链接:https://blog.csdn.net/qq_38417528/article/details/125049025?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165934461816781818779766%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=165934461816781818779766&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~times_rank-3-125049025-null-null.nonecase&utm_term=%E6%90%AD%E5%BB%BAcdn
原创文章,作者:优速盾-小U,如若转载,请注明出处:https://www.cdnb.net/bbs/archives/5857