我注意到我的rails服务器在更改后没有重新加载控制器,模型和可能的任何其他文件.我使用Vagrant和Rails API,我发现有些人通过添加以下行来解决这个问题Vagrantfile
.
config.vm.provider "virtualbox" do |vb|
vb.customize [ "guestproperty", "set", :id, "/VirtualBox/GuestAdd/VBoxService/--timesync-set-threshold", 5000 ]
end
Run Code Online (Sandbox Code Playgroud)
它不能解决我的问题.我没有想法我还能做些什么来解决这个问题.我附上可能对您有用的文件.
我Gemfile
看起来像这样:
source 'https://rubygems.org'
gem 'rake', '< 11.0'
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '>= 5.0.0.beta3', '< 5.1'
# Use mysql as the database for Active Record
# gem 'mysql2', '>= 0.3.18', '< 0.5'
# User PostgreSQL as the database for Active Record
gem 'pg', '~> 0.18'
gem 'active_model_serializers'
gem 'rspec-its'
gem 'database_cleaner'
# Use Puma …
Run Code Online (Sandbox Code Playgroud) Gitlab 6.0于昨天发布.我很想知道为什么他们从Puma转到Unicorn.5之前的版本使用Unicorn.我觉得转向Puma是为了更好.
这个开关有技术原因吗?
我正在关注设置Puma并输入此命令的Heroku文档:
bundle exec puma -t 5:5 -p ${PORT:-3000} -e ${RACK_ENV:-development}
Run Code Online (Sandbox Code Playgroud)
这使我现在每次运行时都在我的开发环境中运行puma rails s
.但是,或者Puma导致havok的任何原因.如何切换回使用WEBrick?
试着
bundle exec webrick -p ${PORT:-3000} -e ${RACK_ENV:-development}
Run Code Online (Sandbox Code Playgroud)
但当然,找不到命令:webrick.知道'太容易了......
谢谢!
我想将一个rails应用程序部署到数字海洋小滴,所有似乎都配置正常,但我收到此错误:
An unhandled lowlevel error occurred. The application logs may have details.
Run Code Online (Sandbox Code Playgroud)
由于日志是空的,我不知道该怎么做.
这是nginx配置:
upstream puma {
server unix:///home/yourcv.rocks/shared/tmp/sockets/yourcv.rocks-puma.sock;
}
server {
listen 80 default_server deferred;
server_name 127.0.0.1;
root /home/yourcv.rocks/current/public;
access_log /home/yourcv.rocks/current/log/nginx.access.log;
error_log /home/yourcv.rocks/current/log/nginx.error.log info;
location ^~ /assets/ {
gzip_static on;
expires max;
add_header Cache-Control public;
}
try_files $uri/index.html $uri @puma;
location @puma {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://puma;
}
error_page 500 502 503 504 /500.html;
client_max_body_size 10M;
keepalive_timeout 10;
}
Run Code Online (Sandbox Code Playgroud)
谢谢!:)
我刚刚将一个Rails应用程序部署到Elastic Beanstalk,每个请求都给我一个502错误.
这是/var/logs/nginx/error.log的内容
2015/05/20 16:24:25 [warn] 1535#0: conflicting server name "localhost" on 0.0.0.0:80, ignored
2015/05/20 16:27:12 [crit] 1537#0: *20 connect() to unix:///var/run/puma/my_app.sock failed (2: No such file or directory) while connecting to upstream, client: 172.31.51.94, server: _, request: "POST /get HTTP/1.1", upstream: "http://unix:///var/run/puma/my_app.sock:/get", host: "securities-api-prod.elasticbeanstalk.com"
2015/05/20 16:27:17 [crit] 1537#0: *20 connect() to unix:///var/run/puma/my_app.sock failed (2: No such file or directory) while connecting to upstream, client: 172.31.51.94, server: _, request: "POST /get HTTP/1.1", upstream: "http://unix:///var/run/puma/my_app.sock:/get", host: "securities-api-prod.elasticbeanstalk.com"
2015/05/20 16:27:19 [crit] 1537#0: …
Run Code Online (Sandbox Code Playgroud) ruby-on-rails nginx amazon-ec2 puma amazon-elastic-beanstalk
我无法按照需要在heroku上托管我的sinatra/ruby应用程序.我摆弄了一些试图解决这个问题的设置,但到目前为止还没有结果.
ActiveRecord::ConnectionNotEstablished - No connection pool for User:
2015-06-25T14:26:11.736854+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/activerecord-4.2.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:566:in `retrieve_connection'
2015-06-25T14:26:11.736856+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/activerecord-4.2.1/lib/active_record/connection_handling.rb:113:in `retrieve_connection'
2015-06-25T14:26:11.736858+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/activerecord-4.2.1/lib/active_record/connection_handling.rb:87:in `connection'
Run Code Online (Sandbox Code Playgroud)
用户是我的ActiveRecords表之一,应用程序失败,因为我尝试查询它.
我使用sinatra与puma备份.这是我的Procfile:
web: ruby app/my-server.rb -s puma
Run Code Online (Sandbox Code Playgroud)
我还在检查有多少打开的连接使用:
select count(*) from pg_stat_activity where pid <> pg_backend_pid() and usename = current_user;
Run Code Online (Sandbox Code Playgroud)
但它每次都说0.
我正在主持应用程序的免费计划和开发计划的herokupostgres.
我还注意到,在短时间内有2次快速调用api时会出现问题.就像只有1个,而不是5个连接可用,因为第一次呼叫成功,第二次呼叫失败.在我的database.yml中,我将池设置为5.
我在Rails 4.2.1和Postgres 9.4上
这是我的database.yml以及:
default: &default
adapter: postgresql
encoding: utf8
pool: 5
timeout: 5000
production:
<<: *default
host: my_db_address
port: 5432
database: my_db_name
username: my_db_user_name
password: my_db_password
< test and development ommited >
Run Code Online (Sandbox Code Playgroud)
我是否会错过一些配置或免费的heroku计划窒息?
我可以使用rails s puma
或只是在rails中运行puma服务器puma
.
根据这个答案,运行rails s puma
使服务器知道rails环境.它显示puma
单独运行的服务器错误等.
我想像这样设置一个配置文件:
配置/ puma.rb
workers Integer(ENV['PUMA_WORKERS'] || 3)
threads Integer(ENV['MIN_THREADS'] || 1), Integer(ENV['MAX_THREADS'] || 16)
rackup DefaultRackup
port ENV['PORT'] || 3000
environment ENV['RACK_ENV'] || 'development'
...
Run Code Online (Sandbox Code Playgroud)
如果我运行puma -C config/puma.rb
一切正常.但是,如果我跑,rails s puma
我无法解决如何给彪马选项.我尝试过以下方法:
rails s puma # Puma server works but no config file is passed in.
rails s puma -C config/puma.rb # Invalid option -C
rails s puma -c config/puma.rb # Undefined …
Run Code Online (Sandbox Code Playgroud) 这是一个AWS问题,我正在使用Ruby 2.2(Puma)平台.
我编译的资产(在/ public/assets中)按预期提供./ public中的其他资产未被提供(404).
我在哪里配置?这是一个nginx问题吗?还是美洲狮问题?
或者这只是一个AWS图像问题?
这是一个实例(robots.txt应该从根目录提供):http: //staging.us-west-2.elasticbeanstalk.com/public/robots.txt
值得一提的是,默认的Passenger平台图像开箱即用.
我有一个 Rails 6 api-only 应用程序,我无法在 AWS Elastic Beanstalk 上运行。部署该应用程序后,puma 卡住消息“提前终止工作人员”。我没有该项目的任何自定义配置或设置。只需创建一个环境并上传存档的 zip 文件。
使用命令杀死 puma 进程后,pkill -9 -f puma
我的 puma.log 文件如下所示:
=== puma startup: 2020-01-22 13:17:45 +0000 ===
=== puma startup: 2020-01-22 13:17:45 +0000 ===
[28858] Early termination of worker
[28856] Early termination of worker
[28862] Early termination of worker
[28865] Early termination of worker
[28869] Early termination of worker
Run Code Online (Sandbox Code Playgroud)
我搜索了那个错误,没有找到解决办法。
我将 Puma 与运行在 AWS 上的 64 位 Amazon Linux/2.11.2 上的 Ruby 2.6 …
有很多关于Puma的讨论以及它如何比Unicorn更快.但是,他们也提到它更适合JRuby和Rubinius的实例.
我的问题:Ruby 1.9.3的Rails 3.2应用程序怎么样?独角兽还是彪马?
puma ×10
ruby-on-rails ×10
nginx ×3
unicorn ×2
amazon-ec2 ×1
capistrano ×1
gitlab ×1
passenger ×1
postgresql ×1
sinatra ×1
vagrant ×1
webrick ×1