Redis导致Action Cable错误,本地服务器自动关闭
Redis caused Action Cable error and the local server was automatically shut down
我有一个 Rails 项目,其中 Action Cable 使用 Redis。 PC环境是Windows10+Ubuntu18,由于我安装了Docker导致Ubuntu无法正常运行,所以我卸载重装Ubuntu.从那以后,我就无法在本地服务器上制作这个 Rails 项目 运行(通过“rails s”或“foreman s”)。
由于我多次编辑“redis.service”和“sysctl.conf”仍然未能解决Redis无法设置最大打开文件的问题,所以我选择删除Redis并安装它再次.
之后,虽然可以暂时激活项目(通过“rails s”或“foreman s”),但一旦我点击项目中的超链接(设备以外的任何网页),服务器将自动关闭。通过日志发现在自动关机前会出现5次同样的错误信息如下:
22:05:11 web.1 | from /home/keaton/.rvm/gems/ruby-2.7.3/gems/actioncable-6.1.4.1/lib/action_cable/subscription_adapter/redis.rb:80:in `listen'
22:05:11 web.1 | from /home/keaton/.rvm/gems/ruby-2.7.3/gems/actioncable-6.1.4.1/lib/action_cable/subscription_adapter/redis.rb:154:in `block in ensure_listener_running'
22:05:11 web.1 | /home/keaton/.rvm/rubies/ruby-2.7.3/lib/ruby/2.7.0/socket.rb:1214:in `__connect_nonblock': Operation now in progress - connect(2) would block (IO::EINPROGRESSWaitWritable)
22:05:11 web.1 | from /home/keaton/.rvm/rubies/ruby-2.7.3/lib/ruby/2.7.0/socket.rb:1214:in `connect_nonblock'
我该如何解决这个问题?我是一个新手,在Rails上学习Ruby才三个月。请帮助我!
与其在 Docker 中使用 Redis,不如查看 Memurai:它是 Redis 的原生 Windows 端口。
免责声明:我在 Memurai 工作。
我有一个 Rails 项目,其中 Action Cable 使用 Redis。 PC环境是Windows10+Ubuntu18,由于我安装了Docker导致Ubuntu无法正常运行,所以我卸载重装Ubuntu.从那以后,我就无法在本地服务器上制作这个 Rails 项目 运行(通过“rails s”或“foreman s”)。
由于我多次编辑“redis.service”和“sysctl.conf”仍然未能解决Redis无法设置最大打开文件的问题,所以我选择删除Redis并安装它再次.
之后,虽然可以暂时激活项目(通过“rails s”或“foreman s”),但一旦我点击项目中的超链接(设备以外的任何网页),服务器将自动关闭。通过日志发现在自动关机前会出现5次同样的错误信息如下:
22:05:11 web.1 | from /home/keaton/.rvm/gems/ruby-2.7.3/gems/actioncable-6.1.4.1/lib/action_cable/subscription_adapter/redis.rb:80:in `listen'
22:05:11 web.1 | from /home/keaton/.rvm/gems/ruby-2.7.3/gems/actioncable-6.1.4.1/lib/action_cable/subscription_adapter/redis.rb:154:in `block in ensure_listener_running'
22:05:11 web.1 | /home/keaton/.rvm/rubies/ruby-2.7.3/lib/ruby/2.7.0/socket.rb:1214:in `__connect_nonblock': Operation now in progress - connect(2) would block (IO::EINPROGRESSWaitWritable)
22:05:11 web.1 | from /home/keaton/.rvm/rubies/ruby-2.7.3/lib/ruby/2.7.0/socket.rb:1214:in `connect_nonblock'
我该如何解决这个问题?我是一个新手,在Rails上学习Ruby才三个月。请帮助我!
与其在 Docker 中使用 Redis,不如查看 Memurai:它是 Redis 的原生 Windows 端口。
免责声明:我在 Memurai 工作。