在CentOS上配置LNMP(Linux, Nginx, MySQL, PHP)環境并實現緩存機制,可以通過以下幾個步驟來完成:
首先,確保你已經安裝了Nginx。如果沒有安裝,可以使用以下命令進行安裝:
sudo yum install epel-release
sudo yum install nginx
啟動Nginx并設置開機自啟動:
sudo systemctl start nginx
sudo systemctl enable nginx
接下來,安裝PHP-FPM(FastCGI Process Manager)來處理PHP請求:
sudo yum install php-fpm
啟動PHP-FPM并設置開機自啟動:
sudo systemctl start php-fpm
sudo systemctl enable php-fpm
編輯Nginx配置文件(通常位于/etc/nginx/nginx.conf或/etc/nginx/conf.d/default.conf),添加以下內容以支持PHP:
server {
listen 80;
server_name your_domain.com;
root /var/www/html;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
OPcache是PHP的一個內置擴展,可以顯著提高PHP腳本的執行速度。首先,確保你的PHP版本支持OPcache(PHP 7.2及以上版本默認支持)。然后,啟用OPcache:
編輯PHP-FPM配置文件(通常位于/etc/php-fpm.d/www.conf),找到以下行并取消注釋:
opcache.enable=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
重啟PHP-FPM服務以應用更改:
sudo systemctl restart php-fpm
為了實現更高級的緩存機制,可以安裝Redis或Memcached。
sudo yum install redis
啟動Redis并設置開機自啟動:
sudo systemctl start redis
sudo systemctl enable redis
sudo yum install memcached
啟動Memcached并設置開機自啟動:
sudo systemctl start memcached
sudo systemctl enable memcached
你可以使用Nginx的內置緩存模塊或第三方模塊(如ngx_cache_purge)來實現緩存。
編輯Nginx配置文件,添加以下內容:
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m max_size=1g inactive=60m use_temp_path=off;
server {
listen 80;
server_name your_domain.com;
location / {
proxy_pass http://your_backend;
proxy_cache my_cache;
proxy_cache_valid 200 302 10m;
proxy_cache_valid 404 1m;
}
}
安裝ngx_cache_purge模塊:
sudo yum install nginx-mod-http-cache-purge
編輯Nginx配置文件,添加以下內容:
location ~ /purge(/.*) {
allow 127.0.0.1;
deny all;
proxy_cache_purge my_cache $scheme://$host$request_uri;
}
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m max_size=1g inactive=60m use_temp_path=off;
server {
listen 80;
server_name your_domain.com;
location / {
proxy_pass http://your_backend;
proxy_cache my_cache;
proxy_cache_valid 200 302 10m;
proxy_cache_valid 404 1m;
}
}
重啟Nginx服務以應用更改:
sudo systemctl restart nginx
通過以上步驟,你可以在CentOS上配置LNMP環境并實現緩存機制,從而提高網站的性能和響應速度。