Socket.io和php
我已经用socket.io配置了我的ionic 4应用程序,并按照socket.io网站上的说明进行了操作。在localhost上一切正常,因为当我在命令行中键入Socket.io和php,php,ionic-framework,socket.io,chat,ionic4,Php,Ionic Framework,Socket.io,Chat,Ionic4,我已经用socket.io配置了我的ionic 4应用程序,并按照socket.io网站上的说明进行了操作。在localhost上一切正常,因为当我在命令行中键入node index.js时,服务器socket.io启动,同一网络中的所有用户都可以在同一个房间里聊天 我如何配置东西,使其在在线服务器上工作?像配置php一样?这是一个相当复杂的设置。我几乎所有的应用程序都有它。下面是: 首先,您需要在服务器上安装redis和node 现在,要从服务器触发通知,请创建一个帮助器: <?php
node index.js
时,服务器socket.io启动,同一网络中的所有用户都可以在同一个房间里聊天
我如何配置东西,使其在在线服务器上工作?像配置php一样?这是一个相当复杂的设置。我几乎所有的应用程序都有它。下面是: 首先,您需要在服务器上安装redis和node 现在,要从服务器触发通知,请创建一个帮助器:
<?php
namespace App\Helpers;
class SocketIo
{
public static function trigger($event, $data)
{
$redisChannel = 'socket-io';
$redis->publish($redisChannel, json_encode([
'event' => $event,
'data' => $data
]));
}
}
在您的包.json
依赖项中:
"dependencies": {
"dotenv": "^4.0.0",
"ioredis": "^3.1.4",
"socket.io": "^2.0.3"
}
当然,运行npm install
来安装依赖项,然后可以转到node socket.js
来运行它
在生产中,您需要安装类似于pm2
或supervisor
的东西,以保持socket.js
始终运行
pm2 start socket.js
如果您想与supervisor一起使用,以下是配置:
[program:socket-io]
process_name=%(program_name)s_%(process_num)02d
command=node /var/www/express-callback/socket.js
autostart=true
autorestart=true
user=root
numprocs=1
redirect_stderr=true
logfile_maxbytes=1MB
stdout_logfile=/var/www/express-callback/storage/logs/socket-io.log
您可以使用
https://www.heroku.com/
NodeJs的托管。它简单而自由。您只需用生成的heroku应用程序替换本地主机链接。
[program:socket-io]
process_name=%(program_name)s_%(process_num)02d
command=node /var/www/express-callback/socket.js
autostart=true
autorestart=true
user=root
numprocs=1
redirect_stderr=true
logfile_maxbytes=1MB
stdout_logfile=/var/www/express-callback/storage/logs/socket-io.log