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 可能遇到的问题 ...
随机推荐
- k8s的部署
一.k8s的二进制部署 1.环境准备: IP 节点 172.16.10.1 k8s-master01 172.16.10.3 ...
- SpringBoot接口 - API接口有哪些不安全的因素?如何对接口进行签名?
在以SpringBoot开发后台API接口时,会存在哪些接口不安全的因素呢?通常如何去解决的呢?本文主要介绍API接口有不安全的因素以及常见的保证接口安全的方式,重点实践如何对接口进行签名.@pdai ...
- CF1705A Mark the Photographer 题解
题意: 给定一队人的身高,将其分成两队,问能否实现前面的人均低于后面的人至少 \(x\) 个单位长度. 做法: 将这队人的身高进行排序,\(h_1 \sim h_n\) 即为第一队,\(h_{n+1} ...
- rust中的ref
理解Rust的引用与借用(好文链接) #![feature(core_intrinsics)] fn print_type_of<T>(_: T) { println!("{}& ...
- NOIP提高组模拟赛26
A. LCIS 蓝书原题,CF10D 弱化版 首先直接把 LIS 和 LCS 合起来设计一个 DP . 设 \(dp_{i,j}\) 表示 \(A_{1\dots i}\) 和 \(B_{1\dots ...
- qbxt数学五一Day4
目录 1. 随机试验 2. 概率 1. 平凡 2. 条件概率 3. 期望 习题 1 2 3 4 1. 随机试验 定义: 不能预先确知结果 试验之前可以预测所有可能结果或范围 可以在相同条件下重复实验 ...
- 金瓯无缺江河一统|Win10系统基于Docker和Python3搭建并维护统一认证系统OpenLdap
原文转载自「刘悦的技术博客」https://v3u.cn/a_id_180 OpenLdap(Lightweight Directory Access Protocol)是什么?它其实是一个开源的.具 ...
- Veux mapState、mapGetters、mapActions、mapMutations && Vuex命名空间
1 # 一.四个map方法的使用 2 # 1.mapState方法:用于帮助我们映射state中的数据为计算属性 3 computed:{ 4 // sum(){ 5 // return this.$ ...
- 万答#5,binlog解析出来的日志为何无法恢复
欢迎来到 GreatSQL社区分享的MySQL技术文章,如有疑问或想学习的内容,可以在下方评论区留言,看到后会进行解答 问题描述 问题来自一位群友,简单说就是用 mysqlbinlog 工具读取 bi ...
- Express 使用 Cookie
在使用 Cookie 之前,需要给 Express 加载中间件,cookie-parser: npm i cookie-parser Express 使用中间件: import express fro ...