Left: | ||
Right: |
LEFT | RIGHT |
---|---|
1 #!/usr/bin/ruby | 1 #!/usr/bin/ruby |
2 | |
3 require 'etc' | |
2 | 4 |
3 Dir.chdir(File.dirname(__FILE__)) | 5 Dir.chdir(File.dirname(__FILE__)) |
4 ENV['RAILS_ENV'] ||= 'production' | 6 ENV['RAILS_ENV'] ||= 'production' |
5 ENV['GEM_HOME'] = File.expand_path('~discourse/.gems') | 7 ENV['GEM_HOME'] = "#{Etc.getpwuid.dir}/.gems" |
6 ENV['GEM_PATH'] = File.expand_path('~discourse/.gems') + ':/var/lib/gems/1.9.1' | 8 ENV['GEM_PATH'] = "#{ENV['GEM_HOME']}:/var/lib/gems/1.9.1" |
Felix Dahlke
2013/02/21 15:56:02
How about ENV['GEM_HOME'] + ':/var/lib/gems/1.9.1'
Wladimir Palant
2013/02/22 13:52:54
Done that and also got rid of the hardcoded user n
Felix Dahlke
2013/02/22 13:56:01
That should do:
gem env gemdir
Wladimir Palant
2013/02/22 13:59:34
And now from inside Ruby please, without starting
Wladimir Palant
2013/02/27 17:03:02
Now that we are no longer using FCGI this should b
| |
7 | 9 |
8 require 'fcgi' | 10 require 'fcgi' |
9 require_relative 'config/environment' | 11 require_relative 'config/environment' |
10 | 12 |
11 class Rack::PathInfoRewriter | 13 class Rack::PathInfoRewriter |
12 def initialize(app) | 14 def initialize(app) |
13 @app = app | 15 @app = app |
14 end | 16 end |
15 | 17 |
16 def call(env) | 18 def call(env) |
17 env.delete('SCRIPT_NAME') | 19 env.delete('SCRIPT_NAME') |
18 parts = env['REQUEST_URI'].split('?') | 20 parts = env['REQUEST_URI'].split('?') |
19 env['PATH_INFO'] = parts[0] | 21 env['PATH_INFO'] = parts[0] |
20 env['QUERY_STRING'] = parts[1].to_s | 22 env['QUERY_STRING'] = parts[1].to_s |
21 @app.call(env) | 23 @app.call(env) |
22 end | 24 end |
23 end | 25 end |
24 | 26 |
25 Rack::Handler::FastCGI.run Rack::PathInfoRewriter.new(Discourse::Application) | 27 Rack::Handler::FastCGI.run Rack::PathInfoRewriter.new(Discourse::Application) |
LEFT | RIGHT |