網(wǎng)站怎么做留言板百度網(wǎng)站官網(wǎng)網(wǎng)址
1. 運行web項目前后端服務
首先我們要先在服務器上運行客戶端以及服務端的應用程序。隨后再考慮如何通過公網(wǎng)/局域網(wǎng)訪問的問題。
如何啟動服務在倉庫對應分支下的Readme文件中已經(jīng)有詳細描述了。
1.1. 啟動服務端
對于服務端,即(要求你在服務端子項目的根目錄下)
python .\startup.py
看到如下控制臺信息表示Uvicorn web服務器啟動成功。
1.2. 啟動客戶端
對于客戶端,即(同樣要求在客戶端子項目的根目錄下)
npm run serve
?這里我把該裝的軟件和依賴都裝好了,比如客戶端是用node.js+vue.js開發(fā)的,首先要進行:
npm install
而node.js本身的依賴,可從官網(wǎng)下載(服務器上的環(huán)境是20.14版本的):Node.js — Run JavaScript Everywhere (nodejs.org)
?看到如下控制臺信息即為啟動成功:
1.3. 配置redis服務
我們這臺服務器是windows11 64位操作系統(tǒng)的,因此redis官網(wǎng):Redis - The Real-time Data Platform的release不適用于我們。(原生redis對linux各個發(fā)行版支持的比較好)
這里需要使用到一個開源庫:tporadowski/redis: Native port of Redis for Windows. Redis is an in-memory database that persists on disk. The data model is key-value, but many different kind of values are supported: Strings, Lists, Sets, Sorted Sets, Hashes, Streams, HyperLogLogs. This repository contains unofficial port of Redis to Windows. (github.com)
這是一個來自波蘭的開源作者(主要)用C寫得redis-for-windows版本,在windows上安裝部署比較方便,對windows的支持也不錯。
目前這個開源庫的release:?Releases · tporadowski/redis (github.com)已經(jīng)到了5.0.14版本了。這里我用的就是最新版的5.0.14.1,直接在這個頁面最頂部的Assets里下載就可以。
免安裝版和安裝版都可以,免安裝版下載下來直接解壓就可以了。
然后再順手配個環(huán)境變量。
redis的服務是通過redis-server應用程序啟動的,而redis還提供一個命令行客戶端,redis-cli。
?如果遇到win+r,cmd輸入redis-server,命令行窗口閃退的情況,可以win+r,cmd,輸入redis-cli。如下圖輸入:
shutdown
隨后再利用redis-server啟動redis服務即可(這是因為有可能之前啟動redis服務后沒有正確的退出,導致6379端口被占用,再次啟動時失敗),如果還出問題,可能需要查一下現(xiàn)在6379(或者你配置了另外的redis服務端口)?端口被誰占用了。
如果正確啟動,如下圖:
為了更好地與redis服務交互,我還安裝了個能和redis數(shù)據(jù)庫連接并查看數(shù)據(jù)的GUI,RESP。
這個也是一個開源庫提供的軟件:lework/RedisDesktopManager-Windows: RedisDesktopManager Windows版本 (github.com)
Redis windows desktop manager,能夠提供一個很不錯的GUI。解壓后直接運行里面的resp.exe文件即可。
可以查看自己的數(shù)據(jù)庫、表,以及創(chuàng)建多個連接。
2. 內(nèi)網(wǎng)穿透實現(xiàn)公網(wǎng)訪問
內(nèi)網(wǎng)穿透技術一般采用端口映射的方式,將內(nèi)網(wǎng)的一個端口映射到公網(wǎng)中可訪問的端口上 ,以此實現(xiàn)公網(wǎng)訪問局域網(wǎng)的資源。
2.1. 飛鴿內(nèi)網(wǎng)穿透
這里我使用的是飛鴿內(nèi)網(wǎng)穿透工具,是一個提供GUI的在線內(nèi)網(wǎng)穿透服務網(wǎng)站:飛鴿內(nèi)網(wǎng)穿透官網(wǎng) (fgnwct.com)
注冊登錄后,在控制臺中選擇開通隧道服務,這里會有一些可選項。我選擇的是香港無備案穿透服務。
此處需要填寫隧道的用途,ip+端口號,以及子域名。
?這里我是沒有購買其他機構的SSL證書(華為云一年¥1500,阿里云一年¥2200,Amazon還要公司法人認證。買不起)。如果購買了SSL證書,配置之后還可以支持HTTPS協(xié)議,安全性更好。
隨后下載飛鴿提供的客戶端應用程序:
隨后點開之前開通的隧道的小箭頭,下面會有利用命令行客戶端啟動內(nèi)網(wǎng)穿透服務的命令:
復制這條命令,在下載完客戶端后啟動命令行程序,輸入該命令。
?即可成功連接到服務器。
在將客戶端和服務端的內(nèi)網(wǎng)穿透配置均設置好之后,即可實現(xiàn)對web服務的公網(wǎng)訪問:
某一服務功能點運行示例如下: