Question

Je suis en train d'écrire une application Sinatra qui fonctionnera sur un serveur de partage de passagers. Pour l'instant, je serais heureux juste d'obtenir un « Bonjour tout le monde », mais quelque chose ne fonctionne pas tout à fait raison. J'ai:

config.ru

require 'vendor/sinatra-lib/sinatra.rb'
set :environment, :production
disable :run

require 'myapp.rb'
run Sinatra::Application

myapp.rb

get '/' do
  "Hello world!"
end

et bien sûr tous les libs de soutien dont j'ai besoin pour sinatra sont sous / vendor / lib-sinatra. Je peux rackup cette charge exacte sur ma machine locale, et il fonctionne comme un champion. Cependant, sur la machine distante, je reçois des réponses de 0 octet pour une URL que j'essaie de visiter. Notez que j'ai un / répertoire public, et je peux voir les pages sur ce succès, donc je suppose que rack répond toujours. Aussi, je peux lancer une application Rack de base sans aucun problème, donc rack doit être configuré correctement (au moins, correctement pour des applications en cours d'exécution en rack).

À ce stade, la seule chose que je peux penser est de vérifier la version du rack, etc., sur le serveur distant. Je ne suis pas le plein contrôle sur la boîte, donc je n'ai pas vraiment sortie du journal à partager. Je peux essayer de le chasser vers le bas, s'il est important, mais j'espère que quelque chose va sauter à quelqu'un.

Était-ce utile?

La solution 2

Merci à vous tous pour jouer, se est avéré être un problème de dépendance - le serveur je déployé en était en cours d'exécution d'une version de rack qui était trop vieux pour soutenir Sinatra. Beaucoup de bonnes autres choses à penser, cependant.

Autres conseils

Je pense que le problème est que les autres fichiers sinatra ne sont pas dans la charge dir. Essayez de renommer vendor/sinatra-lib en vendor/sinatra, et si cela ne fonctionne toujours pas, essayez d'ajouter ceci dans le haut de votre config.ru, au lieu de require 'vendor/...'

$: << 'vendor/sinatra'
require 'sinatra'

Une petite remarque:. Vous n'êtes pas obligé de passer l'extension de fichier (.rb) à require, pour que vous puissiez faire require 'myapp' au lieu de require 'myapp.rb'

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top