ror+psql+puma+nginx部署项目

栏目: 数据库 · 发布时间: 5年前

内容简介:这个过程基本上我花了三个星期,才弄好,其中的有些部署文件还是我直接从项目复制粘贴过来的。现在一整理,发现并没有那么难,那为什么会花费三个星期呢?大部分可能是因为我的无知和对centos的不了解。例如,我在启动数据库的时候,它告诉我不能以root身份启动,等我切换到普通账户,又告诉我,对文件夹没有写入权限,看得我真的很矛盾。例如,我在安装pg这个gem的时候,告诉我缺乏依赖,我找到答案

这个过程基本上我花了三个星期,才弄好,其中的有些部署文件还是我直接从项目复制粘贴过来的。现在一整理,发现并没有那么难,那为什么会花费三个星期呢?大部分可能是因为我的无知和对centos的不了解。

例如,我在启动数据库的时候,它告诉我不能以root身份启动,等我切换到普通账户,又告诉我,对文件夹没有写入权限,看得我真的很矛盾。

例如,我在安装pg这个gem的时候,告诉我缺乏依赖,我找到答案 yum install libs-devel ,又告诉我 ruby 的版本太低了,很纳闷,我明明装的是最新的ruby版本,之后就一直在缺乏依赖着转圈,等到现在才知道是因为找不到 pg_configpg_config 这个文件一般是在 /usr/bin 文件夹下,但是我安装完没有在这....

安装ruby

如果使用yum安装ruby,版本太低,为了管理ruby版本,我使用rbenv来管理安装参考链接

安装postgresql

修改 /etc/yum.repos.d/CentOS-Base.repo 文件

sudo vi /etc/yum.repos.d/CentOS-Base.repo
exclude=postgresql*    // 在[base]和[updates]块中加上这一行
复制代码

安装postgresql

sudo rpm -Uvh http://yum.postgresql.org/9.5/redhat/rhel-6-x86_64/pgdg-centos95-9.5-1.noarch.rpm
sudo yum install postgresql95 postgresql95-devel postgresql95-server postgresql95-libs postgresql95-contrib
复制代码

初始化数据库 找到psql的安装目录(xxxx)的bin文件夹,

xxxx/bin/pg_ctl -D xxxx/data initdb //初始化数据库
xxxx/bin/pg_ctl -D xxxx/data start  // 启动数据库
复制代码

在initdb,可能会出现权限不够的情况,这个时候,查看一下 data 的权限,发现你应该将用户切换成 postgres

sudo su postgres
复制代码

在这一步,会提示你输入密码,如果你不知道密码,就使用以下命令去修改密码

passwd postgres
复制代码

将用户切换成 postgres 就可以初始化和启动数据库,也可以使用以下命令

sudo service postgresql-9.5 start               // 启动数据库
sudo chkconfig --levels 235 postgresql-9.5 on   // psql开机自启动
复制代码

创建psql的链接用户名和密码

sudo su postgres
psql
alter user username with password 'password';
create database testdb owner=username;
复制代码

为puma增加代理

cap production puma:restar
复制代码

这个时候访问端口,发现无法访问,查一下puma的log,发现 pumaproduction 环境下是使用 socket 链接,只能使用nginx做代理了,编辑 /etc/nginx/conf.d/default.conf 文件,替换下面代码中的 usernamedeploy_path

upstream app {
    # Path to Puma SOCK file, as defined previously
    server unix:///home/username/deploy_path/shared/sockets/puma.sock fail_timeout=0;
}

server {
    listen 80;
    server_name localhost;

    root /home/username/deploy_path/current/public;

    try_files $uri/index.html $uri @app;

    location @app {
        proxy_pass http://app;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_redirect off;
    }

    error_page 500 502 503 504 /500.html;
    client_max_body_size 4G;
    keepalive_timeout 10;
}
复制代码

关于 pumasock 的地址,你查一下 pumalog 确认一下


以上所述就是小编给大家介绍的《ror+psql+puma+nginx部署项目》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

中国创投简史

中国创投简史

投资界网站 / 人民邮电出版社 / 2017-1-1 / 55

《中国创投简史》系统梳理了自20世纪80年代开始的中国创投产业发展历程,回顾了各个时代中的代表人物、知名投资机构以及他们所创下的一个个投资奇迹。从熊晓鸽、徐新、沈南鹏等风险投资人的成长经历中,从搜狐、腾讯、百度、小米等一代代科技企业巨头的诞生与演变过程中,我们可以看到风险投资的力量、创业者的企业家精神以及科技创造伟大财富的神奇过程。 对于风险投资和私募股权行业的从业者以及有融资需求的创业者来......一起来看看 《中国创投简史》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

SHA 加密
SHA 加密

SHA 加密工具