关于Nginx配置的Sinatra - 怎么了?

api*_*gov 8 ruby nginx sinatra

我或多或少地遵循了这个教程...我安装了乘客宝石,执行了乘客安装ginx模块,成功安装了nginx并将其插入到配置中:

server {
  listen 80;
  server_name localhost;
  root /home/admin/sintest/public;   # <--- be sure to point to 'public'!
  passenger_enabled on;
}
Run Code Online (Sandbox Code Playgroud)

在/ home/admin/sintest我有:一个空的公共文件夹,config.ru:

require 'sinatra'

set :env,  :production
disable :run

require './app.rb'    #the app itself

run Sinatra::Application
Run Code Online (Sandbox Code Playgroud)

和测试sinatra app.rb:

require 'sinatra'

get '/' do
  "hello world!"
end
Run Code Online (Sandbox Code Playgroud)

现在,当我运行nginx并打开http:// localhost时,我得到的是:403 Forbidden

我究竟做错了什么?我错过了什么吗?

les*_*est 4

确保用户 nginx 正在运行(在大多数情况下为“nobody”或“www-data”)有权读取主目录 /home/admin 的内容。

您还可以查看 nginx 日志并准确了解错误是什么。

  • 我不知道 nginx 默认以无人身份运行...好吧,我修复了它...谢谢 (3认同)