我需要在
config/boot.rb
文件中配置服务器端口。看看lib/rails/commands/server/server_command.rb
,我们有这个:
125 def perform
126 set_application_directory!
127 Rails::Server.new(server_options).tap do |server|
128 # Require application after server sets environment to propagate
129 # the --environment option.
130 require APP_PATH
131 Dir.chdir(Rails.application.root)
132 server.start
133 end
134 end
135
136 no_commands do
137 def server_options
138 {
139 user_supplied_options: user_supplied_options,
140 server: @server,
141 log_stdout: @log_stdout,
142 Port: port,
143 Host: host,
144 DoNotReverseLookup: true,
145 config: options[:config],
146 environment: environment,
147 daemonize: options[:daemon],
148 pid: pid,
149 caching: options["dev-caching"],
150 restart_cmd: restart_command
151 }
152 end
153 end
如何从 config/boot.rb 配置端口? 预先感谢。
我也尝试过猴子补丁 boot.rb 来更改端口,但没有成功。经过浏览,我了解到 Rails 5 附带了 puma,它在 config/puma.rb 中配置。您可以更改该文件中的默认端口号,或者通过在启动 Rails 之前设置 PORT 环境变量来覆盖它。
config/puma.rb
# Specifies the `port` that Puma will listen on to receive requests;
# default is 3000.
port ENV.fetch("PORT") { 3000 }
我希望这有帮助。