api-doc-manager
API文檔管理工具:
普通用戶可以瀏覽API接口陨仅,管理員用戶可以新增津滞、刪除、編輯API接口灼伤;
可以實現(xiàn)接口名稱触徐、接口描述、接口參數(shù)狐赡、接口輸出撞鹉、接口調(diào)用方式、接口GET/POST實時驗證颖侄、接口changelog等管理鸟雏;
工程基于flask,前端基于pure framework
運行環(huán)境
- python 2.7
使用方式
-
設(shè)置環(huán)境變量,開發(fā)/測試/生產(chǎn)分別為development/test/production
export DOC_CENTER_PROFILE=test;
-
安裝python及相關(guān)類庫(或運行setup.py)
linux:
先安裝python-devel 以CentOS為例:yum install python-devel
安裝程序運行的通用依賴庫
pip install requests Flask Flask-SQLAlchemy Flask-Script gunicorn gevent Pygments flask_assets beautifulsoup4
另外還需要安裝MySQLdb(依賴mysql-devel,如果系統(tǒng)中沒有安裝過mysql則需單獨安裝yum install mysql-devel)
linux
unzip MySQL-python-1.2.5.zip cd MySQL-python-1.2.5 python setup.py install
windows
通過下面的鏈接下載安裝(需要python的版本為2.7) http://www.codegood.com/archives/129
修改數(shù)據(jù)庫配置config.py
運行manage.py初始化數(shù)據(jù)庫
本地直接運行runserver.py
服務(wù)器部署
cd /usr/local/api_doc(請cd到工程目錄)
python setup.py install
gunicorn -c unicorn.py runserver:app &
- 如果你打算使用nginx
nginx可做如下設(shè)置:
location ~* ^/doc {
uwsgi_pass unix:/tmp/uwsgi.sock;
include uwsgi_params;
rewrite ^/doc(.*) http://xxx.xx.xx.xx:5000$1 last;
}
這樣你就可以通過http://domain or xxxx.xx.xx.xx/doc
訪問了
Changelog
- 新增管理員和普通用戶管理览祖,并分別賦予權(quán)限孝鹊,管理員登陸后可以進行增刪改查接口,接收用戶反饋信息展蒂;普通用戶登陸后可以關(guān)注接口更新又活,接收接口更新通知,提交接口問題等锰悼;
- 主題變更柳骄,好像更大氣一點哦;
- 新增更多便捷操作松捉。
TODO
- 計劃新增測試人員賬號和權(quán)限管理夹界;
- 計劃新增接口提交管理;
更新python及安裝pip
更新系統(tǒng)和開發(fā)工具集
更新指令
yum -y update
yum groupinstall -y 'development tools'
另外還需要安裝 python 工具需要的額外軟件包 SSL, bz2, zlib
yum install -y zlib-devel bzip2-devel openssl-devel xz-libs wget
源碼安裝Python 2.7.x
wget http://www.python.org/ftp/python/2.7.8/Python-2.7.8.tar.xz
xz -d Python-2.7.8.tar.xz
tar -xvf Python-2.7.8.tar
安裝詳情:
進入目錄:
cd Python-2.7.8
運行配置 configure:
./configure --prefix=/usr/local
編譯安裝:
make
make altinstall
檢查 Python 版本:
[root@dbmasterxxx ~]# python2.7 -V
Python 2.7.8
設(shè)置 PATH
為了我們能夠方便的使用Python隘世,我們需要設(shè)置系統(tǒng)變量或者建立 軟連接將新版本的 Python
加入到 path 對應(yīng)的目錄 :
export PATH="/usr/local/bin:$PATH"
or
ln -s /usr/local/bin/python2.7 /usr/bin/python
檢查
[root@dbmasterxxx ~]# python -V
Python 2.7.8
[root@dbmasterxxx ~]# which python
/usr/bin/python
安裝 setuptools
獲取軟件包
wget --no-check-certificate https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz
解壓:
tar -xvf setuptools-1.4.2.tar.gz
cd setuptools-1.4.2
使用 Python 2.7.8 安裝 setuptools
python2.7 setup.py install
安裝 PIP
curl https://bootstrap.pypa.io/get-pip.py | python2.7 -
修改pip源
國內(nèi)pypi源
https://pypi.mirrors.ustc.edu.cn/simple/
http://mirrors.aliyun.com/pypi/simple/
http://pypi.v2ex.com/simple
http://pypi.douban.com/
修改pip默認源
$ cat .pip/pip.conf
[global]
trusted-host = mirrors.aliyun.com
index-url = http://mirrors.aliyun.com/pypi/simple/
如果使用阿里云主機可柿,請用下面的地址: index-url = http://mirrors.aliyuncs.com/pypi/simple/
不加trusted-host會報下面的警告:
The repository located at mirrors.aliyun.com is not a trusted or secure host and is being ignored. If this repository is available via HTTPS it is recommended to use HTTPS instead, otherwise you may silence this warning and allow it anyways with ‘—trusted-host mirrors.aliyun.com’.