【IKoula】使用Linux VPS上架設PHP站台全紀錄!從Ubuntu設定到網站上線一次搞定
經濟實惠的IKoula VPS,適合初學者練習與進階商業架站的好選擇!
不曉得大家有在使用 VPS (Virtual Private Server) 嗎?中文翻譯為【虛擬專用伺服器】。
一般架設網站我們會用的就是 Web Hosting (或稱 Shared Hosting 分享主機),或者就是 VPS 。以小編個人來說基本上都是使用 VPS,反而很少使用 Web Hosting。畢竟 Web Hosting 是很多網站共用一台電腦,而 VPS 是自己擁有獨立電腦資源。雖然是靠軟體切割出來的,但是一般使用上與獨立的電腦差異不大。所以購買 VPS 服務本質上就是租用一台雲端電腦的概念。而且很意外的 VPS 價位通常比 Web Hosting 還要便宜一些。
如果勵志要成為軟體工程師,或是獨當一面的網站站長的話,小編這裡都會建議大家一定要嘗試自己管理 VPS 主機。一開始可能會有些門檻,但是獲得的回報絕對可觀。不然整個電腦裡面只有一個程式是你可以掌握的,不覺得離獨當一面有點距離嗎?也很難有系統概念的想法出現。
不過凡事都是有個開始,沒有人沒當過初學者。所以其實最好的方式就是循序漸進。先練習在 VPS 上架個簡單的網站,之後再進階完成更困難的功能。所以一開始我們可以先嘗試購買一個便宜且穩定的 VPS 服務來做這樣的練習。
當然 VPS 服務商其實也滿多的,很多時候也不太容易去區分它們之間的差異。所以我接下來的練習會使用一個我覺得在價位上滿有競爭力的法國 VPS 服務商 IKOULA 來做示範,如果大家覺得價位合理的話也可以使用並且跟著做,雖然他是法國的服務商,不過語言上也有英文和中文翻譯。並且最重要的,它最低階的 VPS 只要 2.99 歐元,接近新台幣 100元/月,算是相當不錯的價位,而且一次繳長一點,比方說年繳,那會有更多優惠。
接下來的示範我們就先示範建立一個基本的 PHP Hello World網站,確定 PHP 可以運行之後,以後你們想的話可以再改成 WordPress 站台或是 Laravel 站台,畢竟 WordPress 與 Laravel 就是 PHP 撰寫的。
以下開始第一階段:
1. 先進入 IKoula 網站,上方有語言可以選擇,我個人習慣看英文,畢竟很多單詞還是看英文比較能直覺反應,如果各位比較喜歡中文,那就選中文再對應選項即可。(建議還是習慣看英文比較好)
選完語言以後,就選擇下面一點點的 VPS 選項,第一個 FLEXSERVERS (VPS),或是你可以點選【這個連結】。
進去以後,有兩種大類別的主機方案與有兩種作業系統可以選擇,預設是 VPS FLEX'SERVER PACKAGE 和作業系統 Linux。進度條都是走 Linux,加上我們先從基礎方案開始,所以不需要動。
接下來就是選擇方案,基本上你想用哪個都可以,越高級當然速度越好,系統資源越高,價錢當然也更昂貴。初階大概就是前兩個等級,差別在於硬碟的大小差一倍,第三個等級開始就有 CPU 與 RAM 的差異了。
經驗上來說,如果不追求速度,一般的穩定即可的話,1 CPU + 2 GB RAM 是夠用的。最低階給到 2 GB RAM 算是相當不錯,因為 PHP 有一些一次性的設定指令會需要用到 1 GB RAM 以上,在我們的課程裡面都是用虛擬記憶體與swap 去補,但是用 IKoula 的主機並不需要,資源是夠的。
這邊我就先選擇 FLEX'STARTER 作為開始,如果你想一次到位的話,可以選更高的等級,例如你的網站圖很多的話,可以選 FLEX'SERVER ,可以多 25GB的硬碟空間。
按下 Order。
進去之後,就可以選定一次繳費訂閱多久,我這邊是示範,所以就選月繳。不過你們已經確定會使用一陣子的話,那可以選久一點,如果他們有活動可能會便宜一些。
作業系統我習慣用 Ubuntu,所以就選它,Backup 和 SSH Key 是可選的,我們先用預設即可。
因為我們是新的使用者,所以下面就是註冊。
照著寫即可,台灣郵局地址英譯網站可以查你的英文地址翻譯。
不過根據經驗,其實他們也不會寄東西給你。如果太長寫不下就把標點符號刪掉吧。但是手機號碼很重要,不要填錯,後面驗證會用到。
接著記得打勾同意服務條款再按 continue。
接著會收到驗證簡訊,並且填入下面欄位,按下 Verify。
一切順利,就會跳到付款頁面,檢查一下金額是否正確,選擇刷卡或是 PayPal,或是你其他有的金流。刷卡一般會出問題就是用到 JCB 的卡,不要用。用 VISA 或 Mastercard。
刷卡應該不用教,剩下的記得打勾,並且按下 Checkout
然後就是結帳,會有 3D 驗證之類的出現
完成後,等候一下。
就會出現 Invoice 收據,然後按下跳回顧客區的連結回去。
接下來 IKoula 需要等稍微久一點的時間才會完成整個設定,大約 1 ~ 2 小時,所以回到 Client Area,因為還沒有設定好,一開始會看到下圖。
如果完成他會顯示 Active,然後會先給你一個 subdomain,這樣就是正常了。
以此圖來說 subdomain 就是 XXX6348flex.ikexpress.com 這段,有看到才是完成了。
然後點擊 Flex'server Starter Linux (或是你用其他方案會顯示不同名稱),或是右邊的 【Management】,進到下一層管理頁面。
下一層顯示類似這樣的話面才是對的喔!不然就要再等一下。
接下來 Windows 會需要用到 putty,MacOS 則是 SSH。不過無論是哪個作業系統,只要你有用 VSCode 的話,在 Terminal(終端機) 底下都可以直接使用 SSH。
我接下來用 VSCode 的終端機使用 SSH 繼續進行。你真的找不到該如何使用,也可以用 IKoula 提供的網頁終端機。
1. VSCode
2. IKoula 網頁終端機
因為我偏好一般的終端機,使用上比較有彈性。如果用 ssh 的話,必須要下
$ ssh root@<ip address>
例如
$ ssh [email protected]
你可以在 IKoula IP 欄位找到,有 IPv4 和 IPv6,選其中一個即可。
我這邊用 IPv4
帳號為 root
密碼請在 IKoula Password 欄位按下 show 顯示,可以複製貼上,但是複製貼上失敗的話,就還請自己打,輸入過程中【不會顯示密碼】,還請注意。
第一次連線會問你 ECDSA Key footprint 連線確認,打 yes 後按 enter 即可
成功就進入了
因為我們前面選擇的是 Ubuntu,所以這邊當然顯示 Ubuntu 的登入畫面。
接下來就要先更新系統的函式庫與其他相關資訊。
因為我們是 root,所以就不需要 sudo。
依照順序執行
$ apt update
$ apt upgrade
再來就是安裝 Web Server,我們這邊選擇 nginx,只要有這個你就可以有網頁了!
$ apt install nginx -y
其中 -y 代表不要問直接安裝,沒有 -y 就必須在他問的時候打 Y 按 enter
安裝完畢後,可以使用你連線的 IP 用 Chrome 連連看。
http://178.170.XX.XX 之類的,記得不要用 HTTPS,我們還沒有這個功能。
正確的話你會顯示 Nginx 的歡迎畫面。
接下來我們要改成用 PHP 顯示我們自己的畫面,會需要 Linux 的基本常識,所以你不會的話是沒有辦法繼續進行接下來的動作的,至少要有 Vim 和 路徑的概念。完全不會的人建議先看我們 Linux 基礎課程影片(或是直接參加完整課程)
01. 使用者目錄概念、切換路徑(cd)與現在路徑(pwd)
都沒問題的話,我們要先建立新的 PHP 首頁,所以先執行:
$vim /var/www/html/index.php
產生 index.php,並且寫入
儲存後
$ vim /etc/nginx/sites-available/default
加入 index.php 位置如圖。
之後儲存。
重啟 nginx
$ service nginx restart
執行完什麼訊息都沒有就對了。
再看一次網站首頁(http://178.170.XX.XX),就會變成下載一個叫 download 的檔案。這是因為我們還沒有裝 php 與相關資源,所以 Nginx 不認識 .php 檔。只好把它當成未知檔案下載下來。
為了解決這問題,接下來我們必須要安裝 php7.4 和 php-fpm
執行
$ apt install php7.4 php7.4-fpm -y
安裝完以後
一樣要改設定,vim 開啟 nginx 設定檔
$ vim /etc/nginx/sites-available/default
找到目標程式碼,預設就在那邊,只是被註解了,只要打開這幾行就可以了
儲存後,再執行一次
$ service nginx restart
如果沒有問題就在看一次網站
就會變成 Hello World 網站了,這樣 PHP 網站就可以成功架設了。
(當然 Hello World 可以變成任意文字)
接下來你就可以以 index.php 為首頁開始發展,基本上只要照著路徑放新的 PHP 檔都會運行的。
不過這邊我們只示範到可以讓 PHP 運行。
畢竟如果想要架設進階的 PHP 站台例如 WordPress 或是 Laravel 的話,會需要更多的基礎知識,一篇文章講不完。有興趣的話可以參加我們的課程喔!
Laravel 後端PHP架站,API Server與訂閱軟體全攻略
最後,如果你喜歡我們的文章,別忘了到我們的FB粉絲團按讚喔!!