J'essaye de lancer un script ruby (sinatra) sous le Nginx. Structure Mon dossier est:Nginx ne sert que des fichiers statiques pour une application Sinatra
/www (775)
/www/public (775)
/www/public/img.jpg (644)
/www/app.rb (775)
/www/index.html (775)
Mon nginx.conf est:
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;
}
}
Mais je me sert juste un xxx.xxx.xx.xx/img.jpg, aucun script .
xxx.xxx.xx.xx/index.html me donne l'erreur 404 et xxx.xxx.xx.xx me donne à nouveau l'erreur 403.
Il est important que l'utilisateur exécute le serveur nginx (le dossier /www et les fichiers qu'il contient ont un utilisateur différent de celui qui exécute nginx).
Merci
Comment Ruby et Sinatra interviennent-ils ici quand vous avez un 'index.html' statique? – tadman
Eh bien, même si je le renéme à test.html, il ne fonctionne pas de toute façon. Sinatra sert un tel fichier sur '/' get. –
Sauf si vous avez un 'config.ru' quelque part, Passenger n'a aucun moyen de savoir que vous avez une application Rack. – tadman