测试环境 61.183.247.105
- 安装 还是可以使用ubuntu的安装脚本安装,这个安装脚本比以前做的好一些了,没什么bug,但是不能在virtualenv下面安装,否则包找不到,这个后面可以研究一下如何处理
- 安装好之后实际是可以使用的
- 如果要修改前台页面,需要重新进行npm build 。 方法就是首先到版本的目录,然后执行
npm run install
。执行npm install
的时候记得最好把github的hosts配上,不然可能下不到会失败。然后完成后再执行npm run build
就可以把前端build出来了,build的内容会在clinet/dist目录下。如果要修改文件需要重新build才可以生效。supervisor使用的是dist文件夹。 - 如果执行一次npm install 失败,不要修改后继续执行,最好先删除npm文件,首先
rm -rf node_modules
然后再执行npm install
。
可以研究一下要搞的几个东西
- 开发环境配置——整理一个更好的python开发环境模式
- 尝试把echarts插件引入到visualization组件中去
- docker配置
- 整理成docker开发环境
开发环境整理
- 可以按照安装脚本整理一套,然后自己手动启动webserver 、Celery、webpack,把这三个搞好可以试着跑起来,按照安装的模式来整理开发环境
开发梳理
redash 使用了 flask、 angularJS
redash 代码结构研究
- client —— 存储所有的前台内容
- app —— 存放所有的前台源码,包含HTML、js
- assets/ —— 存放所有的css、fonts、images
- components/ —— 大部分组件的页面都存放在这里。这里和pages的区别是这里大多存的是一些公共组件,而不是主题页面
- config/ ——存放基本配置,包含angularJS总路由,样式表文件配置等
- directives/ —— 基本配置统一放在这里
- filters/
- lib/
- pagination/ —— 分页组件
- sortable/ —— 排序组件
- visualizations —— 可视化插件
- pages/
- admin/ ——首页用户名下面的system status页面的Admin管理页面,包含system status系统状态、queries queue查询队列、outdated queries过期查询队列。
- alert/ ——首页菜单alert页面
- alerts-list/
- dashboards/
- data-sources/
- destinations/
- groups/
- home/
- queries/
- queries-list/
- query-snippets/
- users/
- services/ —— 相应的js服务部分
- visualizations/ —— 可视化相关部分
- dest —— 存放所有的webpack打包后的页面内容
- app —— 存放所有的前台源码,包含HTML、js
- migration —— 存放所有的数据库更新内容
- redash —— 存储redash的后端部分,所有的py文件都在这里面,这里的话最好还是要详细研究一下flask在来修改,跟django还是有一些区别的。
- test —— 存储测试内容
从词云组件开始研究visualization
wordcloud
开发模式
redash也存在开发模式,实际上在package.json已经配置了,在webpack.config.js里面也进行了相关的配置
package.json里面的配置
"scripts": {
"start": "webpack-dev-server",
"build": "rm -rf ./client/dist/ && NODE_ENV=production node node_modules/.bin/webpack",
"watch": "webpack --watch --progress --colors -d"
},
start 用于 run start 来启动web pack服务。
build用于重新发布
watch用于开发环境下修改文件后的直接发布,所见即所得。
每次build的时间比较久,如果每次开发修改一点点都需要build的话,那将会很浪费时间,所以使用watch模式,每次有修改之后会自动进行发布和编译,并且响应速度较快。
使用的方法: npm run watch
运行启动后,修改相关文件会自动进行编译,只需要刷新页面就能生效,最好是强制刷新。
访问数据库
root@williiiam-dev:/opt/redash/redash.3.0.0.b3134# sudo -u redash psql
配置到navicat 远程连接
配置与连接
首先,在pgdata(也就是在安装pg时指定的存放数据的文件见中)文件夹中,找到pg_hba.conf文件,并写入下面的内容:
$ host all all 0.0.0.0/0 trust
接着,在pgdata文件夹中,找到postgresql.conf为文件,并修改下面的内容:
$ listen_addresses = '*' #允许任何的ip地址监听,并保存
最后,重新启动PostgreSQL数据库,然后在Navicat中进行连接配置,该步骤省略,相信使用过功该工具的读者都知道该怎么配置。
$ ${PG_HOME}/bin/pg_ctl restart -D ${PGDATA} #重新启动pg数据库