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