Centos8内置的Python为3.6.8版本,以下是在内置Python3.6.8基础上的安装步骤。由于安装多版本Python会导致系统底层库需要下载源码重新编译,比较麻烦,不建议在多版本Python环境下安装Redash中文版。

本地安装Redash中文版

1、初始化

改国内源:
cd /etc/yum.repos.d/
sudo rm -f CentOS-Base.repo CentOS-AppStream.repo CentOS-PowerTools.repo CentOS-centosplus.repo CentOS-Extras.repo
sudo curl -o CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-8.repo
sudo yum makecache 更新系统包:
sudo yum update 安装常用包:
sudo yum -y install gcc gcc-c++ kernel-devel make zlib zlib-devel libffi-devel openssl-devel git 当前用户添加到root组:
sudo usermod -aG root 当前centos用户名 2、安装PostgreSql9.6 安装PostgreSql9.6初始化并配置为系统启动时自动启动:
sudo dnf install @postgresql:9.6
sudo dnf install postgresql-contrib
sudo yum install postgresql-devel
sudo postgresql-setup initdb
sudo systemctl enable --now postgresql 登录Postgresql:
sudo -u postgres psql 更改postges密码:
alter user postgres with password '密码'; 创建角色:
create role 当前centos用户名; 赋予登录权限:
alter role 当前centos用户名 login; 退出postgresql终端:
\q 3、安装Redis sudo yum install redis
sudo systemctl start redis
sudo systemctl enable redis.service 4、安装Nodejs sudo yum install nodejs
sudo npm config set registry https://registry.npm.taobao.org
sudo npm install n -g
sudo /usr/local/bin/n stable 5、安装Redash中文版 1、下载代码:
git clone https://github.com/dazdata/redash.git
cd redash
2、前端安装依赖包:npm install
3、前端打包:npm run build
4、配置pip国内源:sudo cp pip.conf /etc/pip.conf
5、安装Python虚拟环境:sudo pip3 install virtualenv
6、创建Python虚拟环境:virtualenv venv
7、激活Python虚拟环境:source venv/bin/activate
8、安装Pip包:
pip install -r requirements.txt -r requirements_dev.txt -r requirements_bundles.txt
9、初始化数据库表结构:./manage.py database create_tables
10、退出虚拟环境,安装完成:deactivate 6、启动 分别打开三个终端,都执行cd redash进入目录后分别执行下列三个命令之一:
source venv/bin/activate
./manage.py runserver --debugger --reload

source venv/bin/activate
./manage.py rq worker

source venv/bin/activate
./manage.py rq scheduler 打开浏览器,输入地址:http://localhost:5000

配置为生产环境

在此基础上升级为Nginx+Supervisor+uWSGI的生产环境部署

一、安装和测试uWSGI

1、安装:
sudo yum -y install python36-devel
sudo pip3 install uwsgi 2、配置:
进入项目目录:cd ~/redash
创建配置文件:sudo nano uwsgi.ini
[uwsgi]
http=:5000
chdir=/home/当前centos用户名/redash/
wsgi-file=redash/wsgi.py
callable=app
master=true
virtualenv=/home/当前centos用户名/redash/venv/
pythonpath=/home/当前centos用户名/redash/
processes=1
threads=2
保存退出,先配置成http方式,便于从浏览器访问,后续配合nginx将改为socket方式。
注意这只是基本配置,高级配置请参考uWSGI官网中文文档
https://uwsgi-docs-zh.readthedocs.io/zh_CN/latest/WSGIquickstart.html 3、启动:
uwsgi uwsgi.ini
进入浏览器输入http://localhost:5000即可访问,
注意其它worker和scheduler还是以终端方式进虚拟环境启动。
运行无问题,证明已用uwsgi启动了redash,先Ctrl+C停止uwsgi服务继续进行后续配置。 二、安装和测试Supervisor 1、安装SuperVisor:
sudo pip3 install supervisor 2、配置:
进入项目目录:cd ~/redash
先用命令生成默认配置文件:echo_supervisord_conf > supervisord.conf
打开配置文件:sudo nano supervisord.conf 修改其中86/87行,去掉行头注释符;
[program:redash]
command = uwsgi uwsgi.ini
在文件结尾插入下列内容,用于启动redash的worker和scheduler
[program:worker]
directory=/home/当前centos用户名/redash/
command=venv/bin/python3 ./manage.py rq worker [program:scheduler]
directory=/home/当前centos用户名/redash/
command=venv/bin/python3 ./manage.py rq scheduler
保存退出,注意这只是基本配置,高级配置请参考http://supervisord.org/ 3、启动
supervisord -c supervisord.conf
进入浏览器输入http://localhost:5000即可访问,注意这时worker和scheduler也已用supervisor进行管理,
不需要另外启动。可用supervisorctl status查看三个进程,运行无问题,
证明已用supervisor启动了含uwsgi的redash全部进程。
先运行supervisorctl stop all停止进程(最好重启系统),继续后续配置。 三、安装Nginx并全部启动 1、安装Nginx:
sudo yum install nginx 2、修改配置:sudo nano /etc/nginx/nginx.conf 将location /加入如下内容
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:5000;
}
保存退出 3、改uwsgi协议:
进入项目目录:cd ~/redash
修改配置文件:sudo nano uwsgi.ini的第2行并新增第3行
socket=127.0.0.1:5000
chmod-socket=666
保存退出 4、启动:
supervisord -c supervisord.conf
systemctl start nginx
进入浏览器输入http://127.0.0.1:80能够正常访问即为安装成功。

CentOS8本地安装Redash中文版,并且配置为生产环境的更多相关文章

  1. Ubuntu20.04本地安装Redash中文版

    一.安装基础环境: # 1.更换APT国内源 sudo sed -i s@/cn.archive.ubuntu.com/@/mirrors.aliyun.com/@g /etc/apt/sources ...

  2. Tomcat与Jre绿色环境配置(生产环境)

    Tomcat与Jre绿色环境配置(生产环境) 博客分类: Apache Java jreapachetomcat  Tomcat运行时需要jre的支持,一般有两种方式,一种是用jdk带的jre,另一种 ...

  3. webpack开发环境配置和生产环境配置

    开发环境配置 在开发环境下,我们首先考虑的是方便开发,方便代码调试,不需要考虑代码合并和css样式分离这些. 这里主要说三个 :1.css模块化:2.模块热替换功能:3.source-map(代码映射 ...

  4. java mongodb连接配置实践——生产环境最优

    之前百度,google了很多,发现并没有介绍mongodb生产环境如何配置的文章, 当时想参考下都不行, 所以写篇文章,大家可以一块讨论下. 1. MongoClientOptions中的连接池配置: ...

  5. vue-cli项目开发/生产环境代理实现跨域请求+webpack配置开发/生产环境的接口地址

    一.开发环境中跨域 使用 Vue-cli 创建的项目,开发地址是 localhost:8080,需要访问非本机上的接口http://10.1.0.34:8000/queryRole.不同域名之间的访问 ...

  6. Vue Nginx反向代理配置 解决生产环境跨域

    Vue本地代理举例: module.exports = { publicPath: './', devServer: { proxy: { '/api': { target: 'https://mov ...

  7. vue-cli 3.0 axios 跨域请求代理配置及生产环境 baseUrl 配置

    1. 开发环境跨域配置 在 vue.config.js 文件中: module.exports = { runtimeCompiler: true, publicPath: '/', // 设置打包文 ...

  8. Ubuntu20.04和Docker环境下安装Redash中文版

    创建Ubunt20.04虚拟机,请参考:https://www.linuxidc.com/Linux/2020-03/162547.htm 一.安装基础环境: # 1.更换APT国内源 sudo se ...

  9. vmware安装centos7.5、配置网卡、环境配置

    1.vmware安装centos7.5虚拟机    参考连接: https://blog.csdn.net/guo_ridgepole/article/details/78973763 可能遇到的问题 ...

随机推荐

  1. C#(.net) 面试题

    1.ASP.NET的页面生存周期 .aspx/.ashx->IIS->Asp.net_isapi.dll->HttpRuntime.ProcessRequest() ->Htt ...

  2. [System.OutOfMemoryException] {函数求值已禁用,因为出现内存不足异常。

    [System.OutOfMemoryException] {函数求值已禁用,因为出现内存不足异常. StringBuilder 赋值的时候超过内存的大小,要即时去清空文本的值. 也可能是DataSe ...

  3. SpringBoot接口 - API接口有哪些不安全的因素?如何对接口进行签名?

    在以SpringBoot开发后台API接口时,会存在哪些接口不安全的因素呢?通常如何去解决的呢?本文主要介绍API接口有不安全的因素以及常见的保证接口安全的方式,重点实践如何对接口进行签名.@pdai ...

  4. 好串_via牛客网

    题目 链接:https://ac.nowcoder.com/acm/contest/28537/C 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言 ...

  5. 使用Pure Pipes来替换HTML里面的纯函数

    <ul *ngFor="let item of list"> <li>{{show(item.label)}}</li> </ul> ...

  6. 定时脚本删除docker容器中内容

    今天在我同步mongo数据库的时候,服务器的磁盘突然就被占满了导致同步中断,mongo容器也停止工作了.然后就想要弄一个能够定时清理同步过程中留存在docker容器中的mongo数据的脚本.话不多说, ...

  7. GIt后悔药:还原提交的操作(谨慎操作)

    一.背景: 偶尔会遇到git的版本分支的文件被误改的情况,需要还原,此篇文章可能会帮助到你. PS: 来理解下 Git 工作区.暂存区和版本库概念,可以更好的理解以下的还原操作. * 工作区:就是你在 ...

  8. 当我们谈论算法我们在谈论什么:由疫情核酸检测想到的分治算法(Divide-and-Conquer)

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_159 北京的疫情一波未平一波又起,由此看来,战"疫"将是一场旷日持久的战争,绝不能掉以轻心.轻易言胜.病毒随时 ...

  9. Python数据分析--Numpy常用函数介绍(9)-- 与线性代数有关的模块linalg

    numpy.linalg 模块包含线性代数的函数.使用这个模块,可以计算逆矩阵.求特征值.解线性方程组以及求解行列式等.一.计算逆矩阵 线性代数中,矩阵A与其逆矩阵A ^(-1)相乘后会得到一个单位矩 ...

  10. Java学习 (七)基础篇 变量

    变量 变量顾名思义,就是可以变化的量 Java是一种强类型语言,每个变量都必须声明其类型 Java变量是程序中最基本的存储单位,其要素包括变量名.变量类型和作用域 type varName [=val ...