我将 nginx 从 version 更新1.14到1.18 (Ubuntu)on Ubuntu 18.04。
这样做似乎打破了乘客。因此,我通过Passenger installation Ubuntu 18.04 说明卸载并尝试重新安装开源Passenger 版本。
我到了这一行:
sudo apt-get install -y libnginx-mod-http-passenger
Run Code Online (Sandbox Code Playgroud)
哪个抛出这个错误
libnginx-mod-http-passenger :取决于:nginx-common (< 1.14.1) 但要安装 1.18.0-3ubuntu1+bionic1
更新我也尝试使用企业版。按照企业版安装说明,我收到了类似的错误信息:
libnginx-mod-http-passenger-enterprise : 依赖: nginx-common (< 1.14.1) 但要安装 1.18.0-3ubuntu1+bionic1
我确实试图研究这个问题,我在 Phusion 的 GitHub 上发现了这个问题以及这个最近的问题。似乎大多数人正在做的是将他们的 nginx 版本回滚到1.14.
我正在尝试使用 capistrano 将我的 Rails 应用程序(仅 API)部署到带有 Nginx 和乘客的 centos 服务器。当我尝试点击 Rails 应用程序时,它显示“打开 '/home/user/app/current/Passengerfile.json' 进行读取时出错:权限被拒绝 (errno=13);” 该错误意味着Nginx工作进程(PID 4344,以UID 984运行)没有访问该文件的权限。
但我那里没有 Passengerfile.json,我们也不需要它。
我正在尝试在 docker 容器中将 nginx 与乘客一起使用。如果我使用乘客独立启动 Rails 应用程序,它将正常工作:
bundle exec passenger start --engine=builtin --max-pool-size=6 --min-instances=3
Run Code Online (Sandbox Code Playgroud)
但是,如果我尝试对同一个 Rails 应用程序使用 nginx,则会收到此错误:
App 21674 output: Using /usr/local/rvm/gems/ruby-2.6.6
App 21674 output: I, [2020-09-14T05:02:50.855329 #21674] INFO -- sentry: ** [Raven] Raven 2.13.0 ready to catch errors
App 21674 output: I, [2020-09-14T05:02:51.103254 #21674] INFO -- : Installing Passenger worker loop.
App 21674 output: Error: The application encountered the following error: No such middleware to insert before: ActionDispatch::Static (RuntimeError)
App 21674 output: /home/app/webapp/vendor/ruby/2.6.0/gems/actionpack-5.2.4.1/lib/action_dispatch/middleware/stack.rb:108:in `assert_index'
App 21674 output: /home/app/webapp/vendor/ruby/2.6.0/gems/actionpack-5.2.4.1/lib/action_dispatch/middleware/stack.rb:75:in …Run Code Online (Sandbox Code Playgroud)