標籤:php swoole
官網:http://www.swoole.com/ (安裝)
http://www.jianshu.com/p/fedbb9d2d999 (安裝)
http://www.tuicool.com/articles/qERzyuI (聊天室)
先看效果:
作者的,http://chat.hellosee.cc
我安裝的, http://chat.yyii.info
方法:
1. 安裝swoole,
我的伺服器環境是oneinstack一鍵安裝的,
Swoole是作為PHP擴充來啟動並執行
http://www.swoole.com/
下載最新的,根據上面一篇簡書寫的:
安裝(root許可權):
cdswoole
phpize
./configure
make
sudo makeinstall
配置php.ini
extension=swoole.so
到,make,時就報錯。
swoole/swoole_serialize.c:19的檔案中:
/usr/lib/gcc/i686-redhat-linux/4.4.7/include/emmintrin.h:32:3:錯誤:#error "SSE2instruction set not enabled"
==
折騰很久。
後來,再看,
https://git.oschina.net/swoole/swoole/tree/v2.0.7
這裡是有安裝方法的。(所以安裝程式從什麼地方下載,就盡量看那裡寫的文檔,不要東拼西湊)
sudo apt-get install php5-devgit clone https://github.com/swoole/swoole-src.gitcd swoole-srcphpize./configuremake && make install
一次成功!
2. 修改php.ini ,
添加一句,extension=swoole.so
phpinfo()查看,有swoole了。
命令列輸入php –m ,也能看到,列表中有swoole
3. 布署到線上。
依據這一篇:
http://www.tuicool.com/articles/qERzyuI
chat.yyii.info (這就是我安裝的聊天室)
注意:
下載來,共3個目錄,client,rooms,server,
然後就在本地修改好配置,再上傳吧
client下先建一個uploads目錄,(下載的檔案包裡沒有的話)
a.修改:client/static/js/init.js
var config = { ‘domain‘ : "http://chat.yyii.info", ‘wsserver‘ : "ws://106.14.209.3:9501",}
b.再修改:server/config.inc.php
// 如果寫網域名稱,要寫http://define("DOMAIN","http://chat.yyii.info");// define(‘ONLINE_DIR‘,‘/mnt/hgfs/swoole/chatroom/rooms/‘);define(‘ONLINE_DIR‘,‘/data/wwwroot/chat.yyii.info/rooms/‘);
這一步好了的話。
把三個檔案夾,
全部上傳到chat.yyii.info下,
再把client下的檔案,移到chat.yyii.info下。
這樣就能訪問到了。
需要防火牆開啟9501連接埠。
伺服器上開啟,swoole服務,9501監聽
在oneinstack下,命令如下:
iptables -I INPUT 4 -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
/usr/local/php/bin/php /data/wwwroot/chat.yyii.info/server/hsw_server.php
將rooms目錄以及其子目錄許可權設為777,確保該目錄可寫。
uploads目錄設定為777可寫。
如果rooms放在server下也是一樣。就是server/config.inc.php也相應修改。
這樣就可以了!
訪問 http://chat.yyii.info 試一下吧!
如果有什麼問題,再檢查,
1.防火牆9501是否開啟,
/etc/init.d/iptables status
2.swoole服務是否開啟,9501是否監聽。
netstat-ntpl|grep 9501
lsof-i:9501
3.設定檔,目錄有沒有寫對。
4.uploads,rooms有沒有設定777許可權
==
提示:修改設定檔後,要重啟swoole服務。
重啟前先kill原來的服務。
命令用:
ps aux|grep server|grep -v grep | awk ‘{print $2}‘|xargs kill -9
這句的含義:http://www.hellosee.cc/2016/10/520.html
這句比如下,一個一個kill好。
ps aux|grep server
killall -9 ID
再啟動:
/usr/local/php/bin/php /data/wwwroot/chat.yyii.info/server/hsw_server.php
OK,沒問題了!
聊天室http://www.hellosee.cc/
作者的聊天室:
http://chat.hellosee.cc
還可以擴充閱讀:
1190000006052748
杭州青橄欖 招聘PHP. (幫朋友轉寄一下)
---------- 招募未來大神 -----------------------
如果您有利他之心,樂於協助他人,樂於分享
如果您遇到php問題,百度且問了其他群之後仍沒得到解答
歡迎加入,PHP技術問答群,QQ群:292626152
教學相長!協助他人,自己也會得到提升!
為了珍惜每個人的寶貴時間,請大家不要閑聊。
願我們互相協助,共同成長!
加入時留言暗號,php,ajax,thinkphp,yii...
使用 Swoole 擴充和PHP 開發的線上聊天室