Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
164 lines (106 sloc) 4.26 KB

部署安装

Note

部署就是三步走,一步准备工作,一步安装依赖,一步配置运行。


一、开始准备

1. 安装软件

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.下载代码

2.1 开发版本 git clone https://github.com/staugur/IncetOps && cd IncetOps

2.2 稳定版本 暂无

3. Python模块

3.1 开发所用python版本为2.7.x,其他版本未测试!

3.2 使用pip安装模块,执行pip install -r requirements.txt即可。

二、安装依赖

1.MySQL

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.Redis

2.1 使用版本目前看没要求。

2.2 CentOS系列执行命令yum install -y redis应可安装。

2.3 启动redis服务

三、配置运行

1.配置文件解析

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客户端配置,必填,请转至 :ref:`Passport文档-配置解析 <passport-config-parse>`

如果只是临时测试,可以设置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中保持一致!

2. 配置文件示例

以设置系统环境变量为例,我是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. 运行

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群讨论都行。

4. 访问

配置文件中GLOBAL段Host、Port分别指定了监听地址和端口,默认监听0.0.0.0:16000,即全网访问,你可以通过修改配置文件或环境变量(incetops_host、incetops_port)更改默认参数。

You can’t perform that action at this time.