WeLive4无法连接服务器的解决办法

由于WeLive4是一个使用socket通讯技术的企业级在线客服系统, 能否正常使用,受各种服务器的设置, linux下iptables防火墙配置等影响比较大。

不同的服务器可能需要做相应的调整才能正常使用!!

我们的开发环境为: win7, PHPnow(apache php mysql)。本地服务器基本未做任何调整,均能正常安装与使用。

下面是其它类型的服务器出现的问题及相应解决办法:

第一类服务器: IIS  FastCGI服务器

1.  检查IIS相关配置,开放welive4需要占用的8340端口(welive4默认安装时使用此端口,根据自己的实际设置调整)


2.  FastCgi的配置文件“fcgiext.ini”(一般位于目录“C:/WINDOWS/system32/inetsrv”下, 确切位置自己探索下)
在“fcgiext.ini”最末php的配置内容中增加了一些参数,如下:

[Types]
php=PHP
[PHP]
ExePath=C:/PHP/php-cgi.exe
InstanceMaxRequests=10000
EnvironmentVars=PHP_FCGI_MAX_REQUESTS:10000

RequestTimeout=500       //用户连接时间限制(秒), 这个要改大,否则WeLive4连接中, 不发信息就会自动断线(按理说fastCGI不应该限制socket连接时间)
ActivityTimeout=900          //这个设置影响socket长时间保持运行, 这个要改成9999999,即很大。

也可以将上述两个设置直接删除, 然后重启服务器再测试WeLive


第二类服务器:LAMP apache服务器或LNMP fastCGI服务器:

LAMP = Linux + Apache + Mysql + PHP

LNMP = Linux + Nginx + Mysql + PHP


建议检查服务器如下配置:
1. php配置中的safe_mode为off          (如果为on, 肯定无法运行正常)

2. php配置中的disable_functions可能禁用了一些函数运行: set_time_limit, ignore_user_abort等函数不能禁用

3. SELinux是否disabled           (如果SELinux没有设置成disabled, 还需要调整有关设置才能启动socket服务)

4. 检查iptables防火墙是否开放了socket使用的端口号,比如开放8430给socket使用,那么此端口不能给其它服务使用,如被动的FTP服务。
    同时在防火墙iptables配置文件中开放socket端口号时, 需要允许接受tcp和icmp两种协议的封包。
    如果不知道如何配置iptables, 可以先关闭iptables服务进行测试,这样可先定位无法正常使用的原因:service iptables stop

5. 检查WeLive4基本设置中的socket端口号是否与第3点开放的端口号一致。

6. LNMP平台, 使用fastCGI加载php,检查fastCGI的配置文件中以下配置:
     RequestTimeout=500       //用户连接时间限制(秒), 这个要改大,否则WeLive4连接中, 不发信息就会自动断线(按理说fastCGI不应该限制socket连接时间)
     ActivityTimeout=900          //这个设置影响socket长时间保持运行, 这个要改成9999999,即很大。

    IIS下的fastCGI有此两项设置,上两项供Nginx下fastCGI参考。

7. 配置等调整后,重启服务器,不是service httpd restart这种重启。是reboot计算机重启。


8. 问题还存在时,更改一下默认的端口号。在后台基本设置中改一下Socket默认端口号843,改成8430试下。有些用户这么改下,服务器连接成功。可能的原因是某些服务器把843端口禁用了。

阅读更多

没有更多推荐了,返回首页