我正在开发一个使用端口的Rails应用程序,我正在尝试导出它。这是我尝试过的:
到config / environment.rb
# Load the rails application
require File.expand_path('../application', __FILE__)
# Initialize the rails application
Facturas::Application.initialize!
ENV['PORT_NUMBER'] = '12000'
ActionMailer::Base.smtp_settings = {
:address => "smtp.gmail.com",
:port => 587,
:domain => 'gmail.com',
:user_name => 'email',
:password => '****************',
:authentication => 'plain',
:enable_starttls_auto => true }
服务器/ etc / environment上的文件:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
PORT_NUMBER = "12000"
我已经单独和一起尝试了它们但它没有做到这一点,我在一个gem中调用端口号如果有帮助:
port = ENV['PORT_NUMBER'] || find_available_port
我在ubuntu服务器上,与apache和乘客一起工作。
答案 0 :(得分:0)
查看Phusion Passenger手册中的About environment variables附录。
答案 1 :(得分:0)
我已将ENV用于类似目的。如果gem在其加载阶段需要变量,那么我只能猜测。加载gem后加载config / environment.rb。在这种情况下,需要将它放在config / boot.rb中(在Bundler加载gems之前):
require 'rubygems'
ENV['PORT_NUMBER'] = '12000'
对于其他方法,/ etc / environment仅在用户登录时使用,而Apache(在Ubuntu中作为服务启动)则不是这种情况。尝试在Apache中设置ENV http://www.modrails.com/documentation/Users%20guide%20Apache.html#env_vars_passenger_apps