VPS 服務器上安裝 Webinoly 安裝包是非常容易,它優化了 LNMP WEB 服務性能,增強 WordPress 後台登錄的安全性,讓您的網站更可靠的配置。
我在前幾篇文章中,有簡單的介紹 Webinoly 安裝方法,這一篇裡,會更詳細介紹 Webinoly 安裝及功能,更容易上手 VPS 服務器。
選擇一台 VPS 服務器
Webinoly 只能在 Ubuntu 16.04 LTS 系統上運行,所以選擇一台 VPS 是很重要的事情,有的主機商只有配置 Ubuntu 14.04 系統,就無法順利安裝;目前測試 Vultr、Digital Ocean、Google Cloud Platform (GCP)、Linode 都可以順利安裝完成。
以 Linode 2G VPS 為例:
建立一個新系統 (Rebuild)
建立好之後,點取控制台的 boot,啟動你的 VPS 服務器。
使用 PuTTY 或 Xshell5 登入SSH,先更新 Ubuntu 16.04 LTS 系統:
sudo apt-get update sudo apt-get -y upgrade sudo apt-get -y autoremove
選擇時區, Asia –> Taipei
dpkg-reconfigure tzdata
開啟 Linode VPS 的 TCP BBR 優化算法
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
保存生效:
sysctl -p
回覆狀態:
net.core.default_qdisc = fq net.ipv4.tcp_congestion_control = bbr
表示 BBR 功能已成功啟動。
開始安裝 Webinoly LNMP
wget -qO weby qrok.es/wy && sudo bash weby 3
等待十幾分鐘,安裝完成後,將最後的 MySQL 密碼複製下來:
設置 HTTP 網頁身分認證
sudo httpauth -add HTTP-Auth User: yungke HTTP-Auth Password: 12345
這是登入 IP:22222 工具網頁及 WordPress 後台的網頁認證,如圖:
開啟 SFTP 功能
sudo webinoly -login-www-data
Webinoly 已預設帳號為 www-data,我們只要設置 SFTP 密碼:
sudo passwd www-data Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully
開始建立一個 WordPress 網站
你的 DNS 管理建立一組 A 紀錄指向你的 VPS 服務器,我還要替網站安裝 SSL 免費證書,所以要多一個 www 別名,如圖:
sudo site example.com -wp
回復內容,按 Y 及 Enter
Do you need to setup new MySQL database? [Y/n] Create WP-Config file automatically? [Y/n] Database Host [localhost]: Database Name [webinoly_yungke_me]: Database User [webinoly_yungke_me]: Database Password [2nO4qNNd]: Database Prefix [wp_]:webinoly_
安裝 Lets Encrypt SSL 加密證書
sudo site example.com -ssl-on
Please, enter an email to register your new certificate: //輸入你的 mail 信箱
你的域名和 www 子域名有正確指向此服務器,等一下就會出現申請成功,如下:
MAILTO=hello@yungke.me 15 3 * * 7 letsencrypt renew SSL have been successfully enabled for site example.com!
2018/03/28 補充:
2018/03/01 之後安裝的 1.3.1 版,已經修正安裝 SSL 證書後,自動 HTTP 導向 HTTPS 的問題,可以忽略下面修改 example.com conf 文件。
因為安裝了 SSL 證書,Webinoly 的 Nginx conf 配置文件只有 443 port,這時你用域名開網頁會出現 LNMP 預設網頁,如圖:
需要修改 conf 配置,你才能安裝 WordPress 網站。
打開 /etc/nginx/sites-available/example.com 文件,配置如下。
加入 listen 80 及 http 301 轉向 https 這兩個配置:
server { listen 80; listen [::]:80; listen 443 ssl http2; listen [::]:443 ssl http2; server_name example.com www.example.com; # WebinolySSLstart ssl on; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_stapling on; ssl_stapling_verify on; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; # WebinolySSLend access_log /var/log/nginx/example.com.access.log we_log; error_log /var/log/nginx/example.com.error.log; root /var/www/example.com/htdocs; if ($ssl_protocol = "") { return 301 https://$host$request_uri; } index index.php index.html index.htm; ............... 以下省略
存檔文件,重啟 Nginx
nginx -t && service nginx restart
這樣你就可以開始安裝 WordPress。
使用 phpMyadmin 資料庫管理,請在網頁輸入 http:// 你的 IP:22222/pma
結語
Webinoly 在很短的時間就能安裝完成一個 LNMP Lunix 系統,自動配置和優化你的 VPS 服務器,使用及維護都不會太難。
如有其他安裝或使用問題,歡迎回覆討論。
2017/12/17 補充:
感謝網友提醒我關於 HTTP Authentication (網頁身分認證) 的問題,如果是購物網站,網頁認證會造成會員的不便,無法登入。
Webinoly 有關閉的指令,執行後會關閉網頁認證:
sudo httpauth -wp-admin-off
不過,這會關閉全部的網站認證,可以針對單一個購物網站關閉網頁認證,修改 wpcommon.conf 文件:
複製 wpcommon.conf 文件,改名為 wpcommon-nohttp.conf
cd /etc/nginx/common cp -i wpcommon.conf wpcommon-nohttp.conf
修改 wpcommon-nohttp.conf,將 include common/acl.conf 註釋掉,如下:
# WordPress COMMON SETTINGS # DO NOT MODIFY, ALL CHANGES LOST AFTER UPDATE Webinoly # Limit access to avoid brute force attack location = /wp-login.php { limit_req zone=one burst=1 nodelay; # include common/acl.conf; include fastcgi_params; fastcgi_pass php; } ...............
修改該網站的 conf 文件,位置在 /etc/nginx/sites-available/example.com,註釋掉 wpcommon.conf,新增我們修改好的 wpcommon-nohttp.conf 文件,如下
............... include common/php.conf; # include common/wpcommon.conf; include common/wpcommon-nohttp.conf; include common/locations.conf; include common/headers-http.conf; include common/headers-html.conf; ...............
存檔後,重啟 Nginx 後,這個網站就不會有網頁認證的問題。
Webinoly 安裝 VPS 教學系列文章:
1. Webinoly 快速安裝 WordPress 教學
2. Webinoly 安裝後如何更改 PHP 版本
3. FastCGI Cache 快取 WooCommerce 的問題
4. Webinoly 的 Zend Opcache 性能優化
5. Webinoly 的 Memcached 性能優化
6. 阻擋 MJ12bot 惡意蜘蛛訪問
7. Webinoly 安裝 VPS 教學
8. Webinoly 安裝 VPS 教學 – 進階版
Featured Photo by SpaceX on Unsplash
- WooWP 黑色星期五優惠 - 2020-11-12
- WordPress Multisite 的重定向 Redirect 規則 - 2020-11-02
- 舊 WordPress 安裝 Multisite 子目錄解決方式 - 2020-10-25
Comments
SSL 似乎不會自動更新續約,請問要如何加上呢?
Webinoly 在你安裝 sudo site domain.com -ssl-on 成功後,就會自動幫你安裝續約排程,不用再另外安裝了。
用 crontab -l 指令檢查你的 cron 排程。
應該會看到:
MAILTO=rupm66@gmail.com
15 3 * * 7 letsencrypt renew
好的,謝謝回覆。
感謝您這篇教學,我依照步驟設定,直到這裡卡住,請您教我。
打開 /etc/nginx/sites-available/example.com 文件
“打開”的指令是什麼?
“存檔文件”的指令是什麼?
如果你是新安裝 Webinoly 1.3.1 版本,
可以忽略這個部分。
Webinoly 1.3.1 在你安裝了 SSL 證書時,會自動將 80 端口及 HTTP 301 to HTTPS,不用再自行修改 conf 文件了。
謝謝您!XD
請問 Webinoly 1.3.1 可以用 Cloudflare DNS ?
可以使用 CloudFlare CDN,建議不要打開雲,SSL 證書好像會有問題。
Webinoly 是延續 EasyEngine 的架構,所以可以參考這一篇的說明:https://easyengine.io/tutorials/cdn/
Yungke大,我發現我照您的方法用了之後,ie8會顯示「Internet Explorer 無法顯示網頁」,舊手機會顯示「無法建立安全連線」,您的這個網站也是有一樣的問題,這個有解嗎?
我沒看懂您的意思?
是在 IE8 瀏覽器下無法開啟網站嗎 (yungke.me)?
我手上的 IE 已經是 11 了,找不到 IE8 來測試了。
對的,完全無法開啟網站喔,我用了2台電腦的ie8,一樣問題,還有舊手機也是
應該是VPS安裝Webinoly裡面有東西檔到了,之前用虛擬主機時,沒有這個問題
IE8 是 XP 時代的產物 XD….
Webinoly 的安裝要用一個乾淨的 VPS 才行,意思是說,Linux 不能先預裝 Apache。
安裝前,用這個指令檢查:
rpm -qa | grep httpd
移除 Apache
sudo service apache2 stop
sudo apt-get purge apache2 apache2-utils apache2.2-bin apache2-common
sudo apt-get autoremove
感謝版大分享。對於SSL有一點疑問想請教
sudo site example.com -ssl-on
如果今天網域為abc.com
要以子網域做多國語言 如en.abc.com zh-han.abc.com
是否不能在這個步驟就開啟 -ssl-on 呢?
以子網域做多國語言,這方面我沒做過。
但是,WP Multi-Lingual 說明文件來看,
abc.com 根域名要使用「通配符」 (泛域名) SSL 證書,
sudo site abc.com -ssl=on -wildcard
en.abc.com 及 zh-han.abc.com 這兩個子域名,DNS A 紀錄也要指向與 abc.com 同 IP。
我有一些問題請教
我使用Google Cloud遇到問題
sudo IP -wp 這裡我輸入Google Cloud虛擬主機的IP wordpress可以正常顯示
但是無法使用進入到端口22222 工具網頁
開啟SFTP 輸入 sudo webinoly -login-www-data
顯示這個錯誤
[ERROR] Invalid value for login-www-data!
GCP VM 主機比較特別一點….
先到 GCP 控制台將 VPC 網路 >> 防火牆規則
將 22222/TCP 和 11371/TCP 端口打開
謝謝幫忙
Webinoly 1.9.0 版後,修改了很多指令,抱歉,我這篇文章有的沒更正。
還是以 Webinoly 說明文件為準,請詳見>>
sudo webinoly -login-www-data=on