在 AWS 上运行 React 应用和 Rails 后端时,可能会遇到与 Redis 服务器和 WebSocket 相关的问题。我们可以尝试以下解决方案:
redis-cli ping
如果返回 “PONG”,则表示连接已成功建立。
redis-rails
gem 来实现 Redis 的配置,具体方法如下:# config/application.rb
config.cache_store = :redis_store, { url: ENV['REDIS_URL'] }
redis.js
库来实现 WebSocket 的连接。具体方法如下:import Redis from 'redis';
const redisClient = Redis.createClient(process.env.REDIS_URL);
// 在组件中使用 WebSockets
const ws = new WebSocket(`ws://${process.env.HOST}:${process.env.PORT}/websocket`);
// 在 WebSocket 打开时向 Redis 发送消息
ws.onopen = () => {
redisClient.publish('chat', 'Hello, world!');
}
// 在 Redis 接收到消息时将其广播给 WebSocket
redisClient.on('message', (channel, message) => {
console.log(`Received message ${message} in channel ${channel}`);
ws.send(message);
});
通过以上方法,我们可以顺利地在 AWS 上运行 React 应用和 Rails 后端,并且实现了 WebSocket 的连接和消息传递。