跳到主要內容

發表文章

目前顯示的是 12月, 2022的文章

Caddy2 設定 CodeIgniter4

繼上篇安裝及設定 Caddy2 網頁伺服器,完成 http/3 服務後,接下來設定 CodeIgniter 4 的使用環境。 來基隆之後,自己習慣使用 CodeIgniter 4(CI4)來作網站開發。CI4 是蠻流行的 PHP 框架,以自已的經驗真的很好用而且快速,而且因為我的案子基本上都是設定在差不多的族群,所以在基礎的資料庫架構及部份基本功能都一樣,可以直接做成 Model 和 Controller,下一個案子直接複制過去就可以了。 Apache2 設定 以往伺服器是用 Apache2 架的,在網站的設定上只須要設定 Alias 和 Directory 即可,rewrite 的部份由 CI4 自帶的 .htaccess 完成。例如將 CI4 的網站 composer 在 /var/www/ci4 路徑中: Alias /ci4 "/var/www/ci4/public"         <Directory "/var/www/ci4/public">                 Options -Indexes                 AllowOverride All                 <Limit GET POST>                         Require all granted                 </Limit>         </Directory> 因為自已的程式還沒有開始使用 CRUD 類似 API 的作法,所以都習慣會作 Limit GET POST 去限制客戶端的 method。 Caddy2 設定 Caddy2 的設定忙了好久,總算是搞懂差不多了。 作為伺服器的主網站 將 CI4 的網頁設定成伺服器的主網站只需要在主要的 root 上設定即可。 有些論壇網站上的資料說還要設定 try_files {path} {path}/ /index.php{path},實作後發現不需要,網站也可以正常運作。 作為伺服器的子目錄網站 伺服器只有一台,而要作的案子好幾個,所以要在同一台伺服器下塞進去多個網站,作法就是用子目錄來作區分。 在 Apache2 伺服器上只需要設定 Alias 和 Direct

支援 HTTP/3 網頁伺服器 Caddy v2 安裝

自已原本擅長使用的網頁伺服器是 Apache2,還在學校的時候已經能夠使用 Let's Encypt 的 SSL 憑證來達成 http 2.0 的服務。 除了 Apache 外,也嚐試使用過 Nginx 及 Lighttp 等網頁伺服器程式,相較下 Apache 穩定但花費效能較多,但是因為比較熟悉順手,來到基隆時一樣用 Apache 來架設網頁。 但在 http/3 規格確定後,許多大型網站,如:Google、Facebook等都採用 http/3 服務。http/3 採用 udp 通訊協定,理論上可以加快網頁的傳輸速度,網路上的資料說 Apache 尚未有改版支援 http/3 的消息,加上想要試著改掉古老又笨重的 apache 伺服器,找了幾個目前有支援或打算支援 http/3 的網頁伺服器。 目前找到的伺服器有:Caddy、OpenLiteSpeed、Nginx(開始改版支援中)、新版的 IIS。 Caddy:用 go 語言撰寫的網頁伺服器,可用於作代理。除了支援 http/3 外,如果有合法的網域 DNS,甚至會自動產生 Let's Encypt SSL 憑證,完全不需要經過申請。 Caddy 2 (caddyserver.com) OpenLiteSpeed:具有 cPanel的後台管理系統,但是試用了一下不太會用。 OpenLiteSpeed 目前實作是用 Caddy v2。 安裝 ( Install — Caddy Documentation (caddyserver.com) ) Caddy2 有提供各大 linux 版本套件,以自已是順手的 ubuntu 為例: sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable