[英]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.