1
我试图在Nginx下运行ruby(sinatra)脚本。 我的文件夹结构是:Nginx只为Sinatra应用程序提供静态文件
/www (775)
/www/public (775)
/www/public/img.jpg (644)
/www/app.rb (775)
/www/index.html (775)
我的nginx.conf是:
worker_processes 1;
events {
worker_connections 1024;
}
http {
passenger_root /home/my_user/.rvm/gems/ruby-2.4.1/gems/passenger-5.1.6;
passenger_ruby /home/my_user/.rvm/gems/ruby-2.4.1/wrappers/ruby;
include mime.types;
default_type application/octet-stream;
sendfile on;
server {
listen 80;
server_name xxx.xxx.xx.xx;
root /www/public;
passenger_enabled on;
}
}
但我得到服务只是一个XXX.XXX.XX.XX/img.jpg,没有脚本。
xxx.xxx.xx.xx/index.html给我错误404和xxx.xxx.xx.xx再次给我错误403。
在哪个用户运行nginx服务器(文件夹/www和其中的文件具有与运行nginx的用户不同的用户)时很重要。
感谢
当你有一个静态的'index.html'时,Ruby和Sinatra是如何考虑的? – tadman
好吧,即使我将它反向test.html,它仍然无法正常工作。 Sinatra正在'/'get上提供这样的文件。 –
除非你在那里有一个'config.ru',否则Passenger没办法知道你有一个Rack应用程序。 – tadman