首先要了解想要搭建伺服器就需要有公網 IP 就是別人能直接訪問到你的地址,以前用的是 ipv4 地址,全球總共就 42 億個地址根本不夠用的,所以很多人都是共用一個 IP 的。
通俗的講就是你拿到了一個 IP,然後可以用路由器再分出無數個 IP 供其他人上網,原理就是這樣,因為多人共用所以就搭建不了伺服器。
所以 ipv6 應運而生,據說可以給地球上的每一顆沙子都分配一個地址,這種地址數量除非我們進入星際時代不然是不可能用完的。
現在 ipv6 幾乎全面普及了,但是目前國內網絡環境真的複雜,很多人都還用著老舊路由器,或者不会设置路由器,導致很多人都無法正常訪問 ipv6 網站。
現在所有運營商寬帶幾乎都支持 ipv6 了,你不能訪問的原因是你的路由器太老舊或者沒有設置 ipv6,但是你可以嘗試電腦直連光貓,手機的話可以關閉 WIFI,用流量上網就可以訪問 ipv6 網站了。
當然也有不好的消息,有些地區運營商封禁了 80 端口跟 443 端口,這兩個端口是網站專用的端口,被封就很麻煩了,比如我訪問我的博客正常是http://jxyblog.top
如果端口被封我就要改端口了http://jxyblog.top:89
瀏覽器訪問就必須帶後面的端口號,很麻煩。
還有的光貓內部有設防火牆,你從外部是無法訪問你的网站的,你要獲得光貓的超級密碼關閉防火牆,或者改橋接模式直接用路由器撥號,這兩種情況都要用到光貓超級密碼。
所以你就祈禱你的光貓內部防火牆默認是關閉的吧,這樣就不用那麼麻煩,連上就能直接用了。
當你有了 openwrt 路由器後的幾個必須準備工作#
首先你要能獲得 IPV6 地址,我的網絡是用光貓撥號,並非路由器撥號,我的電腦直連光貓的一個口,路由器連另一個口,我的電腦跟路由器都能獲得 IPV6 地址。
保證路由器能正常聯網,先把電腦連路由器 LAN 口,然後登入 192.168.1.1 路由器管理界面,先安裝一下中文支持跟系統時區。
首次登入會要求修改默認密碼,直接改就是了,用戶名不要改,就默認的 root 就行。
然後點擊頂部第二個 system 標籤,選擇 software 選項,最後再點擊 update opkg 按鈕,這一步要正常聯網才行。
等待片刻後更新完成就可以看到所有可安裝的軟件包了,在第一個框裡輸入 luci-i18n-base-zh-cn 可安裝 openwrt 中文包,這樣刷新一下就可以直接變成中文界面。
接下來再輸入 zoneinfo-asia 安裝系統時區支持包。安裝好後點擊頂上的系統 - 系統,可以設置時區,把它設置成 Asia/Shanghai 就可以了。
作為二級路由器最好修改一下路由器的 lan 端口地址,點擊頂部網絡 - 接口,有個綠色的 lan 口,點擊右邊的編輯,把 ipv4 的 192.168.1.1 改成 192.168.2.1
之後點擊右下角保存並應用,路由器會重啟,以後要用 192.168.2.1 登入管理路由器。
當你路由器準備好後我們先來安裝 lighttpd 伺服器#
在一切開始之前我們需要一個工具 WinSCP,當然你可以官网下载,官网的似乎是英文版,我這裡提供一個漢化版的。
WinSCP 中文版.rar,提取碼: 9tsm,大小:6.18Mb
我們自始至終只需要用到這麼一個工具,可以直接往路由器裡複製文件,也可以直接修改配置文件而不用敲命令行,先下載好備用。
為了讓網站能 80 端口訪問,我們需要把路由器的端口改掉,不然端口衝突無法啟動 lighttpd
打開 /etc/config/ 在裡面有個 uhttpd 文件,右鍵編輯,將以下 4 個條目修改成這樣
list listen_http '0.0.0.0:8080'
list listen_http '[::]:8080'
list listen_https '0.0.0.0:444'
list listen_https '[::]:444'
這裡是將路由器的管理界面端口改成 8080,我們後面要管理路由器就用 192.168.2.1:8080 這個地址登入。
這裡說一下 uhttpd 這個東西,這個跟 lighttpd 一樣是個 web 伺服器,我們網頁登入路由器管理界面就是它實現的,為了兩個伺服器不起衝突,所以我們要改端口。
當然有的大佬可以直接不用安裝 lighttpd,直接就用 uhttpd+php 來部署了。
接下來我們點擊路由器系統 - 重啟,路由器重啟完成後在瀏覽器地址輸入http://192.168.2.1:8080 登入路由器。
登入路由器,點擊系統 - 軟件包,我們先點擊更新一下軟件包。
更新好後,在過濾器裡輸入 lighttpd 點擊安裝,它會自動安裝其他的依賴包
安裝好後接著安裝 lighttpd-mod-fastcgi 與 lighttpd-mod-rewrite,fastcgi 是與 PHP 連接的接口,這是必裝的。
rewrite 是重寫組件,給網站做伪靜態用的,可裝可不裝,其實這個組件只有一個配置文件,大小 1Kb 不到,可以裝上備用。
接下來就需要用到我上面說的 WinSCP 了,我們打開軟件,它會彈出一個新建站點的框。
文件協議:scp
主機名:192.168.2.1 端口號:22 #路由器管理地址
用戶名:root 密碼:123456 #你路由器的賬號跟密碼
然後點擊保存,跳出一個框勾選保存密碼
之後點擊登錄就行,這樣就可以看到路由器裡的所有文件了
接下來我們修改配置文件,我們打開 /etc/lighttpd/lighttpd.conf,可以直接右鍵 lighttpd.conf 編輯
修改以下條目,後面是你網站文件存放目錄,可以隨意修改。
注意:除非你路由器空間足夠,不然還是放在 RAM 比較好,ROM 空間足夠或者有外接 U 盤的話無視。
tmp 目錄就是在 RAM 裡面,一旦斷電,裡面的數據全部丟失,我建了個 www 目錄用來存放網站文件
var.server_root = "/tmp/www/"
改好後其他地方都不用動,然後添加以下條目:
server.use-ipv6 = "enable"
server.port = 80
$SERVER["socket"] == "0.0.0.0:80"
這三行的意思是開啟 ipv6,監聽端口 80,能同時監聽 ipv6 跟 ipv4.
改好後點擊左上角保存就行。
改完後要重啟 lighttpd 才行的,可以直接在路由器 - 系統 - 啟動項裡面找到 lighttpd 點擊重啟。
然後點擊路由器 - 狀態 - 系統進程,查看一下有沒有運行以下任務
2954 http /usr/sbin/lighttpd -D -f /etc/lighttpd/lighttpd.conf
有的話就說明 web 伺服器啟動成功,我們可以複製一個 index.html 的文件到 /tmp/www/ 然後瀏覽器訪問http://192.168.2.1
網頁顯示正常說明 web 伺服器搭建成功,這時候只能放些靜態文件,運行不了 php 的,這些後面會慢慢寫出來。
lighttpd 安裝好了,現在來安裝 PHP 與 sqlite, 還有網站上傳安裝#
依然是點擊路由器的系統 - 軟件包,文本框裡輸入 php
就兩個主體要安裝 php8 與 php8-cgi, 這兩個安裝好後,以下一堆的支持包都給它裝上。
php8-mod-bcmath
php8-mod-calendar
php8-mod-ctype
php8-mod-dom
php8-mod-filter
php8-mod-iconv
php8-mod-mbstring
php8-mod-session
php8-mod-sockets
php8-mod-sqlite3
php8-mod-tokenizer
php8-mod-xml
以上全部安裝完我們最後還要安裝數據庫 libsqlite3-0
全部安裝完成一切準備就緒,接下來只要修改配置文件就行了。
PHP 配置文件修改
用我們之前用的 Winscp 打開 /etc 目錄,找到 php.ini 右鍵編輯
我們只要修改兩個地方
cgi.fix_pathinfo = 1
doc_root = "/tmp/www"
將上面兩個條目修改一下就行,其它的不用動。
然後在末尾添加下面的時區設置保存關閉就行。
date.timezone = Asia/Shanghai
php 配置修改完畢
接下來是 lighttpd 的 fastcgi 設置
用 Winscp 右鍵編輯 /etc/lighttpd/conf.d/30-fastcgi.conf 文件
在底部添加以下代碼
fastcgi.server = ( ".php" =>
((
"socket" => "/tmp/php-fastcgi.socket",
"bin-path" => "/usr/bin/php8-cgi",
"bin-environment" => (
"PHP_FCGI_CHILDREN" => "2",
"PHP_FCGI_MAX_REQUESTS" => "100",
),
"max-procs" => 1,
"broken-scriptfilename" => "enable",
)
)
)
然後保存關閉就行。
之後點擊路由器的系統 - 啟動項,點擊重啟 lighttpd
然後點擊路由器的狀態 - 系統進程查看有沒有以下程序
/usr/sbin/lighttpd -D -f /etc/lighttpd/lighttpd.conf
/usr/bin/php8-cgi
php8-cgi 的進程應該有 3 個,因為路由器配置太低,我只設置了 3 個進程
到此就大功告成了。
伺服器搭建完成,下載最新的 Typecho 文件,然後用 Winscp 複製到 /tmp/www/ 裡面,確保 index.php 在 www 目錄裡。
然後右鍵 www 文件夾,點擊屬性,修改文件權限,下面這些勾上
√R √W √X
√R √W √X
√R √W √X
八進制表 0777
√ 循環設定組丶擁有者和權限
完成後打開瀏覽器輸入http://192.168.2.1
這時候應該就打開 Typecho 安裝界面了,按提示安裝就行。
到此網站徹底搭建完畢。
接下來如果你路由器有 ipv6 地址並且用域名綁定了,那麼在路由器的防火牆裡設置一下 wan 口入站數據。
點擊路由器的網絡 - 防火牆,開放 WAN 口
然後再點擊保存並應用,這時候應該可以用手機訪問了。