MinDoc 是一款使用Go语言开发的文档系统,支持Markdown排版,可用于个人Wiki知识库或接口文档管理,部署过程也比较简单,在此分享并记录一下。
下载
访问https://github.com/lifei6671/mindoc/releases下载最新版本并解压,以下命令供参考,请根据实际情况调整。
#创建一个目录
mkdir mindoc && cd mindoc
#下载二进制包
wget https://github.com/lifei6671/mindoc/releases/download/v0.9/mindoc_linux_amd64.zip
#解压
unzip mindoc_linux_amd64.zip
配置数据库
MinDoc支持Mysql或Sqlite3数据库,xiaoz是个人使用,需求量不大,Sqlite3完全胜任要求,如果是团队使用可以考虑使用Mysql。修改conf/app.conf
配置文件,将以下Mysql信息注释。
db_adapter=mysql
db_host=127.0.0.1
db_port=3306
db_database=mindoc_db
db_username=root
db_password=123456
并取消Sqlite3的注释
adb_adapter=sqlite3
db_database=./database/mindoc.db
安装
输入命令./mindoc_linux_amd64 install
初始化数据库,当看到“Install Successfully!”说明安装成功,如果报错,请根据报错提示进行排查。
运行与访问
继续输入命令./mindoc_linux_amd64
来启动MinDoc,看到下面的提示说明启动成功,输入http://IP:8181
进行访问
如果访问不了,注意防火墙/安全组等放行8181端口,Firewalld放行命令如下:
firewall-cmd --zone=public --add-port=8181/tcp --permanent
firewall-cmd --reload
访问http://IP:8181
可以打开了,默认用户名为admin
,密码123456
,请登录后修改。
如果您希望Mindoc在后台常驻运行,请输入nohup ./mindoc_linux_amd64 &
来替代上面的启动命令。
设置域名访问
通过http://IP:8181
这样的方式访问显然不太友好也不便于记忆,可以使用Nginx反向代理绑定域名访问,以下Nginx配置供参考:
server {
listen 80;
server_name doc.xiaoz.me;
access_log /data/wwwlogs/doc.xiaoz.me_nginx.log combined;
charset utf-8;
location / {
try_files /_not_exists_ @backend;
}
location @backend {
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
#此处配置 MinDoc 程序的地址和端口号
proxy_pass http://127.0.0.1:8181;
}
}
总结
MinDoc支持Memcache、Redis缓存来提高速度,具体可参考官方文档配置。如果觉得麻烦的,还有Gitbook/看云等现成的文档工具可选择。
项目主页:https://github.com/lifei6671/mindoc
演示:http://doc.iminho.me/
此文部分内容参考了:Linux 下安装和配置 MinDoc