網站搭建 – LNMP+WordPress+WooCommerce 1小時搞定

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

前言

以前我建站,因為什麼都不會嘛,就只會通過 cPanel 或在自己主機安裝傳統的 LAMP (Linux, Apache, MySQL / MariaDB, PHP)。但做了很多的資料搜集後 seafoodholdhand.com 決定使用 Centmin Mod,它有幾個優點,首先會搭建 LEMP (Linux, NGINX, MySQL / MariaDB, PHP),然後自化優化安裝並保護服務器 (自帶 CSF 防火牆)。最重要的是即使在配置很低的服務器上,也運作順暢,而且速度非常快!

在本文中,我將詳細介紹如何使用 Centmin ModVultr VPS 服務器上安裝 WordPress+WooCommerce。利用 Let’s Encrypt 獲得免費SSL證書,所有網站都應該使用HTTPS。最後用 CloudFlare 提供免費的 CDN 網絡,DDoS 和其他安全保護。

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

事前準備

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

禁用 SELinux

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

setenforce 0

更新 CentOS 服務器

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

yum update

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

安裝 Centmin Mod

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

curl -O https://centminmod.com/betainstaller.sh && chmod 0700 betainstaller.sh && bash betainstaller.sh

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

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

注冊你的 .com 域名

這個就是我們平常用的 .com .net .org 域名,這就像一家實體店的地址。沒有這個地址可以嗎?當然可以啦!把服務器的 IP 給記下來,111.111.111.111 就是我網址了……嗯,并沒什麼卵用。我還是買個域名好了😂 Namecheap, Namesilo 等都是專門做域名的,這裡我會用 Namecheap 做示範,因為他們的性價比比較高,經常會有很便宜的域名,而且售後服務很好。

買了域名後,可以進行下一步。

注冊 Cloudflare CDN

非常出名的 CDN ,什麼是 CDN?自己去搜一下吧,因為我也不是很懂,反正能幫網站加速就是了。我掛了這個,用國內的 4G 網絡不掛 SS 都可以很快的連到 seafoodholdhand 去。

  1. 到 Cloudflare 去免費注冊一個



  2. 不停的「NEXT」或「Continue」至看到這個畫面,我們要回到 NameCheap 的域名控制板面更改 nameservers。
  3. 點選 Custom DNS,再把剛拿到的「maria.ns.cloudflare.com」和「pete.ns.cloudflare.com」換進去 (你們可能的會不一樣),然後點右邊綠色的「√」就好了。

  4. 回到 Cloudflare 的「DNS」把這四個加上去。

      • A > 你的域名.com > VPS的IPv4 > Add Record
      • A > www > VPS的IPv4 > Add Record
      • AAAA > 你的域名.com > VPS的IPv6 > Add Record (可選)
      • AAAA > www > VPS的IPv6 > Add Record (可選)
  5. 最後就是點「Cypto」將 SSL 換成「Flexible」

網站搭建 安裝 WordPress 和 Let’s Encrypt 的免費 SSL 證書

  1. 切回 SSH 客戶端,正常它已經斷連了。重新登入,應該會看到下面的畫面 (如果沒有的話,很有可能是 Centmin Mod還在裝)
  2. 先輸入這兩行,開啟 Let’s Encrypt 的使用功能。
    touch /etc/centminmod/custom_config.inc
    echo "LETSENCRYPT_DETECT='y'" >> /etc/centminmod/custom_config.inc

  3. 輸入後,它什麼都沒有顯示是正常的。那我們就可以開始安裝 WordPress 了,輸入
    cd /usr/local/src/centminmod
    ./centmin.sh
  4. 等大約30秒,會出現這個畫面
  5. 輸入「22」的 Add WordPress Nginx vhost + Cache Plugin
    按下面的去問題作答,不懂是什麼的話,跟我一樣的就可以了。但記得要改裡面的資料!

    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): youdomain.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"
  6. 之後又會看到這個畫面
  7. 往上翻,會看到剛建立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  ]

    將它們抄到安全的地方,以後有可能需要用到的。

  8. 輸入「24」離開 Centmin Mod

最後的設定

  1. 回到 CloudFlare
  2. 點「Cypto」將 SSL 換成「Full」
  3. 點「Page Rules」創建三個規則

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

[原創文章,轉載請保留或註明出處:http://seafoodholdhand.com/網站搭建 LNMP+WordPress+WooCommerce 1小時搞定/]

Glass Chan

雙子座,一名毒撚(宅男中的宅男),同時也是Mario他爸。兼職 Digital Marketer ,2016年開始接觸到現在,雖然沒有像其他大 Boss 一樣年薪破千萬(破千是有的),但過程中找到很多的滿足感。希望可以跟大家分享我的經驗同時,從你們身上學習更多。

This Post Has 2 Comments

  1. 嗨~在最後《最後的設定》第二步驟說明是不是筆誤?應該是《點「Cypto」將 SSL 換成「Full」》這樣才對嗎?

    1. 是的,寫錯了。感謝

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料

Close Menu
%d 位部落客按了讚: