Passenger not work on my subdomain

software development

#1

Hello everyone,
I set Passenger on my subdomain where I have installed my ruby app but, when I try to connect to it, I can see only the list of files of folder “public”.
Why? I really don’t understand :(.
If I try in the shell terminal: “ruby script/server -d” my app work.


#2

At DH, Passenger dispatches web requests via an interface called Rack.

Rack looks for a file named “config.ru” in the directory above
of your public directory. (PAY ATTENTION !!! - It goes in the parent
of public NOT in public.) You need to put some ruby code in
config.ru that will in turn run your app.

Here is a “hello world” config.ru file -
run Proc.new {|env| [200, {“Content-Type” => “text/html”}, “Hello World!
”+env.inspect]}

A key point (PAY ATTENTION !!! If you don’t do this, nothing will work.) -
Once you have modified/created config.ru or your app you need to create
a directory named “tmp” as a sibling of your public directory
(i.e. directly below the directory containing config.ru) and
then run “touch tmp/restart.txt” from the shell (or otherwise
change the modification date of tmp/restart.txt.) Passenger caches
lots of stuff. So it probably will not notice any changes unless you
tell it to do so by running “touch tmp/restart.txt” each time
you change something in your code.

Look around the web for documentation on Rack.
There is a lot of good stuff.

PS - Don’t feel bad about getting stuck.
The DH documentation on this stuff needs a lot of work.
It took me two days of poking around to figure out how
Apache/Passenger/Rack/RoR all fit together here. I’m in the process
of adding what I learned to the DH wiki pages which are VERY out
of date.