| 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 |