Nginx反向代理
配置nginx
在網站—-設置—-配置文件
復制以下代碼 放到配置文件中的最后一個大括號之前 然后保存
location /notice {
proxy_pass http://127.0.0.1:20002/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header X-real-ip $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
}
location /msg {
proxy_pass http://127.0.0.1:20003/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header X-real-ip $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
}
然后保存文件
結果如下:
配置長連接
windows配置長連接方法
進入目錄
1、進入項目目錄
打開命令行
2、在項目根目錄中打開dos窗口
按住shift+鼠標右鍵 在此處打開powershell窗口
注意路徑是否正確
運行命令
3、執行命令 開啟workman
開三個cmd窗口 分別執行以下命令 且保持窗口不要關閉
內部通訊服務
php think workerman start channel
聊天服務
php think workerman start chat
后臺管理員通知
php think workerman start admin
全部開啟成功后 保持不要關閉
LINUX 命令行開啟長連接
1、進入終端
利用遠程連接工具或直接在服務器中 這里使用xshell遠程連接
2、進入項目跟目錄
3、執行命令
sudo -u www php think workerman start --d
特別注意:a、綠色框如果現實為tcp 說明后臺沒有開啟wss需要去后臺設置-系統設置-基礎配置-wss配置中開啟wss 并上傳ssl證書(與寶塔配置的ssl保持一致)然后清除緩存 重啟長連接 重啟方法見第4步驟b、黃色框部分為需要放行的端口需要注意的是 放行端口時服務器安全組和寶塔安全中都需要放行20002和20003端口 20012端口可不放行
4、重啟長連接
出現以下提示說明之前已啟動 需要重啟
重啟的話 使用這個命令
sudo -u www php think workerman restart --d
成功提示跟第3步中的圖顯示是一樣的
如果是一臺服務器搭建多套標準版需要修改端口(如果服務器上面只有這一套程序,可忽略此步)
如果修改端口的 需要更改配置中的端口(默認20002 20003的 直接看下一步)
端口配置先從后端config/workerman.php
中存放,內容如下
admin
主要配置后臺長連接端口協議監聽地址chat
主要配置前臺長連接端口協議監聽地址channel
用來配置內部通訊
更改配置主要更改port
字段,然后要和前臺鏈接的端口保持一致就可以了
return [
'admin' => [
//協議
'protocol' => 'websocket',
//監聽地址
'ip' => '0.0.0.0',
//監聽端口
'port' => 20002,
//設置當前Worker實例啟動多少個進程
'serverCount' => 1,
],
'chat' => [
//協議
'protocol' => 'websocket',
//監聽地址
'ip' => '0.0.0.0',
//監聽端口
'port' => 20003,
//設置當前Worker實例啟動多少個進程
'serverCount' => 1,
],
'channel' => [
//內部通訊監聽端口
'port' => 20012,
//內部通訊地址
'ip' => '127.0.0.1',
],
];