花 1 小時就建好 WordPress 的 Nginx 教學

玻璃陳
//
更新於 2022 年 7 月 15 日
//
2 個留言

網站搭建 這件事,繼上次給大家科普了用 VPS 去搭建翻牆利器後,其實應該會有人想,買了一個 VPS,然後只搭一個 SS 機場,不是很浪費嗎?是的,我也這麼覺得。你們現在所看到的這個網站,其實跟我的 SS 機場是共存在同一個 VPS 上的。是不是很屌?!來!崇拜我吧!!!所以今天,我就以一個可能只比小白強那麼一點點的角度,來寫這個 網站搭建 教程,希望可以用最簡單的方法,去使想自己建站的童鞋,輕鬆的完成這樣一個以前我也覺得無比艱巨的任務。事不宜遲,馬上開始!

前言

雖然這個文章已經是很久的了,留著給對裡學自架 VPS 的朋友參考的。

2022 年 7 月加註

以前我建站,因為什麼都不會嘛,就只會通過 cPanel 或在自己主機安裝傳統的 LAMP (Linux, Apache, MySQL / MariaDB, PHP)。但做了很多的資料搜集後 seafoodholdhand.com 決定使用 CentminMod(現在已經不是了,在用 Cloudways)。

它有幾個優點,首先它會幫你搭建 LEMP (Linux, NGINX, MySQL / MariaDB, PHP),然後優化安裝並保護服務器 (自帶 CSF 防火牆)。最重要的是即使在配置很低的服務器上,也運作順暢,而且速度非常快!

在本文中,我將詳細介紹如何使用 CentminModVultr VPS 服務器上安裝 WordPress+WooCommerce

再利用 Let’s Encrypt 獲得免費 SSL 證書,因為現在的所有網站都應該使用 HTTPS。

最後用 CloudFlare 替網站提供免費的 CDN 網絡,DDoS 和其他安全保護。

官方的完整英文教學可以到這裡:https://centminmod.com/getstarted.html

Note: 我推薦使用  Vultr VPS  和 Digital Ocean,當然你仍可以選用,BangwagonHost, Linode 或者其他的供應商都可以的,其實大同小異的。

Nginx 教學事前準備

  1. 安裝了 CentOS 7 的服務器,我將 Vultr VPS  作為示範。
  2. VPS 建議擁有 1GB RAM。如果之後需的話,可以添加額外的交換空間(swap 分區)。
  3. SSH 客戶端,Windows 的用 Xshell(或者 Powershell),macOS 的用內置的 Terminal,Android 的用 Termius。
  4. 一顆能折騰的心。

禁用 SELinux

建議臨時禁用 SELinux,登入 VPS,通過以下命令來完成操作:

setenforce 0
花1小時就建好 WordPress 的 Nginx 教學 | 網站架設 | Centmin Mod, CloudFlare, Namecheap, Namesilo, Nginx, PHP, VPS, Vultr, WooCommerce, WordPress, 網站搭建

更新 CentOS 服務器

更新你的服務器,你應該經常這樣做。通過以下命令來完成操作:

yum update 
花1小時就建好 WordPress 的 Nginx 教學 | 網站架設 | Centmin Mod, CloudFlare, Namecheap, Namesilo, Nginx, PHP, VPS, Vultr, WooCommerce, WordPress, 網站搭建

看到這個畫面,按「Y」就可以了。

安裝 CentminMod LNMP

通過以下命令來完成操作:

curl -O https://centminmod.com/betainstaller.sh && chmod 0700 betainstaller.sh && bash betainstaller.sh
花1小時就建好 WordPress 的 Nginx 教學 | 網站架設 | Centmin Mod, CloudFlare, Namecheap, Namesilo, Nginx, PHP, VPS, Vultr, WooCommerce, WordPress, 網站搭建

安裝大約需要 40 分鐘,完成之後,你會夠得到一些關於安裝的總結信息。

所以現在我們可以利用這些時間,先完成下面的東西 (相信我,看著它也不會快一點的)。

注冊你的 .com 網址

這個就是我們平常用的 .com .net .org 網址,這就像一家實體店的地址。沒有這個地址可以嗎?當然可以啦!把服務器的 IP 給記下來,111.111.111.111 就是我網址了……嗯,并沒什麼卵用。我建議你還是買個網址比較好用。

這裡我會用 Namecheap 做示範,他們的性價比超高,經常會有很便宜的網址,而且售後服務很好。

買了網址後,可以進行下一步。

注冊 Cloudflare CDN

非常出名的 CDN,什麼是 CDN?自己去搜一下吧,很難三言兩語解釋清楚,反正你現在只要知我道它能幫網站加速就是了。

到 Cloudflare 免費注冊

注冊都非常的簡單,很直接,跟著它的指示就好了。

花1小時就建好 WordPress 的 Nginx 教學 | 網站架設 | Centmin Mod, CloudFlare, Namecheap, Namesilo, Nginx, PHP, VPS, Vultr, WooCommerce, WordPress, 網站搭建
花1小時就建好 WordPress 的 Nginx 教學 | 網站架設 | Centmin Mod, CloudFlare, Namecheap, Namesilo, Nginx, PHP, VPS, Vultr, WooCommerce, WordPress, 網站搭建
填寫你剛買的網址,不需要 http:// 或 https:// ,就 domain.com 就可以了
花1小時就建好 WordPress 的 Nginx 教學 | 網站架設 | Centmin Mod, CloudFlare, Namecheap, Namesilo, Nginx, PHP, VPS, Vultr, WooCommerce, WordPress, 網站搭建
選 FREE 免費的方案
花1小時就建好 WordPress 的 Nginx 教學 | 網站架設 | Centmin Mod, CloudFlare, Namecheap, Namesilo, Nginx, PHP, VPS, Vultr, WooCommerce, WordPress, 網站搭建
確定方案

更新 Nameservers

之後「NEXT」或「Continue」就會看到類似的畫面,叫你更新 Namerservers

花1小時就建好 WordPress 的 Nginx 教學 | 網站架設 | Centmin Mod, CloudFlare, Namecheap, Namesilo, Nginx, PHP, VPS, Vultr, WooCommerce, WordPress, 網站搭建

我們要回到 NameCheap 的網址控制板面去更改 nameservers,到你的 Domain List 裡。

花1小時就建好 WordPress 的 Nginx 教學 | 網站架設 | Centmin Mod, CloudFlare, Namecheap, Namesilo, Nginx, PHP, VPS, Vultr, WooCommerce, WordPress, 網站搭建
花1小時就建好 WordPress 的 Nginx 教學 | 網站架設 | Centmin Mod, CloudFlare, Namecheap, Namesilo, Nginx, PHP, VPS, Vultr, WooCommerce, WordPress, 網站搭建

到「NAMESERVERS」變更為「Custom DNS」,再把剛拿到的「maria.ns.cloudflare.com」和「pete.ns.cloudflare.com」換進去 (你們可能的會不一樣),然後點右邊綠色的「√」就好了。

花1小時就建好 WordPress 的 Nginx 教學 | 網站架設 | Centmin Mod, CloudFlare, Namecheap, Namesilo, Nginx, PHP, VPS, Vultr, WooCommerce, WordPress, 網站搭建

添加 DNS 記錄

花1小時就建好 WordPress 的 Nginx 教學 | 網站架設 | Centmin Mod, CloudFlare, Namecheap, Namesilo, Nginx, PHP, VPS, Vultr, WooCommerce, WordPress, 網站搭建
回到 Cloudflare 的「DNS」

把下面這四個加到你的 DNS Record 裡

  • A > 你的網址.com > VPS 的 IPv4 > Add Record
  • A > www > VPS 的 IPv4 > Add Record
  • AAAA > 你的網址.com > VPS 的 IPv6 > Add Record (可選)
  • AAAA > www > VPS 的 IPv6 > Add Record (可選)
花1小時就建好 WordPress 的 Nginx 教學 | 網站架設 | Centmin Mod, CloudFlare, Namecheap, Namesilo, Nginx, PHP, VPS, Vultr, WooCommerce, WordPress, 網站搭建
最後點「Cypto」先將 SSL 換成「Flexible」

CentminMod 安裝 WordPress 和 Let’s Encrypt 的 SSL 證書

切回 SSH 客戶端,很大機會它已經斷連了。

重新登入,應該會看到下面的畫面 (如果沒有的話,很有可能是 CentminMod 還在裝)

花1小時就建好 WordPress 的 Nginx 教學 | 網站架設 | Centmin Mod, CloudFlare, Namecheap, Namesilo, Nginx, PHP, VPS, Vultr, WooCommerce, WordPress, 網站搭建

先輸入這兩行,開啟 Let’s Encrypt 的使用功能。

touch /etc/centminmod/custom_config.inc
echo "LETSENCRYPT_DETECT='y'" >> /etc/centminmod/custom_config.inc
花1小時就建好 WordPress 的 Nginx 教學 | 網站架設 | Centmin Mod, CloudFlare, Namecheap, Namesilo, Nginx, PHP, VPS, Vultr, WooCommerce, WordPress, 網站搭建

輸入後,它什麼都沒有顯示是正常的。

這樣我們就可以開始安裝 WordPress 了,輸入

cd /usr/local/src/centminmod ./centmin.sh

等大約 30 秒,會出現這個畫面

花1小時就建好 WordPress 的 Nginx 教學 | 網站架設 | Centmin Mod, CloudFlare, Namecheap, Namesilo, Nginx, PHP, VPS, Vultr, WooCommerce, WordPress, 網站搭建

輸入「22」的 Add WordPress Nginx vhost + Cache Plugin

按下面的去問題作答,不懂是什麼的話,跟我一樣的就可以了。但記得要改裡面的資料!例如你的網址,不要跟我一樣打 yourdomain.com。
Do you want to continue with Nginx vhost site creation? [y/n] Y
// 你想繼續 Nginx 的虛擬主機網站創建?Enter vhost domain name you want to add (without www. prefix): yourdomain.com
// 輸入您想要添加的虛擬主機網址(不含 www 前綴)Create a self-signed SSL certificate Nginx vhost? [y/n]: Y
// 創建一個自簽名的 SSL 證書?Get Letsencrypt SSL certificate Nginx vhost? [y/n]: Y
// 獲取 Letsencrypt SSL 證書?You have 4 options: 
1. issue staging test cert with HTTP + HTTPS (untrusted)
2. issue staging test cert with HTTPS default (untrusted)
3. issue live cert with HTTP + HTTPS (trusted)
4. issue live cert with HTTPS default (trusted)
Enter option number 1-4: 4
// 輸入選項編號 1-4:輸入 "4"
Theme Setup: 
Install CyberChimps Responsive Theme (cyberchimps.com/responsive-theme/) [y/n]: N
// 安裝 Cyber​​Chimps Responsive 主題

Wordpress Setup: 
Set custom WP Admin Display Name ? [y/n]: N
// 設置自定義 WP Admin 顯示名稱?Install WordPress in subdirectory /blog ? [y/n]: N
// 安裝 WordPress 的子目錄 / 博客?Disable Auto Generated WP Admin Username / Password ? [y/n]: Y
// 禁用自動生成的 WP Admin 用戶名 / 密碼?Disable wp-login.php password protection ? (less security) [y/n]: Y
// 禁用 wp-login.php 密碼保護?建議不要開啟,十級麻煩!Enter desired WP Admin Username: username
// 輸入所需的 WP 管理員用戶名:Enter desired WP Admin Password: password
// 輸入所需的 WP 管理員密碼:Enter email address for Admin User for WordPress Installation: [email protected]
// 輸入管理員用戶的 WordPress 安裝電子郵件地址:1). KeyCDN Cache Enabler (default & recommended)
2). Redis Nginx Level Caching (may have issues with some wp plugins)
3). WordPress Super Cache
--------------------------------------------------------
Enter option [ 1 - 3 ] 3
//Wordpress 的緩存插件,我會選 3,之後可以換的。Enter email address for WordPress Installation: [email protected]
// 輸入 WordPress 安裝的電子郵件地址:Create FTP username for vhost domain (enter username): username
// 創建 FTP 用戶名:Do you want to auto generate FTP password (recommended) [y/n]: Y
// 你想自動生成 FTP 密碼(推薦)acmetool.sh is in beta testing phase
please read & provide bug reports &
feedback for this tool via the forums
https://centminmod.com/acmetool

continue [y/n] ? Y
// 輸入 "Y"

完成之後又會看到這個畫面

花1小時就建好 WordPress 的 Nginx 教學 | 網站架設 | Centmin Mod, CloudFlare, Namecheap, Namesilo, Nginx, PHP, VPS, Vultr, WooCommerce, WordPress, 網站搭建

往上翻,會看到剛建立 vhost 的資料:

-------------------------------------------------------------
FTP hostname : 111.111.111.111
FTP port : 21
FTP mode : FTP (explicit SSL)
FTP Passive (PASV) : ensure is checked/enabled
FTP username created for yourdomain.com : ftpac
FTP password created for yourdomain.com : zZCGvrm3c3DspGh04ZOHz
-------------------------------------------------------------
vhost for yourdomain.com created successfully


vhost ssl for yourdomain.com created successfully

domain: https://yourdomain.com
vhost ssl conf file for yourdomain.com created: /usr/local/nginx/conf/conf.d/yourdomain.com.ssl.conf
/usr/local/nginx/conf/ssl_include.conf created
Self-signed SSL Certificate: /usr/local/nginx/conf/ssl/yourdomain.com/yourdomain.com.crt
SSL Private Key: /usr/local/nginx/conf/ssl/yourdomain.com/yourdomain.com.key
SSL CSR File: /usr/local/nginx/conf/ssl/yourdomain.com/yourdomain.com.csr
Backup SSL Private Key: /usr/local/nginx/conf/ssl/yourdomain.com/yourdomain.com-backup.key
Backup SSL CSR File: /usr/local/nginx/conf/ssl/yourdomain.com/yourdomain.com-backup.csr

upload files to /home/nginx/domains/yourdomain.com/public
vhost log files directory is /home/nginx/domains/yourdomain.com/log

------------------------------------------------------------
SSH commands to uninstall created WordPress install and Nginx vhost:
  /root/tools/wp_uninstall_yourdomain.com.sh
------------------------------------------------------------

------------------------------------------------------------
Wordpress Auto Updater created at:
  /root/tools/wp_updater_yourdomain.com.sh
cronjob set for every 8 hours update (3x times per day)
------------------------------------------------------------

Wordpress domain: yourdomain.com
Wordpress DB Name: wp1976529922db_30874
Wordpress DB User: wpdb30874u11711
Wordpress DB Pass: wpdbAUSpRCGk0c5Cduffp23604
Wordpress Admin User ID: 294291
Wordpress Admin User: username
Wordpress Admin Pass: password
Wordpress Admin Email: [email protected]
Restarting nginx (via systemctl):  [  OK  ]

將它們抄到安全的地方,以後有可能需要用到的,然很輸入「24」離開 CentminMod。

最後的設定

回到 CloudFlare,點「Cypto」將 SSL 換成「Full」。

花1小時就建好 WordPress 的 Nginx 教學 | 網站架設 | Centmin Mod, CloudFlare, Namecheap, Namesilo, Nginx, PHP, VPS, Vultr, WooCommerce, WordPress, 網站搭建

到「Page Rules」創建三個規則,跟足下面的設定就可以了,但也記得換成自己的網址哦!

花1小時就建好 WordPress 的 Nginx 教學 | 網站架設 | Centmin Mod, CloudFlare, Namecheap, Namesilo, Nginx, PHP, VPS, Vultr, WooCommerce, WordPress, 網站搭建
花1小時就建好 WordPress 的 Nginx 教學 | 網站架設 | Centmin Mod, CloudFlare, Namecheap, Namesilo, Nginx, PHP, VPS, Vultr, WooCommerce, WordPress, 網站搭建
花1小時就建好 WordPress 的 Nginx 教學 | 網站架設 | Centmin Mod, CloudFlare, Namecheap, Namesilo, Nginx, PHP, VPS, Vultr, WooCommerce, WordPress, 網站搭建

最後,登入 WordPress 後台「https://yourdomain.com/wp-admin/」安裝及設置  CloudFlare WordPress plugin  和 WooCommerce。完成!!

x  Powerful Protection for WordPress, from Shield Security
This Site Is Protected By
Shield Security