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界面,輸入完用戶名和密碼后即可
