Wordpress 的頁面不會時常更新,希望透過緩存的方式減少不必要的損耗,並同時加速頁面載入速度 雖然 Wordpress 有眾多的緩存插件可以使用,但用起來的效果感覺都沒有很好,所以決定用 Nginx 來實現緩存 環境 Ubuntu - 20.04 LTS Nginx - 1.18.0 (Ubuntu) nginx-cache-purge - 0.1.8 Lua - 5.2.4 實現 Nginx 緩存 一個最基本的 Wordpress 的反向代理設定
1 2 3 4 5 6 7 8 9 10 11 http { server { listen 80; server_name domain.com; location / { proxy_hide_header X-Frame-Options; proxy_pass http://192.168.0.100; } } } 設定緩存路徑及緩存鍵名 proxy_cache_path <path> [levels=levels] keys_zone=name:size [inactive=time] [max_size=size] [use_temp_path=on|off]; <path>: 設定代理緩存位置的相關設定為 /var/run/proxy_cache
levels: 設定目錄結構,例如 1:2,總共用了兩層目錄,第一層目錄單個 16 進制命名,第二層為兩個 16 進制命名
有幸可以跟閱讀我文章的人交流,真的很榮幸,一起討論可以共同成長 這裡要來比較 Caddy2 和 Nginx 在性能上面的差異,做一下簡單的測試 版本 System Ubuntu: 20.04 LTS Server CPU: 2 Core RAM: 2 GB Web Server Caddy: v2.0.0 Nginx: v1.17.10 Web Wordpress: v5.3.4 Stress Tool Siege: v4.0.4 配置 Caddy2 做了基本的設定,而 Nginx 則是不去變動安裝好就存在的設定,單純只加上 fastcgi 以及添加 index.php
讓兩者使其可以讀取 wordpress 的首頁
Caddy2 1 2 3 4 5 6 :80 { root * /var/www/html/wordpress encode gzip php_fastcgi unix//run/php/php7.4-fpm.sock file_server } Nginx 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 user www-data; worker_processes auto; pid /run/nginx.