Puma 是一个高性能的 Ruby Web 服务器,它可以用来在本地开发环境中运行 Rails 应用程序。下面是一个示例的最佳 Puma 配置,包含代码示例:
在 Rails 项目的根目录下创建一个名为 config/puma.rb
的文件。
在 config/puma.rb
文件中添加以下内容:
workers ENV.fetch("WEB_CONCURRENCY") { 2 } # 设置 worker 进程数量
threads_count = ENV.fetch("RAILS_MAX_THREADS") { 5 } # 设置线程数
threads threads_count, threads_count
preload_app! # 预加载应用程序以提高性能
rackup DefaultRackup
port ENV.fetch("PORT") { 3000 } # 设置 Puma 运行的端口号
environment ENV.fetch("RAILS_ENV") { "development" } # 设置环境变量
on_worker_boot do
ActiveRecord::Base.establish_connection # 在 Worker 进程中重启数据库连接
end
before_fork do
ActiveRecord::Base.connection_pool.disconnect! # 在 Worker 进程终止前断开数据库连接
end
这是一个基本的 Puma 配置,在该示例中,我们设置了 2 个 worker 进程和 5 个线程。你可以根据自己的需求进行调整。
bundle exec puma -C config/puma.rb
这样,Puma 将会使用 config/puma.rb
文件中的配置来运行 Rails 服务器。
希望这个示例能帮助你配置最佳的 Puma 配置来进行本地开发。