1.为什么要标明是Windows环境
- 因为我习惯windows环境开发
- Redash的源码开发环境为linux下,在windows上运行源码会有水土不服的情况。
- linux下也可以看这个文。
2.Redash超简单介绍
前端部分
- 基于Webpac构建的angualr1.6单页面应用,可单独由Node启动,也可编译后,作为静态资源文件由python-Web使用。
服务端部分
- 站点采用Flask框架开发;Flask是一个Python中轻量级的Web应用框架,需单独启动WEB服务。
- 使用Redis+Celery作为分布式消息任务系统,需单独启动Celery服务和Redis服务。
- 使用Postgresql对象数据库存储数据,需启动Postgresql服务。
3.Redash开始部署
3.1 前端部分
# 1:进入Redash文件夹根目录,即package.json同目录层
# 2:安装需要包 这里非常容易出错,建议cnpm>yarn>npm尝试,需要install后没有提示error。
cnpm install 或者 yarn install 或者 npm install
# 3:启动项目,建议先build一次,使得python服务端独立启动时也能正常使用。
npm build (这里会各种报错!)
错误开始:
1: rm -rf指令找不到
因为:windows下不支持linux删除文件夹的指令。改用 rd /s /q 指令
/
2:NODE_DEV找不到
需安装 npm install cross-env后 在NODE_ENV 前面加上 cross-env
/
3:node_modules\.bin\webpack:2
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
SyntaxError: missing ) after argument list
/
因为windows下指令原因,也无法使用。需改造。
```
###### 最后package.json应长这样(需先 npm install cross-env)
{
"scripts": {
"clean": "rd /s /q \"client/dist\"",
"build": "npm run clean && cross-env NODE_ENV=production webpack --progress --hide-modules --config webpack.config.js",
},
}
注意:如果采用jenkies等远端编译发布形式,需注意操作系统哦。
###### 运行:
npm run start (启动8080)
#### 3.2 服务端部分:
##### 1.建议创建基于PY2.7的虚拟环境。
> 此步骤可省略,如果当前环境以及是py2.7
1:通过PyCharm创建 (但是Pycharm收费,我用VSCode,所以这个方法我不推荐。)可以通过 https://blog.csdn.net/weixin_42273374/article/details/84398006 查看办法。
**注意:该文章从调试章节起,我没有使用成功**
2:使用aconda。百度即可。
###### 2.安装依赖包
> 此步骤建议全部安装,免得后期麻烦
pip install -r requirements.txt -r requirements_all_ds.txt -r requirements_dev.txt -r requirements_dev.txt
###### 3.数据源配置
>因操作系统原因,无法直接使用.env做环境变量配置,所以直接在代码中修改默认值即可。
修改默认py文件: ./redash/setting/__init__.py中
#line:27 修改postgresql链接串
SQLALCHEMY_DATABASE_URI = os.environ.get("REDASH_DATABASE_URL", os.environ.get('DATABASE_URL', "postgresql://postgres:123456@127.0.0.1:5432/redash"))
#line:18 修改redis链接串
REDIS_URL = os.environ.get('REDASH_REDIS_URL', os.environ.get('REDIS_URL', "redis://localhost:6379/0"))
###### 4.检查变量配置
> 如遇到byte_type不存在问题,直接注释即可
python ./manage.py check_settings
###### 5.创建数据库表
python ./manage.py database create_tables
###### 6.启动 WEB服务
python ./manage.py runserver --debugger --reload
###### 7.启动任务队列服务
> celery的版本在4.0后,不支持windows操作系统。可参考https://www.distributedpython.com/2018/08/21/celery-4-windows/
#执行
celery worker --app=redash.worker --pool=eventlet -Qscheduled_queries,queries,celery -c2
### 运行效果:
>会现有一个step界面,输入完用户名和密码后即可
