最近开发好了一个程序现在在折腾部署问题, Capistrano 3 折腾好了开始弄 Nginx 和 Puma, 然后谷歌上关于 Puma 的资料,教程,文档感觉都很少是怎么回事? 然后在这里还看到不少人说 Puma 不错,诸如此类的一些讨论,大家都是哪里找的资料我很费解啊, 去 Puma 官网和 Github 都找了找不到啥有用的教程和文档。
#2 楼 @huacnlee #4 楼 @xiao__liang 网上有看到需要写 config/puma.rb 可是 Puma 对于这个配置文件在 Github 上好像完全没写文档的样子。左翻右翻都没找着
有啊,里面讲了如何写 puma.rb 这个文件,你去看下 rubyChina 源码中 puma.rb 的写法在看看官网的就懂了例如 $ puma -C config/puma.rb (启动 rails 时用这个命令,它才会去加载 config 下的 puma.rb) 请看如下地址https://github.com/puma/puma 我摘取其中一小段 config/puma.rb中如下配置
threads 8,32
workers 3
preload_app!
Hello everyone. I am Hongli Lai, author of Passenger. Please forgive my bad Chinese. :)
Puma is supposed to be minimalist, just like Unicorn. They are explicitly designed to have a narrow set of features. They are only supposed to do one thing, and they are focused on technology, so they don't provide a lot of integration documentation. This is fine; this is who they are, and I respect their choices.
Passenger follows a different design philosophy. We are much more ambitious. We focus not only on technology, but also on user-friendliness. That is why we have a lot of documentation, a lot of tools.
I will give a talk in Beijing on Sunday May 29 about Passenger's vision and optimization techniques: https://ruby-china.org/topics/30096 If you are in Beijing, please feel welcome to join. I hope to meet you all. :)
去 puma 的 Github 问了文档不足的事情至今没有回答, 在我之前的那一个 issue 是 7 天前某人提的,也没有回复。 最近的 commit 是 17 天前的。。今天是 5 月 27,最近的是 Commits on May 10, 2016
感觉很冷清的样子啊。。
在 CentOS 下配置 nginx+puma 时候踩到了好几个坑。
puma 作者提供的那个 Linux 服务启动脚本 jungle,默认只支持 unbutu 和 rbenv。如果使用 CentOS 和 rvm 的话,需要修改不少的地方。
经历过好几次 sudo 时找不到 bundle 路径的错误以后,我还是放弃了服务器上使用 rvm,改用了 rbenv,问题总算解决了。
#16 楼 @kikyous 把整理的脚本放到 github 上了。(对 github 不熟悉,很多用法都还没弄明白)
http://www.racksam.com/2016/03/01/install-rbenv-ruby-rails-nginx-puma-on-centos6/
https://github.com/racksam/puma-jungle-centos
吐槽:rails 项目的上线对于我这样的初学者来说也是一个大坑。各种支离破碎的工具软件和攻略让人找不到北。。
#17 楼 @samport 初学可以用 https://www.phusionpassenger.com/ ,文档齐全,unicorn 和 puma 需要先知道反向代理、Linux 的进程和信号是什么。
此外,Puma 和 Unicorn 在很多方面都是很相似的,比如 copy-on-write
,用过 Unicorn 的人基本上能很快搞明白。
然后 Puma 在 GitHub 的源代码列表里面有一些文本文件(其实 Unicorn 也是的),里面有一些配置说明,实现说明等资料