我正在使用 puma 和 nginx 在 digital ocean 上设置我的 Rails 生产服务器。
按照教程,我在/etc/nginx/sites-available/default 中输入了这个
server unix:/home/deploy/appname/shared/sockets/puma.sock fail_timeout=0;
但是在服务器上,文件夹 home/deploy/appname/shared/sockets/是空的。
我仔细检查了教程,没有一个提到创建这样的文件。
如果我运行 ps aux | grep puma
我明白了
root 2076 0.0 0.3 52992 3544 pts/0 T 05:51 0:00 sudo nano require capistrano/puma root 2077 0.0 0.3 23872 3888 pts/0 T 05:51 0:00 nano require capistrano/puma rails 2407 0.0 0.0 14484 1012 pts/0 S+ 06:38 0:00 grep puma
这对我来说真的没有意义,因为我没有使用 capistrano。
我的问题是。 puma.sock 是如何创建的?在美洲狮安装期间?如果该目录为空,我错过了哪一步?
最佳答案
如果没有capistrano
,您需要使用-b
选项启动puma
来创建sock文件:
puma -b unix:///__abs_path_to_your_app__/puma.sock
并且在 /etc/nginx/sites-available/default
中,您需要将路径更改为 .sock
文件:
server unix:///__abs_path_to_your_app__/puma.sock fail_timeout=0;
关于ruby-on-rails - 缺少 puma 和 nginx puma.sock 的 Rails 生产,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40779142/