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