因为项目需要,linux服务器需要配置Swoole通讯,经各种调试和排查,终于圆满解决,
分享记录如下:
B:配置swoole通信执行文件:文件名为server.php 代码如下:
项目准备:
A:完成swoole通讯配置文件的配置(注意自己的目录)文件名:socket.config.php,代码如下:
<?php
/**
* socket server配置文件,重启后生效
*/
// 开发模式开关
define('SOCKET_SERVER_DEBUG', false);
// 设置服务端IP
define('SOCKET_SERVER_IP', 'localhost');
// 设置服务端端口
define('SOCKET_SERVER_PORT', '9501');
// 设置是否启用SSL,如果站点用了https的话,false改成true,并配置下面的key文件和pem文件路径
define('SOCKET_SERVER_SSL', true);
// 设置SSL KEY文件路径
define('SOCKET_SERVER_SSL_KEY_FILE', '/www/server/panel/vhost/cert/www.xxxx.com/privkey.pem');
// 设置SSL CERT文件路径
define('SOCKET_SERVER_SSL_CERT_FILE', '/www/server/panel/vhost/cert/www.xxxx.com/fullchain.pem');
// 设置启动的worker进程数
define('SOCKET_SERVER_WORKNUM', 8);
// 设置你的域名,如果用了https,请填写配置了https的那个域名
define('SOCKET_CLIENT_IP', 'www.xxxx.com');
在上述代码中:
1.因为开启了ssl(https):
所以需要设置证书路径,证书路径在网站配置文件里可以看到
#SSL
SSLEngine On
SSLCertificateFile /www/server/panel/vhost/cert/www.xxxx.com/fullchain.pem
SSLCertificateKeyFile /www/server/panel/vhost/cert/www.xxxx.com/privkey.pem
SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
SSLProtocol All -SSLv2 -SSLv3 -TLSv1
SSLHonorCipherOrder On
sslkey、cert的路径就填:
/www/server/panel/vhost/cert/www.xxxx.com/fullchain.pem
/www/server/panel/vhost/cert/www.xxxx.com/privkey.pem
2.www.xxxx.com更改为自己的域名。文件路径使用自己的路径。
<?php
class Socket
{
public $server;
public $redis;
public $tablename