繁体   English   中英

将变量导出到生产环境

[英]Export variable to production environment

我正在使用端口的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和passenger一起工作。

查看Phusion Passenger手册中的关于环境变量附录。

我已经将ENV用于类似目的。 我可以猜测的唯一问题是,gem在加载阶段是否需要该变量。 加载gem后,config / environment.rb被加载。 在这种情况下,需要将其放在顶部的config / boot.rb中(在捆绑程序加载gem之前):

    require 'rubygems'
    ENV['PORT_NUMBER'] = '12000'

对于其他方法,/ etc / environment仅在用户登录时使用,而Apache(在Ubuntu中作为服务启动)不是这种情况。 尝试在Apache http://www.modrails.com/documentation/Users%20guide%20Apache.html#env_vars_passenger_apps中设置ENV

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM