CentOS8本地安装Redash中文版,并且配置为生产环境
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中文版,并且配置为生产环境的更多相关文章
- Ubuntu20.04本地安装Redash中文版
一.安装基础环境: # 1.更换APT国内源 sudo sed -i s@/cn.archive.ubuntu.com/@/mirrors.aliyun.com/@g /etc/apt/sources ...
- Tomcat与Jre绿色环境配置(生产环境)
Tomcat与Jre绿色环境配置(生产环境) 博客分类: Apache Java jreapachetomcat Tomcat运行时需要jre的支持,一般有两种方式,一种是用jdk带的jre,另一种 ...
- webpack开发环境配置和生产环境配置
开发环境配置 在开发环境下,我们首先考虑的是方便开发,方便代码调试,不需要考虑代码合并和css样式分离这些. 这里主要说三个 :1.css模块化:2.模块热替换功能:3.source-map(代码映射 ...
- java mongodb连接配置实践——生产环境最优
之前百度,google了很多,发现并没有介绍mongodb生产环境如何配置的文章, 当时想参考下都不行, 所以写篇文章,大家可以一块讨论下. 1. MongoClientOptions中的连接池配置: ...
- vue-cli项目开发/生产环境代理实现跨域请求+webpack配置开发/生产环境的接口地址
一.开发环境中跨域 使用 Vue-cli 创建的项目,开发地址是 localhost:8080,需要访问非本机上的接口http://10.1.0.34:8000/queryRole.不同域名之间的访问 ...
- Vue Nginx反向代理配置 解决生产环境跨域
Vue本地代理举例: module.exports = { publicPath: './', devServer: { proxy: { '/api': { target: 'https://mov ...
- vue-cli 3.0 axios 跨域请求代理配置及生产环境 baseUrl 配置
1. 开发环境跨域配置 在 vue.config.js 文件中: module.exports = { runtimeCompiler: true, publicPath: '/', // 设置打包文 ...
- Ubuntu20.04和Docker环境下安装Redash中文版
创建Ubunt20.04虚拟机,请参考:https://www.linuxidc.com/Linux/2020-03/162547.htm 一.安装基础环境: # 1.更换APT国内源 sudo se ...
- vmware安装centos7.5、配置网卡、环境配置
1.vmware安装centos7.5虚拟机 参考连接: https://blog.csdn.net/guo_ridgepole/article/details/78973763 可能遇到的问题 ...
随机推荐
- C#(.net) 面试题
1.ASP.NET的页面生存周期 .aspx/.ashx->IIS->Asp.net_isapi.dll->HttpRuntime.ProcessRequest() ->Htt ...
- [System.OutOfMemoryException] {函数求值已禁用,因为出现内存不足异常。
[System.OutOfMemoryException] {函数求值已禁用,因为出现内存不足异常. StringBuilder 赋值的时候超过内存的大小,要即时去清空文本的值. 也可能是DataSe ...
- SpringBoot接口 - API接口有哪些不安全的因素?如何对接口进行签名?
在以SpringBoot开发后台API接口时,会存在哪些接口不安全的因素呢?通常如何去解决的呢?本文主要介绍API接口有不安全的因素以及常见的保证接口安全的方式,重点实践如何对接口进行签名.@pdai ...
- 好串_via牛客网
题目 链接:https://ac.nowcoder.com/acm/contest/28537/C 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言 ...
- 使用Pure Pipes来替换HTML里面的纯函数
<ul *ngFor="let item of list"> <li>{{show(item.label)}}</li> </ul> ...
- 定时脚本删除docker容器中内容
今天在我同步mongo数据库的时候,服务器的磁盘突然就被占满了导致同步中断,mongo容器也停止工作了.然后就想要弄一个能够定时清理同步过程中留存在docker容器中的mongo数据的脚本.话不多说, ...
- GIt后悔药:还原提交的操作(谨慎操作)
一.背景: 偶尔会遇到git的版本分支的文件被误改的情况,需要还原,此篇文章可能会帮助到你. PS: 来理解下 Git 工作区.暂存区和版本库概念,可以更好的理解以下的还原操作. * 工作区:就是你在 ...
- 当我们谈论算法我们在谈论什么:由疫情核酸检测想到的分治算法(Divide-and-Conquer)
原文转载自「刘悦的技术博客」https://v3u.cn/a_id_159 北京的疫情一波未平一波又起,由此看来,战"疫"将是一场旷日持久的战争,绝不能掉以轻心.轻易言胜.病毒随时 ...
- Python数据分析--Numpy常用函数介绍(9)-- 与线性代数有关的模块linalg
numpy.linalg 模块包含线性代数的函数.使用这个模块,可以计算逆矩阵.求特征值.解线性方程组以及求解行列式等.一.计算逆矩阵 线性代数中,矩阵A与其逆矩阵A ^(-1)相乘后会得到一个单位矩 ...
- Java学习 (七)基础篇 变量
变量 变量顾名思义,就是可以变化的量 Java是一种强类型语言,每个变量都必须声明其类型 Java变量是程序中最基本的存储单位,其要素包括变量名.变量类型和作用域 type varName [=val ...