部署 [解决 100%] 跟着《Ubuntu 12.04 上使用 Nginx Passenger 部署 Ruby on Rails》熟悉部署流程

zhaiyingchang · 2014年05月04日 · 最后由 ice_ds 回复于 2014年11月11日 · 4918 次阅读

非常感谢大家的支持!我初步学会部署了!

特别感谢@shatle与我见面,基情澎湃地帮我解决最后一个的难题!

----------------

之后,我将会做一个视频:《小白入门级 rails 部署:用 Nginx-Passenger 部署 Rails 应用》。 目的 1)让后续的像我这样的完全小白(简称,完白)学会最简单的部署。 针对对象: 1)像我一样的完白。 2)跟着《Pragmatic Agile Web Development with Rails 4》做完案例。 3)想把做完的案例部署在 ubuntu 服务器上,以完成对 rails 的初步了解。 跟我一起来: 1)如果你喜欢 prezi 的结构化信息表达能力,work with me! 2)如果你熟知部署过程中各种坑及破解方法,work with me!

----------------

大家好,我是翟英昌。我是小白。我想在部署方面向前辈们求助。

我自学了《Pragmatic Agile Web Development with Rails 4》,完成了书中的案例。现在想把案例部署在阿里云服务器上,以熟悉部署的流程。

我昨天严格按照《Ubuntu 12.04 上使用 Nginx Passenger 部署 Ruby on Rails》http://ruby-china.org/wiki/install-rails-on-ubuntu-12-04-server 进行了每一步的部署。目前仍有遗留问题。

所以,现在把我的服务器的权限放出来,让前辈们看看我的问题出在哪。

zhaiyingchang.com IP: 115.28.245.214 用户:deploy 密码已收回

-----------------

进展一: 11 楼说的有道理。我昨天是用 root 安装了 rvm 及之后的软件,因为用 deploy 貌似安装不了。但是目前我用 root 好像卸载不了 rvm。感谢@small_fish__ 进展二: 我现在输入 IP 地址,浏览器显示 Welcome to nginx!请问这一步是如何实现的。 进展三: 目前在终端输入ssh [email protected],显示 timed out。此问题已经解决了。 我已经重置了系统,重新按照《Ubuntu 12.04 上使用 Nginx Passenger 部署 Ruby on Rails》 进展四: 走到这一步卡住了: 输入sudo echo "deb https://oss-binaries.phusionpassenger.com/apt/passenger precise main" > /etc/apt/sources.list.d/passenger.list 显示“-bash: /etc/apt/sources.list.d/passenger.list: Permission denied” 解决方法:用 root 执行此命令,然后又回到 deploy 权限继续部署。 进展五:初步见到效果 1)添加了 node.js 以解决 js runtime 的问题。 2)初步完成部署。目前输入 IP 可以看到案例 depot 的网页,但是没有 css 和 js 效果。 进展六: 1)正在研究 production 环境与 development 的环境区别及转换。感谢@liwei78 进展六: 1)与@shatle见面,发现 production 环境下的 turbolinks 问题。 2)部署初步成功。

1 楼 已删除

#1 楼 @llvm 哈哈!自古小白多胆大!前辈请赐教呀!

3 楼 已删除

#3 楼 @llvm 虽然看不懂,但是觉得楼上说的好像错了 难道是 不明觉错??

5 楼 已删除

nginx 帮你启动起来了

#6 楼 @serco 谢谢,我看到输入 IP 地址后,浏览器显示 nginx work 了。请问你是怎样启动 nginx?

系统该升级啦,12.04.1 LTS 啊,可以升级到 12.04.4

正好不忙。去看看呢。

#7 楼 @zhaiyingchang 你好像 nginx 压根没成功启动过,另外 ruby 路径配置有误

我的观点就是:rails, ruby, rvm 都使用 deploy 安装就没有这么多问题了,貌似现在出现 403 的问题了。 现在我觉得卸载 root 安装的 rvm 和 ruby,换成 deploy 用户安装就可以了吧。

还真是可以登陆。膜拜。 我是一般按照 passenger,然后用 passenger 安装脚本编译 nginx。然后配置 nginx。conf

#6 楼 @serco 我编辑的时候,发现有 swap 文件,原来是你也在编辑。

^_^。。一下来了这么多人。你们速度上吧。我退下了

#13 楼 @kungs 那你继续吧,我下了,哈哈

#10 楼 @serco 哈哈!是的。我是小白白。请问:1)启动 nginx 的命令是什么?是不是sudo service nginx restart

#11 楼 @small_fish__ 有道理,我昨天是用 root 安装的那些软件。我试试看。谢谢哈!

18 楼 已删除

#18 楼 @llvm 那我先不动吧。

楼主你也太狠了。。

#20 楼 @bydmm 哈哈!自古小白多胆大!

一般是把 nginx 放到 /etc/init.d/ ,比如

ln -s /usr/local/nginx/bin/nginx /etc/init.d/nginx 然后设置自启动,具体方法看你服务器。

小心防火墙是不是阻挡了除 port22 所有的访问,有时候默认只开放 22 端口的。

建议用 puma,webrick 等 server 启动,在用 nginx 做一个 proxy_pass。

lz 继续看,我当时搞了很久服务器,写了很多笔记,才摸索出来。小细节太多了,慢慢理解,lz 加油。

nginx 的部分可以看看这个 http://blog.s135.com/post/366/

24 楼 已删除

#24 楼 @llvm 请帮忙看一下我的更新。添麻烦了啊!谢谢!

26 楼 已删除

这篇文太老了。。。。而且是安装 passenger 之后,用 passenger 的命令来装 nginx,问题倒是不大,就是需要用 root 完成,不是 deploy 用户。

楼主删掉重新部署吧

#27 楼 @liwei78 哦哦。谢谢你的留言。好详细啊!我现在仍然迷惑。我在研究研究你给我的几个链接。

  1. 参考此文https://hisea.me/p/rails31-ubuntu-passenger-nginx-quick-deploy 很不错的,我以前经常参考。
  2. 强烈建议采用一个 deploy 用户来管理自己的 rvm 和 ruby,因为它根本就不要 root 权限。

根据这两点应该没有问题。

#30 楼 @small_fish__ 好的好的。我试试看!多谢!

真的热闹

题目:信任在分享中的重要性, :+1

#33 楼 @shatle 嗯?你在地址大学?我在矿大!

@zhaiyingchang 是的,北京的地大,学校一般不用 Rails 的,你们学校有项目用?还是自己玩的?

#35 楼 @shatle 自己玩。你部署过 rails 没?好像部署是一件不好玩的事儿。

@zhaiyingchang 自己部署过啊,去年自己在阿里云狠狠地热折腾了一把,哈哈

不过,其实不难的,慢慢来

#38 楼 @shatle 在学校吗!在学校吗!我能和你见一面吗?

@zhaiyingchang 在啊,但是,合适吗,我爱好女喔

#40 楼 @shatle 哈哈!艳遇易,基情难。且 deploy 且珍惜!快快快!我要见你!欲火焚身中……

@zhaiyingchang 今天肯定不行了,有饭局,可以加微信,liu_cm

关机了,呵呵

#43 楼 @shatle 好的好的。加你了!

#44 楼 @zhaiyingchang 初步完成部署。目前输入 zhaiyingchang.com 可以看到案例 depot 的网页。

目前遗留问题: 1)depot 案例并没有在服务器上完全启动。例如:css;路径逻辑……。(明天继续探索!哪位大神给点建议呢?) 2)打算做一个视频:《小白,其实部署很简单——初级部署:用 Nginx-Passenger 部署 Rails 应用》。 针对对象:迷茫的小白。跟着《Pragmatic Agile Web Development with Rails 4》做完案例,想把案例部署在服务器,已完成 Rails 的初步入门。(前提是,我需要掌握全部部署细节。继续探索!哪位大神可以跟我合作,一起照顾之后迷茫的小白呢?)

本地 rails s -e production 之后没问题,再部署。

哦。谢谢啊!非常有价值!rails s -e production这条命令头一回见,我去 guide 研究一下。

#46 楼 @liwei78 初步搞懂了 production 环境。目前已经学会了简单的部署。多谢你的帮助呀!

#48 楼@zhaiyingchang 请问下进展四的那步用 root 执行此命令,怎么用啊?是 sudo 吗

需要 登录 后方可回复, 如果你还没有账号请 注册新账号