维基知识库系统Wiki.js本地Linux环境部署并配置公网地址远程访问

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。
img

  • 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老
  • 导航
    • 檀越剑指大厂系列:全面总结 java 核心技术,jvm,并发编程 redis,kafka,Spring,微服务等
    • 常用开发工具系列:常用的开发工具,IDEA,Mac,Alfred,Git,typora 等
    • 数据库系列:详细总结了常用数据库 mysql 技术点,以及工作中遇到的 mysql 问题等
    • 新空间代码工作室:提供各种软件服务,承接各种毕业设计,毕业论文等
    • 懒人运维系列:总结好用的命令,解放双手不香吗?能用一个命令完成绝不用两个操作
    • 数据结构与算法系列:总结数据结构和算法,不同类型针对性训练,提升编程思维,剑指大厂

非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。💝💝💝 ✨✨ 欢迎订阅本专栏 ✨✨

博客目录

    • 前言
    • 1. 安装 Docker
    • 2. 获取 Wiki.js 镜像
    • 3. 本地服务器打开 Wiki.js 并添加知识库内容
    • 4. 实现公网访问 Wiki.js
    • 5. 固定 Wiki.js 公网地址

前言

本文将介绍如何在 Linux 系统用 Docker 容器技术部署 Wiki.js 应用程序,并且结合 cpolar 内网穿透工具发布至公网实现远程共享知识库。

不管是在企业中还是在自己的个人知识整理上,我们都需要通过某种方式来有条理的组织相应的知识架构,那么一个好的知识整理工具是非常重要的,今天推荐一款维基知识库系统——Wiki.js。

Wiki.js 是一个高度可定制 Wiki 平台,用 Node.js 编写,支持 Markdown 以及 HTML 文档。Docker 容器技术可帮助我们简化部署过程,提高应用程序的可移植性和可扩展性。

1. 安装 Docker

本文演示环境:CentOS 7 使用 Xshell7 进行 SSH 操作

如没有安装 Docker,需先安装 Docker

curl -fsSL https://get.docker.com | bash -s docker

本篇文章使用 Docker Compose 实现 Wiki.js 的一键部署,输入下方命令显示版本号即为安装成功。

docker compose version

2. 获取 Wiki.js 镜像

Docker 中镜像是一个只读模板,可创建 Docker 容器,Wiki.js 官方提供了预构建 Docker 镜像,我们可直接从 Docker Hub 中拉取。

首先创建一个 dockers-compose.yml 文件

mkdir compose

进入目录中

cd compose/

编写 docker-compose.yml 文件内容,复制以下内容(注意容器的用户名密码和数据库的要一致)

version: "3"
services:db:image: postgres:15-alpineenvironment:POSTGRES_DB: wikiPOSTGRES_PASSWORD: wikijsrocksPOSTGRES_USER: wikijslogging:driver: "none"restart: unless-stoppedvolumes:- db-data:/var/lib/postgresql/datawiki:image: linuxserver/wikijsdepends_on:- dbenvironment:DB_TYPE: postgresDB_HOST: dbDB_PORT: 5432DB_USER: wikijsDB_PASS: wikijsrocksDB_NAME: wikirestart: unless-stoppedports:- "3000:3000"volumes:db-data:

保存配置文件后,执行下面的命令即可部署 Wiki.js:

docker compose up -d

3. 本地服务器打开 Wiki.js 并添加知识库内容

打开一个新的浏览器,输入本机 IP:3000,进行初始配置

输入管理员的邮箱、密码,访问地址,设置是否匿名反馈使用情况

44efc85dffffbf33056abb492824a22

创建完成后跳转到登录页面,输入刚才创建的管理员账号密码登录,出现下方界面,点击ADMINISTRATION 进入后台

image-20240117102432578

进入后台界面后,点击 Local 选择语言,下载语言包,选择 Chinese Simplified,最后点击右上角 APPLY

30fefb99d81a9ebb8a829267aa36435

2f56f1c04cd55a81123f165445b9694

切换至首页,创建主页内容。这里可以选择使用何种编辑器来创建,这里我们以 Markdown 为例:

23dab212223a307afc94f5592fdace8

a367c9910c474fb66247f86675f7a32

接下来,我们创作第一篇文章,先设置页面属性,重点设置标题、路径,填写完成后点击右上角的 OK

5e2313e581d1b94baeaefe815a05d45

填写好内容后点击右上方的创建

ef6327d9d4b510aad0ac21e97cbd71b

返回到主页,可以看到刚创建的文章内容

fcc276b8257d2147caa14f3a63b8f20

这样我们就在本地使用 Docker 搭建了一个 wiki 的知识库系统,但是目前仅限于本地的访问,如果我们想把创作好的文章内容发给身边的朋友查看,或者需要进行异地访问创作等,接下来我们就可以结合 cpolar 内网穿透将搭建好的知识库发布至公网进行远程访问。

4. 实现公网访问 Wiki.js

上面在本地 Docker 中成功部署了 Wiki.js,并局域网访问成功,下面我们在 Linux 安装 Cpolar 内网穿透工具,通过 Cpolar 转发本地端口映射的 http 公网地址,我们可以很容易实现远程访问,而无需自己注册域名购买云服务器.下面是安装 cpolar 步骤

cpolar 官网地址: https://www.cpolar.com

  • 使用一键脚本安装命令
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
  • 向系统添加服务
sudo systemctl enable cpolar
  • 启动 cpolar 服务
sudo systemctl start cpolar

cpolar 安装成功后,在外部浏览器上访问 Linux 的 9200 端口 即:【http://局域网 ip:9200】,使用 cpolar 账号登录(如没有账号,可以点击下面免费注册),登录后即可看到 cpolar web 配置界面,接下来在 web 管理界面配置即可

70af51474ff7d5e96b7b16320deeb19

接下来配置一下 Wiki.js 的公网地址,

登录后,点击左侧仪表盘的隧道管理——创建隧道,创建一个 Wiki.js 的公网 http 地址隧道!

  • 隧道名称:可自定义命名,注意不要与已有的隧道名称重复
  • 协议:选择 http
  • 本地地址:3000 (本地访问的地址)
  • 域名类型:免费选择随机域名
  • 地区:选择 China Top

点击创建

42b2169efb30f4a869b501a57d25cf3

隧道创建成功后,点击左侧的状态——在线隧道列表,查看所生成的公网访问地址,有两种访问方式,一种是 http 和 https

3ed1659e08dae3d81f66d607487d050

使用上面的 Cpolar https 公网地址,在任意设备的浏览器进行访问,即可成功看到 Wiki.js 界面,这样一个公网地址且可以远程访问就创建好了,使用了 cpolar 的公网域名,无需自己购买云服务器,即可发布到公网进行远程访问!

2f23b62ee2561f468f0e84e15fff13b

小结

如果我们需要把创作的 WIki 知识库长期发布至公网,分享给别人查看,由于刚才创建的是随机的地址,24 小时会发生变化。另外它的网址是由随机字符生成,不容易记忆。如果想把域名变成固定的二级子域名,并且不想每次都重新创建隧道,可以选择创建一个固定的 http 地址来解决这个问题。

5. 固定 Wiki.js 公网地址

我们接下来为其配置固定的 HTTP 端口地址,该地址不会变化,方便分享给别人长期查看你的博客,而无需每天重复修改服务器地址。

配置固定 http 端口地址需要将 cpolar 升级到专业版或以上。

登录 cpolar 官网,点击左侧的预留,选择保留二级子域名,设置一个二级子域名名称,点击保留,保留成功后复制保留的二级子域名名称

a8729751a28ddf91cfabe4b970d8f99

保留成功后复制保留成功的二级子域名的名称

image-20240117110603218

c6ed8830bb4de5b55bc48ecc1852b5b

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名

点击更新(注意,点击一次更新即可,不需要重复提交)

2c0719467d10bbf16fdd9bfab36e6ff

更新完成后,打开在线隧道列表,此时可以看到公网地址已经发生变化,地址名称也变成了固定的二级子域名名称的域名

d500c93b7e8bc3c1e03fa1d1a098c17

最后,我们使用固定的公网 https 地址访问,可以看到访问成功

4616fdb120fe8ff1f781e212d6d067e

这样一个固定且永久不变的公网地址就设置好了,成功实现了在异地我们也可以进行远程创作,并且随时随地都可以把 Wiki 知识库分享给其他人了!

觉得有用的话点个赞 👍🏻 呗。
❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄

💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍

🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

img

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/401072.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Web3与医疗健康:去中心化技术在医疗行业的应用前景

随着区块链技术和去中心化理念的兴起,Web3作为新一代互联网技术正逐渐影响各个行业。在医疗健康领域,Web3技术的应用前景引起了广泛关注。本文将探讨Web3如何通过去中心化技术提升医疗健康行业的效率、透明度和安全性,并分析其在实际应用中的…

无线领夹麦克风哪个品牌音质最好?领夹麦克风十大品牌推荐

在当下自媒体盛行的时代,无线领夹麦克风无疑是每位创作者追求高质量音频的必备工具。它不仅解放了双手,让拍摄更加自由灵活,更以其出色的音质表现,成为直播、Vlog制作中的关键角色。面对市场上琳琅满目的品牌与型号,许…

鸿蒙「TaskPool|Worker」多线程并发使用详解,这一篇足够!

概念介绍 鸿蒙的多线程并发TaskPool和Worker,他们具有相同内存模型,线程间隔离内存不共享。在项目中若使用到,有几个较重要的条件或特点这里简单作出列举。 CPU密集型任务,说白了是计算型耗时任务; I/O密集型任务&…

美国消费者信心下滑与金属市场动向

消费者信心降至低点 根据密歇根大学的消费者信心指数,美国7月份的消费者信心跌至8个月来的最低水平。尽管技术上美国并未陷入经济衰退,但Affirm调查显示,大约60%的美国人认为经济处于衰退状态。Gallup的调查也发现,三分之一的美国…

《Ubuntu22.04环境下的ROS2学习笔记2》

一、在ROS2环境下创建功能包 如果您已经完成了上一小节的内容,那么接下来您一定渴望自己创建一个功能包来实现相应的功能。在ROS1中,您创建的功能包可以既写C/C,又写python,但ROS2中不允许用户这么做,您的C/C和python代…

uniapp 中 web-view 向 App 传递消息

web-view向App传递消息 引入官方库 在web项目中引入官方库 uni.webview.1.5.4.js ,可以从uniapp官方示例库中下载,下载后放入web项目目录下即可,本文放在js文件夹中,然后在web项目页面中引入。 官网对于uni-app使用web-view的介…

WebDeveloper:1靶机

端口扫描 靶机ip地址为192.168.153.158 目录扫描 访问80端口 拼接访问 /ipdata 发现了一个流量包 放在 wireshark 查看,找到 账号密码 账号:webdeveloper 密码:Te5eQg&4sBS!Yr$)wf%(DcAd 拼接 /wp-login.php 找到登录框 登录成功 找…

安卓TV入门项目

android studio创建tv项目 下载android studio点此下载 配置环境变量: d盘新增Android文件夹,创建android-avd和android-sdk文件夹 环境变量名称:ANDROID_HOME 环境变量值:D:\Android\android-sdk 环境变量名称:ANDRO…

海外媒体发稿:法新社发稿7种吸引住读者的文章标题

写一篇科谱详细介绍文章内容在现代的媒体环境中,吸引住读者成为了一个重要的考验。彭博社做为国际知名的财经资讯组织,经过多年实践活动总结出七种吸引住读者的差异表达形式。本文将对这七种形式进行科谱详细介绍,可以帮助读者更好地了解并应…

星地多网融合调度平台:高效融合,智慧救援

在应急救援领域,通信的畅通无阻是保障救援行动成功的关键。然而,面对复杂多变的救援环境和多样化的通信需求,传统的通信系统往往难以满足现代应急救援的高标准要求。为了克服这些挑战,星地多网融合调度平台应运而生,它…

MySQL-进阶篇-索引

文章目录 1. 准备工作2. 索引概述2.1 什么是索引2.2 索引的优缺点 3. 索引的结构3.1 索引结构介绍3.2 二叉树3.3 BTree3.4 BTree3.5 MySQL 中的 BTree3.6 Hash3.7 思考题:为什么 InnoDB 存储引擎选择使用 BTree 索引结构 4. 索引的分类5. 索引的语法5.1 创建索引5.2…

数字营销中的人工智能 --- 完整指南 (By Hubspot)

原文作者:Rebecca Riserbato 原文发布日期:2024年3月7日 翻译和编辑:数字化营销工兵 【引言】 ChatGPT和谷歌巴德已经加入聊天。如果你还没有加入数字营销中关于人工智能(AI)的对话,你就错过了这个营销…

ElasticSearch数据建模

文章目录 如何处理关联关系避免过多字段避免正则/通配符/前缀查询避免空值引起的聚合不准为索引的Mapping加入Meta 信息 如何处理关联关系 Object: 优先考虑反范式(Denormalization) Nested: 当数据包含多数值对象,同时有查询需求 Child/Pa…

宝塔面板如何修改域名和网站名

目录 前言修改域名修改网站名 前言 BT宝塔面板是一款安全高效的服务器运维平台,windows和Linux系统都可以使用,安装也简单,相信很多开发者都在用它。 但当我们创建的网站需要更换新的域名,面板中的网站名官方却没有给修改的地方&…

DETR论文,基于transformer的目标检测网络 DETR:End-to-End Object Detection with Transformers

transformer的基本结构: encoder-decoder的基本流程为: 1)对于输入,首先进行embedding操作,即将输入映射为向量的形式,包含两部分操作,第一部分是input embedding:例如,在NLP领域&…

动作捕捉与数字人实时交互实训室解决方案:赋能数字人微专业实践课程

随着近年来虚拟现实技术产业与元宇宙数字人产业不断发展,就业市场对元宇宙、影视动画、游戏、艺术创作、舞台特效、虚拟数字人、虚拟主播等行业具备相关技能人才的需求增加,面向数字媒体艺术设计、影视多媒体技术、广告设计与制作、电子商务、广播电视新…

【论文阅读】BoT-SORT: Robust Associations Multi-Pedestrian Tracking

题目:BoT-SORT: Robust Associations Multi-Pedestrian Tracking 作者:Nir Aharon* Roy Orfaig Ben-Zion Bobrovsky motivation: 作者来得很直接,就说他们用相机运动模型和优化卡尔曼做了个可以解决具有挑战的跟踪问题的算法:BOT-SORT;说他们…

Ubuntu22.04安卓编译环境搭建及so库编译

1.配置Android-ARM64开发环境工具链: vim ~/.profile 或者 ~/.bashrc 或者 /etc/profile 编辑环境变量文件 输入下面内容 export CROSS_TRIPLE=aarch64-linux-android export CROSS_ROOT=/usr/${CROSS_TRIPLE} export ANDROID_NDK=${CROSS_ROOT} export AS=${CROSS_ROOT}…

【人工智能】数据集合集!

本文将为您介绍10个经典、热门的数据集,希望对您在选择适合的数据集时有所帮助。 点击蓝字 关注我们 1 Habitat Platform 发布方: Facebook AI Research西蒙菲莎大学佐治亚理工学院Facebook Reality LabsIntel LabsUniversity of California, Berkeley…

20条项目经理成功经验,助你玩转项目管理软件

项目管理软件是现代项目管理不可或缺的工具,但仅仅掌握软件操作并不足以让你成为一名成功的项目经理。你需要的是经验和技巧,将软件的功能与实际项目管理相结合,才能真正发挥其优势。本文将分享20条项目经理成功经验,助你玩转项目…