备注
部署就是三步走,一步准备工作,一步安装依赖,一步配置运行。
1.1 CentOS
yum install -y gcc gcc-c++ python-devel libffi-devel openssl-devel mysql-devel
1.2 Ubuntu
apt-get install build-essential libmysqld-dev libssl-dev python-dev libffi-dev
2.1 开发版本
git clone https://github.com/staugur/IncetOps && cd IncetOps
2.2 稳定版本
暂无
3.1 开发所用python版本为2.7.x,其他版本未测试!
3.2 使用pip安装模块,执行
pip install -r requirements.txt
即可。
1.1 使用版本5.5、5.6+均可。
1.2 CentOS系列可以使用这个脚本,社区5.6版,执行命令
curl -fsSL https://static.saintic.com/download/scripts/yum_install_mysql56.sh | sh -
直接安装!1.3 启动mysql服务,导入sql
2.1 使用版本目前看没要求。
2.2 CentOS系列执行命令
yum install -y redis
应可安装。2.3 启动redis服务
1.1 GLOBAL段,主要是程序监听的IP和端口。
1.2
MYSQL段,必填,没有默认值,格式是mysql://host:port:user:password:database[?charset=utf8&timezone=+8:00]
,[]可省略保持默认
1.3
REDIS段,必填,没有默认值,格式是redis://[:password]@host:port/db
1.4 SSO段,passport客户端配置,必填,请转至 Passport文档-配置解析
如果只是临时测试,可以设置g.signin=True,方法:
程序里src/main.py,大概61行,将以下代码:
g.signin = verify_sessionId(request.cookies.get("sessionId"))
替换为
g.signin = True
1.5 SYSTEM段,HMAC_SHA256_KEY(变量名incetops_hmac_sha256_key)、AES_CBC_KEY(变量名incetops_aes_cbc_key)、JWT_SECRET_KEY(变量名incetops_jwt_secret_key)必须与passport中保持一致!
以设置系统环境变量为例,我是Linux环境,修改家目录的.bash_profile
,增加以下内容(记得source下):
# GLOABL
export REDIS_PRE="redis://@127.0.0.1:6379"
export MYSQL_PRE="mysql://localhost:3306:root:123456"
export PASSPORT_URL="http://passport.demo.com"
export HMAC_SHA256_KEY="xxxxxxxxxxxxxxxxxxxxxxx"
export AES_CBC_KEY="要求16个字符"
export JWT_SECRET_KEY="xxxxxxx"
export SIGN_ACCESSKEYID="xxxxxxx"
export SIGN_ACCESSKEYSECRET="xxxxxxx"
#IncetOps
export incetops_mysql_url="${MYSQL_PRE}:IncetOps"
export incetops_redis_url="${REDIS_PRE}/0"
export incetops_sso_app_id="app_id"
export incetops_sso_app_secret="app_secret"
export incetops_sso_server=$PASSPORT_URL
## SYSTEM段-SSO主要配置(要与Passport保持一致)
export incetops_hmac_sha256_key="${HMAC_SHA256_KEY}"
export incetops_aes_cbc_key="${AES_CBC_KEY}"
export incetops_jwt_secret_key="${JWT_SECRET_KEY}"
3.1 开发环境执行命令python main.py
,输出下面内容基本是没问题了:
* Running on http://0.0.0.0:16000/ (Press CTRL+C to quit)
* Restarting with stat
* Debugger is active!
* Debugger PIN: 193-386-021
3.2 正式环境
sh online_gunicorn.sh start #启动
sh online_gunicorn.sh status #查看启动状态
3.3 启动队列
注意:3.1、3.2仅仅运行了web进程,执行任务还需要启动rq进程,方法是:
sh online_rq.sh start #启动
sh online_rq.sh status #查看启动状态
PS. 当然报错的话,那就再研究研究,Google、Baidu,QQ群讨论都行。
配置文件中GLOBAL段Host、Port分别指定了监听地址和端口,默认监听0.0.0.0:16000,即全网访问,你可以通过修改配置文件或环境变量(incetops_host、incetops_port)更改默认参数。