内容简介:这个过程基本上我花了三个星期,才弄好,其中的有些部署文件还是我直接从项目复制粘贴过来的。现在一整理,发现并没有那么难,那为什么会花费三个星期呢?大部分可能是因为我的无知和对centos的不了解。例如,我在启动数据库的时候,它告诉我不能以root身份启动,等我切换到普通账户,又告诉我,对文件夹没有写入权限,看得我真的很矛盾。例如,我在安装pg这个gem的时候,告诉我缺乏依赖,我找到答案
这个过程基本上我花了三个星期,才弄好,其中的有些部署文件还是我直接从项目复制粘贴过来的。现在一整理,发现并没有那么难,那为什么会花费三个星期呢?大部分可能是因为我的无知和对centos的不了解。
例如,我在启动数据库的时候,它告诉我不能以root身份启动,等我切换到普通账户,又告诉我,对文件夹没有写入权限,看得我真的很矛盾。
例如,我在安装pg这个gem的时候,告诉我缺乏依赖,我找到答案 yum install libs-devel
,又告诉我 ruby 的版本太低了,很纳闷,我明明装的是最新的ruby版本,之后就一直在缺乏依赖着转圈,等到现在才知道是因为找不到 pg_config
, pg_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,发现 puma
在 production
环境下是使用 socket
链接,只能使用nginx做代理了,编辑 /etc/nginx/conf.d/default.conf
文件,替换下面代码中的 username
和 deploy_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;
}
复制代码
关于 puma
的 sock
的地址,你查一下 puma
的 log
确认一下
以上所述就是小编给大家介绍的《ror+psql+puma+nginx部署项目》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- linux 部署golang 项目(直接部署和基于nginx部署)
- 【Vue项目总结】项目nginx部署
- CentOS 部署 flask项目
- Docker 部署Python项目
- 【前端打包部署】谈一谈我在SPA项目打包=>部署的处理
- 「实战篇」开源项目docker化运维部署-后端java部署(七)
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
系统分析与设计方法
惠滕 / 孙慧、肖刚 / 机械工业出版社 / 2004-9 / 69.00元
本书是介绍信息系统分析和设计原理、方法、技术、工具和应用的力作,自问世以来,广受欢迎,以至于一版再版,延续至今。 本书采用一个完整的案例研究,以整个信息系统构件(基于Zachman框架)和信息系统开发生命周期(FAST方法学)为主线,详细探讨了系统开发生命周期的前期、中期和后期以及跨生命周期的活动。另外,书中第一章都提供了大量的练习题、讨论题、研究题和小型案例,以加深读者对书中所述理论的实际应用和......一起来看看 《系统分析与设计方法》 这本书的介绍吧!