ShowDoc
1.1、ShowDoc简介
是什么 ?:一个开源的文档管理系统
开发语言:PHP
官方主页:https://www.showdoc.cc
源码仓库:https://github.com/star7th/showdoc
1.2、自己部署ShowDoc

step1、安装依赖

安装时PHPToolSetcomposer
运行时PHPToolSetnginx

step2、创建一个存放ShowDoc源代码的目录

mkdir -p /usr/local/var/www

step3、进入/usr/local/var/www目录

cd /usr/local/var/www

step4、使用composer下载ShowDoc源代码到当前目录中

composer create-project showdoc/showdoc

step5、修改如下文件具有写权限

chmod -R a+x showdoc/

step6、启动php-fpm服务

php-fpm

step7、在nginx.conf配置文件中增加如下配置

http {
    server {
        listen       8080;
        server_name  localhost;

        location ~ \.php$ {
            root           /usr/local/var/www;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }
    }
}

说明:

  • http { }表示此服务通过HTTP协议通信。
  • server { }表示这是一个独立的服务。
  • listen 8080表示该服务监听8080端口。
  • location ~ \.php$ { }用来匹配请求的URI中的path,这里表示path的后缀是.php都被匹配。
  • root /usr/local/var/www表示到该目录下找需要的资源,此目录就是我们ShowDoc源码的存放目录。
  • fastcgi_pass 127.0.0.1:9000表示将进入到该location内的请求转发到本机的9000端口,交由php-fpm处理。
  • fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name是动态添加了一行FastCGI配置, 配置的内容为SCRIPT_FILENAME,告知php-fpm它需要处理的脚本文件的具体路径, 由于我的nginx中只有fastcgi_params文件,没有fastcgi.conf文件, 所以要使php-fpm知道SCRIPT_FILENAME的具体值,就必须要动态的添加这行配置。
  • include fastcgi_params是引入FastCGI配置文件。

step8、启动nginx服务

nginx

step9、通过http://localhost:8080/showdoc/index.php进行访问

step10、点击OK按钮,出现如下界面

step11、点击进入网站首页链接,出现如下界面

至此,安装成功,可以开始使用了。

1.3、ShowDoc Docker Image

step1、创建一个存放数据的目录

mkdir -p ~/docker_volume/showdoc

step2、下载star7th/showdoc镜像,并使用它创建一个容器,并启动之

docker run -d --name showdoc -p 4999:80 -v ~/docker_volume/showdoc:/var/www/html/ star7th/showdoc

step3、如果是首次安装,也就是说~/docker_volume/showdoc目录是空的,您还需要执行下面的命令

docker exec showdoc cp -fr /showdoc_data/html /var/www/

step4、通过http://localhost:4999进行访问。接下来的步骤与上面的完全一样了。

1.4、自动生成Markdown

http://runapi.showdoc.cc是一个在线测试api的工具,能直接生成Markdown,只要将自动生成的Markdown代码复制到ShowDoc的编辑器中并保存,一篇文档就写好了。

当然,这个在线测试api的工具还是太简陋了,如果能像PostMan那样强大就好了, 不过,毕竟这是一个开源项目,要求也不要太高了。