#6 楼 @fumesy 是不是,如果作为插件形式,其实只要开启了 nginx,就会自动启动 passenger? 但如果我直接用
sudo service nginx start
是根本不会启动 passenger 的。 会不会是我 nginx 启动脚本有问题? 我是直接用《Rails 圣经》里的做法:
wget -O init-deb.sh http://www.linode.com/docs/assets/1139-init-deb.sh
sudo mv init-deb.sh /etc/init.d/nginx
sudo chmod +x /etc/init.d/nginx
sudo /usr/sbin/update-rc.d -f nginx defaults
我执行这两个命令,得到的结果与我本来在 nginx 中配置的结果是一模一样的,没有任何改动……所以不用重写……
这是执行结果:
$ passenger-config --root
/usr/local/rvm/gems/ruby-2.2.3/gems/passenger-5.0.17
# 这个结果与我之前在nginx配置文件中写的一模一样的
$ passenger-config --ruby-command
passenger-config was invoked through the following Ruby interpreter:
Command: /usr/local/rvm/gems/ruby-2.2.3/wrappers/ruby
Version: ruby 2.2.3p173 (2015-08-18 revision 51636) [x86_64-linux]
To use in Apache: PassengerRuby /usr/local/rvm/gems/ruby-2.2.3/wrappers/ruby
To use in Nginx : passenger_ruby /usr/local/rvm/gems/ruby-2.2.3/wrappers/ruby
To use with Standalone: /usr/local/rvm/gems/ruby-2.2.3/wrappers/ruby /usr/local/rvm/gems/ruby-2.2.3/gems/passenger-5.0.17/bin/passenger start
# 这个结果也和我之前在nginx配置文件中写的一模一样的
这是我本来的 nginx 配置
passenger_root /usr/local/rvm/gems/ruby-2.2.3/gems/passenger-5.0.17;
passenger_ruby /usr/local/rvm/gems/ruby-2.2.3/wrappers/ruby;
所以还是没解决……
还是非常感谢啊:)
#3 楼 @fumesy 可能的确是 rvm 的缘故,因为我之前一键部署时,都没有用 rvmsudo,一直挺顺利的。 至于这次为什么用,大概是遇到些 bug,然后网上给了答案,就乱用了…… 自己都没搞明白,用不用 rvmsudo 会影响什么…… (到底啥时候用了,啥时候没用,也不记得了……)
但passenger_ruby
配置是用 passenger 装 nginx 时(passenger-install-nginx-module
)自动给配置的啊,应该不会出错吧?
passenger_root /usr/local/rvm/gems/ruby-2.2.3/gems/passenger-5.0.17;
passenger_ruby /usr/local/rvm/gems/ruby-2.2.3/wrappers/ruby;
#1 楼 @fumesy
添加了passenger_app_root /app/www/my_project/current
,
还是不行,不知道我错过了什么,或是理解错了什么。
我尝试进 current 目录下手动启动 passenger,它还是具体当前 current 指向的具体版本,下次 current 指向的版本更新,passenger 指向的版本不更新。
如果尝试在项目目录下手动启动 passenger,会显示
$ sudo -E passenger-status
Version : 5.0.17
Date : 2015-09-10 09:54:12 +0800
Instance: n0pR0FhO (nginx/1.8.0 Phusion_Passenger/5.0.17)
----------- General information -----------
Max pool size : 6
App groups : 0
Processes : 0
Requests in top-level queue : 0
----------- Application groups -----------
根本没有指向具体一个 app
没弄明白……
你知道 capistrano 自动启动 passenger 的机制是怎样的么?以前我都是 cap production deploy 时它自动就启动的啊,现在为什么不启动了?
好赞,先收藏!其实我最想看到的就是各种小小的功能模块啊,或者页面模块,怎么实现的……
恩,有空一定要拜读一下!
#2 楼 @huacnlee 没太理解哦…… 以前也用 cap 部署过很多很多次,但好像从来没有把 passenger 加进 gemfile,都是直接在服务器用
gem install passenger
passenger-install-nginx-module
装的 nginx 和 passenger。
我现在在犹豫,我是不是之前又加了个rvmsudo passenger-install-nginx-module
,那应该也不影响 passenger 啊……
刚刚我想试试从安装地址启动
/home/deploy/.rvm/gems/ruby-2.2.3/gems/passenger-5.0.16/bin/passenger start
结果进入了安装 nginx 界面,赶紧退出
也就是说,我有第一版,但还是很有必要买一本新的重新读一遍?
尼玛,我好像还买了好几百块钱一直没用……
不对,存储空间免费,流量还是收钱的…… 好吧……
好便宜,可惜在深圳……
解决了,谢谢各位:)
#13 楼 @poshboytl 哦,谢谢,好酷的场景:)
下载量难道不是检验一个 gem 好不好的最直接标准么?
一般如果有 gem 我就会选择用 gem,因为我总觉得我水平很菜,图样图森破,也许很多坑我并没有注意到,高手写得肯定比我好……
比如我刚才看到另一个代码,它会检测一下是否有重复的,我就想,哎呀,我可没有想到还有重复的可能,真够谨慎的……
@seller.user_info_token = loop do
token = SecureRandom.urlsafe_base64
break token unless User.exists?(user_info_token: token)
end
@seller.user_info_token = SecureRandom.uuid
#5 楼 @poshboytl 额,我发现一个叫:uuidtools的 gem,是 uuid的下载量的 5 倍……我研究下……
怎么还有 4.2.4 ? 说好的 Rails5 呢?
原来还有 gem,原来还有很多东西要考虑,我就是直接在 controller 里写
@studio = Studio.find_by(domain: params[:studio_domain])
是不是图音图森破了?
友情提示,同一个公司招聘发多个帖,会被管理员清理……
第一时间告诉同事男生!他前阵子还问大疆还招聘不呢!传说说大疆有年年终奖一人发一辆特斯拉……
从页面视觉角度,我投 从学习源码角度,我投 ,因为想知道这种功能怎么实现的……
#2 楼 @so_zengtao 已经用上 Rails 5 了么?