php+apache網站速度優化

本操作是使用

php7.2
負責php程式編譯後的暫存:  php-opcache 
壓縮檔案,減少傳遞時間:  mod-pagespeed

php-opcache

安裝 : yum install -y php-opcache

安裝好之後會有預設的檔案出現,可以不用特別設定

我的建議是用這樣的設定….如下

[opcache]
# 啟動操作碼快取
opcache.enable=1
#針對支援CLI版本PHP啟動操作碼快取 一般被用來測試和除錯
opcache.enable_cli=1
# 共享記憶體大小,單位為MB
opcache.memory_consumption=128
#儲存臨時字串快取大小,單位為MB,PHP5.3.0以前會忽略此項配置
opcache.interned_strings_buffer=60
#快取檔案數最大限制,命中率不到100%,可以試著提高這個值
opcache.max_accelerated_files=40000
#一定時間內檢查檔案的修改時間, 這裡設定檢查的時間週期, 預設為 2, 單位為秒
opcache.revalidate_freq=60
#開啟快速停止續發事件,依賴於Zend引擎的記憶體管理模組,一次釋放全部請求變數的記憶體,而不是依次釋放記憶體塊
opcache.fast_shutdown=1
#啟用檢查 PHP 指令碼存在性和可讀性的功能,無論檔案是否已經被快取,都會檢查操作碼快取,可以提升效能。 但是如果禁
用了 opcache.validate_timestamps 選項, 可能存在返回過時資料的風險。
opcache.enable_file_override=1
#載入此模組
zend_extension=opcache.so
#指定暫存檔的存放路徑,這可以自行設定
opcache.file_cache=/home/opcache
#啟用 Hugepage 服務
opcache.huge_code_pages=1
#指定該時間,在多少時間內緩存會失效
opcache.force_restart_timeout=180000


systemctl restart php-pfm

設定好要重啟 php-pfm 服務 :=> systemctl restart php-pfm

安全漏洞-建議修改如下:

opcache.file_cache_only=0
opcache.validate_timestamp=1

謹慎審查網站的代碼,並檢查網站中是否存在文件上傳漏洞

mod-pagespeed

安裝:

wget https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-stable_current_i386.rpm
#64位
wget https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-stable_current_x86_64.rpm
yum install at
rpm -U mod-pagespeed-*.rpm 

安裝完成後重啟apache就可以了