手把手教做網(wǎng)站網(wǎng)站優(yōu)化策略
1. 運(yùn)行web項(xiàng)目前后端服務(wù)
首先我們要先在服務(wù)器上運(yùn)行客戶端以及服務(wù)端的應(yīng)用程序。隨后再考慮如何通過公網(wǎng)/局域網(wǎng)訪問的問題。
如何啟動服務(wù)在倉庫對應(yīng)分支下的Readme文件中已經(jīng)有詳細(xì)描述了。
1.1. 啟動服務(wù)端
對于服務(wù)端,即(要求你在服務(wù)端子項(xiàng)目的根目錄下)
python .\startup.py
看到如下控制臺信息表示Uvicorn web服務(wù)器啟動成功。
1.2. 啟動客戶端
對于客戶端,即(同樣要求在客戶端子項(xiàng)目的根目錄下)
npm run serve
?這里我把該裝的軟件和依賴都裝好了,比如客戶端是用node.js+vue.js開發(fā)的,首先要進(jìn)行:
npm install
而node.js本身的依賴,可從官網(wǎng)下載(服務(wù)器上的環(huán)境是20.14版本的):Node.js — Run JavaScript Everywhere (nodejs.org)
?看到如下控制臺信息即為啟動成功:
1.3. 配置redis服務(wù)
我們這臺服務(wù)器是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的服務(wù)是通過redis-server應(yīng)用程序啟動的,而redis還提供一個命令行客戶端,redis-cli。
?如果遇到win+r,cmd輸入redis-server,命令行窗口閃退的情況,可以win+r,cmd,輸入redis-cli。如下圖輸入:
shutdown
隨后再利用redis-server啟動redis服務(wù)即可(這是因?yàn)橛锌赡苤皢觬edis服務(wù)后沒有正確的退出,導(dǎo)致6379端口被占用,再次啟動時失敗),如果還出問題,可能需要查一下現(xiàn)在6379(或者你配置了另外的redis服務(wù)端口)?端口被誰占用了。
如果正確啟動,如下圖:
為了更好地與redis服務(wù)交互,我還安裝了個能和redis數(shù)據(jù)庫連接并查看數(shù)據(jù)的GUI,RESP。
這個也是一個開源庫提供的軟件:lework/RedisDesktopManager-Windows: RedisDesktopManager Windows版本 (github.com)
Redis windows desktop manager,能夠提供一個很不錯的GUI。解壓后直接運(yùn)行里面的resp.exe文件即可。
可以查看自己的數(shù)據(jù)庫、表,以及創(chuàng)建多個連接。
2. 內(nèi)網(wǎng)穿透實(shí)現(xiàn)公網(wǎng)訪問
內(nèi)網(wǎng)穿透技術(shù)一般采用端口映射的方式,將內(nèi)網(wǎng)的一個端口映射到公網(wǎng)中可訪問的端口上 ,以此實(shí)現(xiàn)公網(wǎng)訪問局域網(wǎng)的資源。
2.1. 飛鴿內(nèi)網(wǎng)穿透
這里我使用的是飛鴿內(nèi)網(wǎng)穿透工具,是一個提供GUI的在線內(nèi)網(wǎng)穿透服務(wù)網(wǎng)站:飛鴿內(nèi)網(wǎng)穿透官網(wǎng) (fgnwct.com)
注冊登錄后,在控制臺中選擇開通隧道服務(wù),這里會有一些可選項(xiàng)。我選擇的是香港無備案穿透服務(wù)。
此處需要填寫隧道的用途,ip+端口號,以及子域名。
?這里我是沒有購買其他機(jī)構(gòu)的SSL證書(華為云一年¥1500,阿里云一年¥2200,Amazon還要公司法人認(rèn)證。買不起)。如果購買了SSL證書,配置之后還可以支持HTTPS協(xié)議,安全性更好。
隨后下載飛鴿提供的客戶端應(yīng)用程序:
隨后點(diǎn)開之前開通的隧道的小箭頭,下面會有利用命令行客戶端啟動內(nèi)網(wǎng)穿透服務(wù)的命令:
復(fù)制這條命令,在下載完客戶端后啟動命令行程序,輸入該命令。
?即可成功連接到服務(wù)器。
在將客戶端和服務(wù)端的內(nèi)網(wǎng)穿透配置均設(shè)置好之后,即可實(shí)現(xiàn)對web服務(wù)的公網(wǎng)訪問:
某一服務(wù)功能點(diǎn)運(yùn)行示例如下: