实时弹幕实现+阿里云Linux(lnmp一键安装包)+swoole+php
一、这里引用别人的教程,不过再完善了下那个细节,原教程 没有说明遇到的一些错误跟要注意的地方,这里补充下。
https://blog.****.net/blog_phpxz/article/details/80325802 (安装swoole)
https://blog.****.net/qq_28602957/article/details/53523240 (教程 )
或者,
https://github.com/diligentyang/danmu (资源下载)
二、如果顺利,以上教程是没问题的,不过有些细节如下:
1、如果报错,那是你的php文件运行不对(如图)
2、查看了下nginx的错误日志:如下:
意思是说swoole要在php_cli下运行(因为项目有个PHP文件,里面有一行php代码是new 一个swoole服务连接)。如下图:
3、解决办法:不能在浏览器输入php文件去运行,
a、先把那个php文件修改权限,改成可执行,linux命令 chmod,也可以用FileZilla Client连接服务器直接右键改
b、在linux下,直接用命令:php 空格 你的这个PHP文件所放的路径,再按回车,就可以了。
c、如果想在后台一直不间断运行:
nohup php ws_server.php > log.txt & (将php ws_server.php放到后台运行,输出的内容保存在log.txt文件中)
附:
查看php是否加载的模块
php -m | grep swoole
三、如果在阿里云上,服务端运行了,客户端没法连接,大多是端口没开放
解决办法:
1、开放阿里云端口
登陆控制台,点要开放端口的实例ECS(开放端口是一个一个实例的,如果你有多个实例,想开放哪个的端口,就要单独开,不能直接点下面的【安全组】)
2、在LINUX中,用命令开放端口
iptables -I INPUT -p tcp -m tcp --dport 3306 -j ACCEPT
# 查看规则是否生效
iptables -L -n
然后就可以连接了
我的QQ:2262689081