首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Puma -使用配置文件运行服务器时显示完整日志

基础概念

Puma 是一个用于 Ruby 应用程序的高性能 HTTP 服务器。它以其快速启动时间和低内存占用而闻名。Puma 支持多种配置方式,包括使用配置文件来运行服务器。

配置文件运行服务器

Puma 的配置文件通常是一个 .rb 文件,例如 puma.rb。这个文件可以包含各种配置选项,如线程数、绑定地址、日志级别等。

显示完整日志

在 Puma 中,日志级别可以通过配置文件进行设置。默认情况下,Puma 可能只显示基本信息,但通过配置可以使其显示更详细的日志信息。

相关优势

  1. 高性能:Puma 设计用于处理高并发请求,具有快速的启动时间和低内存占用。
  2. 灵活性:支持多种配置方式,可以根据应用需求进行调整。
  3. 易于集成:与 Ruby on Rails 等框架集成良好,易于部署和管理。

类型

Puma 的配置文件可以包含以下类型的配置:

  • 基本配置:如绑定地址、端口、线程数等。
  • 日志配置:如日志级别、日志文件路径等。
  • 高级配置:如工作进程管理、信号处理等。

应用场景

Puma 适用于需要高性能 HTTP 服务器的 Ruby 应用程序,特别是:

  • Web 应用:处理大量并发请求的 Web 应用。
  • API 服务:提供高性能 API 服务的应用程序。
  • 微服务:作为微服务架构中的 HTTP 服务器。

遇到的问题及解决方法

问题:使用配置文件运行服务器时显示完整日志

原因:可能是 Puma 的日志级别没有正确设置,导致只显示基本信息。

解决方法:在配置文件中设置日志级别为 debuginfo,以显示更详细的日志信息。

示例代码

假设你的 Puma 配置文件 puma.rb 如下:

代码语言:txt
复制
# puma.rb
workers ENV.fetch("WEB_CONCURRENCY") { 2 }
threads_count = ENV.fetch("RAILS_MAX_THREADS") { 5 }
threads threads_count / workers, threads_count

preload_app!

rackup DefaultRackup
port ENV.fetch("PORT") { 3000 }
environment ENV.fetch("RAILS_ENV") { "development" }

on_worker_boot do
  ActiveRecord::Base.establish_connection
end

# 设置日志级别为 debug
log_level :debug

在这个示例中,我们将日志级别设置为 debug,这样 Puma 将会显示更详细的日志信息。

参考链接

通过以上配置,你应该能够在使用配置文件运行 Puma 服务器时显示完整日志。如果仍然遇到问题,请检查配置文件的路径和内容是否正确,并确保 Puma 版本是最新的。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

如何在Ubuntu 14.04上使用Puma和Nginx部署Rails应用程序

随意替换突出显示的“appname”与其他东西: rails new appname -d postgresql 然后切换到应用程序目录: cd appname 我们花一点间来创建将由Rails应用程序的生产环境使用的...要安装Puma以及任何未完成的依赖项,请运行Bundler: bundle Puma现已安装,但我们需要对其进行配置。 配置Puma 在配置Puma之前,您应该查找服务器具有的CPU核心数。...这会将Puma配置为应用程序的位置,以及其套接字,日志和PID的位置。随意修改文件,或添加您需要的任何其他选项。...,这样我们就可以轻松启动和停止Puma,并确保它在启动启动。...现在,您的应用程序配置为在启动通过Upstart启动。这意味着即使在重新启动服务器后,您的应用程序也会启动。

5.4K10

使用Capistrano,Nginx和Puma在Ubuntu 14.04上部署Rails应用程序

Nginx将用于捕获客户端请求并将其传递给正运行Rails的Puma Web服务器。...我们将使用Capistrano自动执行常见的部署任务,因此每次我们必须将新版本的Rails应用程序部署到服务器,我们都可以通过一些简单的命令来实现。...注意:如果第二个命令失败并显示消息“GPG签名验证失败”,则表示GPG密钥已更改,只需从错误输出中复制命令并运行它以下载签名。然后运行用于RVM安装的curl命令。...git遥控器是否是最新的 管理您应用的日志 在管理Puma工作人员将应用程序预加载到内存中 完成部署后启动(或重新启动)Puma服务器 在发行版中的特定位置打开Puma服务器的套接字 您可以根据需要更改所有选项...这可能需要5-15分钟,具体取决于您的应用使用的Gems数量。在此过程发生,您将看到调试消息。 如果一切顺利,我们现在准备将您的Puma Web服务器连接到Nginx反向代理。

5K40
  • 如何在Ubuntu 14.04上使用Git Hooks部署Rails应用程序

    当我们将gem添加到应用程序的Gemfile,需要运行此bundle install命令。由于安装步骤因操作系统而异,因此这是留给读者的练习。...这会将Puma配置为应用程序的位置,以及其接口,日志和PID的位置。随意修改文件,或添加您需要的任何其他选项。...我们需要创建post-receive git hook,这是在生产服务器收到git push运行的脚本。...这些是每次将主分支推送到生产git remote(appname_production)运行的命令。...当生产远程接收推送,它将执行我们之前设置的post-receivehook脚本。如果正确设置了所有内容,现在应该可以在生产服务器的公共IP地址上使用您的应用程序。

    2.5K60

    私有化代码仓库Gitlab的落地与应用(一)

    刚好在此之前我用Docker搭建过一个Gitlab,但使用了几天,出现了诸多问题,维护起来也比较麻烦,最终决定按照传统方法重新搭建。截至目前,服务已平稳运行数月。...端口被占用 默认的端口号是8080,可以使用netstat -ntpl 或 lsof -i:8080 命令来查看端口占用情况 通过后台运行日志,排查如果是因为端口被占用引起的,可以按照上述修改配置文件方法...,将配置文件中的端口号修改即可,修改后需要按照第4步重新加载配置文件、重启服务。.../目录下,生成的文件名如1633777959_2021_10_09_14.0.6_gitlab_backup.tar,其中14.0.6是当前gitlab的版本号,恢复使用的gitlab必须是同样的版本号...2.新服务器上恢复数据 将备份文件复制到新服务器的/var/opt/backups/目录下,停掉gitlab的puma、sidekiq两个服务,然后执行恢复操作 gitlab-ctl stop puma

    1.2K20

    搭建和部署GitLab代码托管平台,自己的CICD堡垒

    如果你后期想查看ZRAM的使用,可以使用命令:# 显示当前系统上所有zram设备的详细信息,包括设备编号、压缩算法、设备大小、使用的内存等sudo zramctl图片Dcoker准备Docker的部署,...图片图片之后,可以使用docker命令查看日志来观察GitLab容器初始化:sudo docker logs -f gitlab图片图片最后,访问即可:图片简单“装修”配置一下,就可以使用了;比如:为Push...More当然,更多的配置你也可以在配置文件内实现,比如我们使用8822映射了容器内22的SSH端口。这样前台使用SSH模板克隆有点不方便,如何让它显示8822呢?...如果你希望GitLab占用资源少一点,你可以现在线程:# 现在puma的线程数puma['worker_processes'] = 2puma['min_threads'] = 2puma['max_threads...如何迁移服务器迁移服务器,最简单的方法,就是拷贝完整的/dockerData目录;在新的服务器上,重新部署和映射。END好啦,本次的Docker部署GitLab就到这里。

    4K31

    Rails 部署总结

    --more--> 准备工作 在开始部署之前有些准备工作需要去完成,这些准备工作其实在每次开始新建服务器后你都要去做。 为了安全起见我一般习惯不使用密码登录服务器而是使用 SSH 的方式。...: $ sudo apt-get update $ sudo apt-get upgrade 现在开发过程中 Git 服务几乎是必不可少的,为了更好的使用它需要对服务器 .ssh 文件夹进行设置: $...puma 设置 接下来我们需要将 puma 配置为生产环境,打开配置文件: $ vim config/puma.rb 将其修改为: # Change to match your CPU core count...Puma,并确保在服务器启动同时启动。...要访问我们之前创建的Tasks controller,在web浏览器里面访问: http://server_public_IP 你会看到和第一次测试同样的页面,不过现在被架设在了nginx和Puma

    6.9K50

    自制 Web 服务器了解一下

    现在,我利用它运行一个Puma Web服务器,上面跑着一个简单的Sinatra应用。 在进一步介绍之前,你也许会想:这有什么实际的用途吗?...当然,Sinatra和Puma只是建议,你甚至可以在手机上运行完整的Rails应用程序。只要别使用默认的Rails开发服务器WEBRick就行,它只有单进程、单线程,因此不适合生产环境。...在安卓上运行: pkg install ruby gem install sinatra puma 安装nginx nginx是Web服务器、反向代理和负载均衡器。...在安卓上运行: pkg install nginx 接下来需要一点小技巧,才能让nginx与Puma相互配合。...运行Hello world! 负载测试 你可以用siege这个HTTP负载测试软件来模拟真实世界中的使用情况。

    2.9K40

    Ruby 应用容器封装踩坑记录(Lobsters)

    一来,目前线上运行的应用必须以容器方式进行交付运行,我们使用容器的方式注册应用,对外提供服务; 二来,个人倾向并坚持使用容器方案,可以方便后续快速水平扩展;以及最重要的一点,“代码和命令皆有记录”,方便离线的问题排查...考虑到实际运行环境已经升级到 ruby 2.4 ,故这里需要对容器配置文件进行修改,将 BASE_IMAGE=ruby:2.3-alpine 修改为 BASE_IMAGE=ruby:2.4-alpine..." # ------------------------------------------- 还记得之前的容器配置文件中,有一句 su lobsters -c "bundle add puma -...虽然我们在容器镜像构建将 root 切换到 lobsters 用户,运行应用也使用的是该用户,但是说不定这个 2.7.0 版本就是根本不会读取运行用户路径下的软件呢?...在写完这篇文章后,我对本地和服务器上进行了构建过程镜像清理,清理了大概 50 G 左右的过程产物。 --EOF

    4.8K00

    自托管代码平台Gitlab | 搭建使用教程

    如果您想在未来灵活增加硬盘空间,请考虑使用逻辑卷管理(LVM)进行挂载,以便您在需要更多硬盘空间进行添加。 除了本地硬盘,您也可以挂载支持网络文件系统(NFS)协议的卷。...2.5安装docker和docker-compose 【docker】在服务器上安装docker 3.部署(docker) 3.1创建目录 为gitlab的数据创建一个目录,用来存储gitlab在运行过程中产生的数据...此时你会发现复制ssh地址完整且正确的,但是却无法克隆git会告诉我们连接被拒绝。你会惊奇的发现当前ssh监听端口依然为22并没有因为配置文件的修改而改变。...参考文章:低配置服务器安装GitLab_gitlab最低配置 我们先进入容器: sudo docker exec -it /bin/bash 然后修改配置文件: vi /etc...集群模式 puma['worker_processes'] = 0 puma['min_threads'] = 1 puma['max_threads'

    27410

    Ruby 应用容器封装踩坑记录(Lobsters)

    一来,目前线上运行的应用必须以容器方式进行交付运行,我们使用容器的方式注册应用,对外提供服务; 二来,个人倾向并坚持使用容器方案,可以方便后续快速水平扩展;以及最重要的一点,“代码和命令皆有记录”,方便离线的问题排查...考虑到实际运行环境已经升级到 ruby 2.4 ,故这里需要对容器配置文件进行修改,将 BASE_IMAGE=ruby:2.3-alpine 修改为 BASE_IMAGE=ruby:2.4-alpine...第四回合:完成 Ruby 2.4 软件运行环境 在幸运倔强下,这次软件正常运行起来了。 Puma starting in single mode......虽然我们在容器镜像构建将 root 切换到 lobsters 用户,运行应用也使用的是该用户,但是说不定这个 2.7.0 版本就是根本不会读取运行用户路径下的软件呢?...在写完这篇文章后,我对本地和服务器上进行了构建过程镜像清理,清理了大概 50 G 左右的过程产物。 --EOF

    7.4K10

    rails -help

    Active Record 文件 [--skip-active-storage], [--no-skip-active-storage] 跳过 Active Storage 文件 -P, [--skip-puma...], [--no-skip-puma] 跳过Puma相关文件 -C, [--skip-action-cable], [--no-skip-action-cable] 跳过 Action Cable...) 运行时选项: 选项 说明 -f, [--force] 覆盖已存在的文件 -p, [--pretend], [--no-pretend] 运行但不做任何更改 -q, [--quiet], [--...-v, [--version], [--no-version] 显示Rails版本号并退出 描述: 'rails new'命令创建一个带有默认值的新Rails应用程序   你指定的路径上的目录结构和配置...您可以指定每次使用的额外命令行参数 'rails new'在主目录的.railsrc配置文件运行。 请注意,.railsrc文件中指定的参数不会影响 默认值此帮助消息中显示的值。

    2.6K30

    使用 Mastodon 搭建个人信息平台:调优篇

    在后台页面的侧边栏中选择“管理”,就可以看到展示应用当前运行状况的信息面板啦。 Mastodon 默认运行状况 在图片中我们可以看到“服务器配置”中的“全文搜索”目前是关闭着的。...为了让服务正常使用,我们需要在前文中提到的配置文件 .env.production 中添加一些内容: ES_ENABLED=true ES_HOST=es ES_PORT=9200 接着使用 docker-compose...但是在使用的过程中,不出意外,会遇到下面两个警告和错误提示,而导致页面无法显示图片。...解决前端资源使用错误协议 不论你使用上面哪一种方案,在问题解决后,你会发现哪怕页面 meta 信息、接口响应字段中都是 https 协议的主机地址,Mastodon Web 端在渲染界面中图片的,始终会触发两次元素绘制...Web 服务是 Puma,默认启动后,查看日志我们可以看到进程的使用情况: [9] Puma starting in cluster mode... [9] * Puma version: 5.3.2

    2.4K11

    mysql日志binlog消费初体验

    由于记录的只是执行语句,为了这些语句能在slave上正确运行,因此还必须记录每条语句在执行的时候的一些相关信息,以保证所有语句能在slave得到和在master端执行时候相同 的结果。...,alter表等操作,ROW格式会产生大量日志,因此在考虑是否使用ROW格式日志应该跟据应用的实际情况,其所产生的日志量会增加多少,以及带来的IO性能问题。...添加这一行就ok binlog-format=row #选择row模式 server_id=1 #配置mysql replaction需要定义,不能和canal的slaveId重复 在mysql的my.ini配置文件中加上如上配置后重启...:https://github.com/shyiko/mysql-binlog-connector-java 阿里的canal:https://github.com/alibaba/canal 点评的puma...:https://github.com/dianping/puma

    2.2K80

    storm流式处理框架

    最初,用户属性分析是通过每天在云梯上定时运行的MR job来完成的。为了满足实时性的要求,希望能够实时分析用户的行为日志,将最新的用户属性反馈给搜索引擎,能够为用户展现最贴近其当前需求的结果。...利用HTML5提供的performance标准获得可用的指标,并记录日志。Storm集群实时分析日志和入库。使用DRPC聚合成报表,通过历史数据对比等判断规则,触发预警事件。...Puma:Facebook使用puma和Hbase相结合来处理实时数据,使批处理 计算平台具备一定实时能力。 不过这不算是一个开源的产品。只是内部使用。...需要知道Storm不是一个完整的解决方案。使用Storm你需要加入消息队列做数据入口,考虑如何在流中保存状态,考虑怎样将大问题用分布式去解决。解决这些问题的成本可能比增加一个服务器的成本还高。...: sparse submit 没有报错就表示已经提交拓扑到storm上了,打开ui地址,可以看到拓扑一栏里已经显示有wordcount的拓扑在运行

    95250

    GitLab 14 轻量化运行方案

    但是众所周知,GitLab 在 v10 版本之后,不断增加功能,逐渐调整重心为一站式平台,产品趋于面向公司和组织,导致其对于服务器资源的依赖与日俱增,从最初的 1GB 左右内存的资源就能流畅运行,膨胀到了目前至少需要...6~7 个GB内存才能够顺滑运行。...至于 Gitaly ,实测之后,不建议进行调整,一来节约资源非常非常有限,二来 Gitaly 运行数量如果被过分限制会直接影响使用体验,详见下文。...(集群化部署的时候,为了保障体验,我们甚至需要独立部署 Gitaly 服务) # 禁用 PUMA 集群模式 puma['worker_processes'] = 0 puma['min_threads'...,更新到配置文件中,完整配置如下: version: "3" services: gitlab: restart: always image: gitlab/gitlab-ce:

    4.7K21

    如何在Ubuntu 14.04上使用Unicorn和Nginx部署Rails应用程序

    Unicorn是一个应用服务器,就像Passenger或者Puma一样,它使您的Rails应用程序能够同时处理请求。...随意替换突出显示的“appname”与其他东西: rails new appname -d postgresql 然后切换到应用程序目录: cd appname 我们花一点间来创建将会在Rails应用程序的生产环境使用的...在您喜欢的文本编辑器中打开应用程序的数据库配置文件。...首先,生成密钥,用于验证签名cookie的完整性: cd ~/appname rake secret 复制生成的密钥,然后使用您喜欢的编辑器打开文件.rbenv-vars。...为此,请运行以下命令: RAILS_ENV=production rake assets:precompile 测试应用 要测试您的应用程序是否有效,您可以运行生产环境,并将其绑定到服务器的公共IP地址

    4.3K00

    插件使用详解

    插件的原理很简单,它自己启动了一个ruby的服务器,用于接收Http请求。然后会把host(IP地址)和header相关的信息添加到event中。 下面就看看这个插件如何使用吧!...port 是http插件中服务器运行的端口号。只要发送到“本机IP”:"该端口号"的数据都可以被http插件接收到。...如果想要使用,再去参考文档吧! 源码初探 阅读插件的源码是为了更好的理解插件的使用,并且在出错的时候知道哪里出现了问题。Logstash的插件往往都有固定的书写格式,因此很容易看到插件的核心代码。...def register require "logstash/util/http_compressed_requests" # 创建Puma服务器 @server = ::Puma...服务器Puma是一款ruby的高性能服务器

    2.6K80
    领券