Photo by Unsplash+
VPS 服務器上安裝 Webinoly 安裝包是非常容易,它優化了 LNMP WEB 服務性能,增強 WordPress 後台登錄的安全性,讓您的網站更可靠的配置。
我在前幾篇文章中,有簡單的介紹 Webinoly 安裝方法,這一篇裡,會更詳細介紹 Webinoly 安裝及功能,更容易上手 VPS 服務器。
內容目錄:
- 選擇一台 VPS 服務器
- 建立一個新系統
- 開啟 Linode VPS 的 TCP BBR 優化算法
- 開始安裝 Webinoly LNMP
- 設置 HTTP 網頁身分認證
- 開啟 SFTP 功能
- 開始建立一個 WordPress 網站
- 安裝 Lets Encrypt SSL 加密證書
選擇一台 VPS 服務器
Webinoly 只能在 Ubuntu 16.04 LTS 系統上運行,所以選擇一台 VPS 是很重要的事情,有的主機商只有配置 Ubuntu 14.04 系統,就無法順利安裝;目前測試 Vultr、Digital Ocean、Google Cloud Platform (GCP)、Linode 都可以順利安裝完成。
以 Linode 2G VPS 為例:
建立一個新系統 (Rebuild)
建立好之後,點取控制台的 boot,啟動你的 VPS 服務器。
VPS 伺服器上安裝 Webinoly LENP 安裝包是非常容易的事 !
使用 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 教學 – 進階版
發佈留言