websocket + TP5.1 + apache 配置步驟


websocket + TP5.1 + apache 配置步驟

1. https ssl配置好

2. 檢查php環境是否滿足Workerman要求
curl -Ss http://www.workerman.net/check.php | php
如果腳本中全部提示ok,則代表滿足WorkerMan運行環境
3. 一般會少pcntl、posix擴展
安裝pcntl、posix擴展
1. php -m 會列出命令行 PHP CLI 已經安裝的擴展,
2. php --ini 確定PHP CLI 的php.ini文件的位置
3. 利用php -v命令查看當前的PHP CLI的版本
4. 根據版本下載PHP源代碼 http://php.net/releases/, 並解壓至服務器任意目錄,tar -zxvf php-5.3.29.tar.gz
5. 進入ext/pcntl目錄,cd php-5.3.29/ext/pcntl/
6. 運行 phpize 命令
7. 運行 configure命令
8. 運行 make 命令
9. 運行make install 命令,自動會在擴展目錄存入pcntl.so文件。
10.在php.ini加入extension=pcntl.so
4. TP5.1安裝workerman擴展
1. composer require topthink/think-worker=2.0.*
2. 配置監聽端口:0.0.0.0:8000(如果是阿里雲的服務器,內網ip:8000)
3. 啟動php think worker:server
5. httpd.conf文件,增加代理擴展:
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so
6. httpd-ssl.conf文件:
##################################################################################
<VirtualHost *:443>

# Proxy Config
SSLProxyEngine on
ProxyRequests Off

DocumentRoot "/alidata/www/baidu/web"
ServerName www.baidu.com:443
SSLEngine on
SSLProtocol all -SSLv2 -SSLv3
SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM
SSLHonorCipherOrder on
SSLCertificateFile "/alidata/server/httpd-2.4.10/cert/baidu/2230389_www.baidu.com_public.crt"
SSLCertificateKeyFile "/alidata/server/httpd-2.4.10/cert/baidu/2230389_www.baidu.com.key"
SSLCertificateChainFile "/alidata/server/httpd-2.4.10/cert/baidu/2230389_www.baidu.com_chain.crt"

<Directory "/alidata/www/baidu/web/">
AllowOverride All
Require all granted
</Directory>

ProxyPass /wss ws://www.baidu.com:8000
ProxyPassReverse /wss ws://www.baidu.com:8000

</VirtualHost>
##################################################################################
7. 修改完apache的配置文件后,需要重啟才能生效:
service httpd restart
8. 前端代碼:(注意域名與apache配置要一致)
<script>
ws = new WebSocket('wss://www.baidu.com/wss');
ws.onopen = function(){
alert('連接成功。');
ws.send('hello tt');
alert('給服務端發送了:hello tt');
};
ws.onmessage = function(e){
alert("收到服務器的信息:" + e.data);
};

</script>

9. workerman手冊: http://doc3.workerman.net/315297
TP5.1手冊: https://www.kancloud.cn/manual/thinkphp5_1/354134
TP5.1+workerman:https://www.kancloud.cn/thinkphp/think-worker/722897


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM