溫馨提示×

LNMP在Debian上如何優化

小樊
56
2025-04-13 22:48:02
欄目: 智能運維

LNMP是指Linux、Nginx、MySQL和PHP的組合,常用于搭建網站服務器。在Debian上優化LNMP環境可以從多個方面入手,包括軟件源配置、軟件包選擇、服務配置和性能調優等。以下是詳細的優化步驟:

1. 更新和升級系統

首先,確保系統是最新的:

sudo apt-get update && sudo apt-get upgrade -y

2. 安裝LNMP組件

安裝Nginx

sudo apt-get install nginx -y

安裝PHP

由于默認的Debian源中沒有較新的PHP版本,可以添加Ond?ej Sury的PPA來安裝PHP:

sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get install php7.4 php7.4-cli php7.4-fpm php7.4-mysql -y

安裝MySQL

sudo apt-get install mysql-server -y

在安裝過程中,系統會提示設置MySQL的root密碼,請務必記住該密碼。

3. 配置Nginx

編輯Nginx的默認配置文件:

sudo nano /etc/nginx/sites-available/default

確保以下配置正確:

server {
    listen 80 default_server;
    listen [::]:80 default_server;

    root /var/www/html;
    index index.php index.html index.htm index.nginx-debian.html;

    server_name _;

    location / {
        try_files $uri $uri/ =404;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
    }

    location ~ /\.ht {
        deny all;
    }
}

保存并退出編輯器,然后測試Nginx配置:

sudo nginx -t

如果沒有錯誤,重新加載Nginx:

sudo systemctl reload nginx

4. 配置PHP

編輯PHP的配置文件:

sudo nano /etc/php/7.4/fpm/php.ini

優化以下配置項:

memory_limit = 256M
max_execution_time = 30
upload_max_filesize = 128M
post_max_size = 128M

保存并退出編輯器,然后重啟PHP-FPM:

sudo systemctl restart php7.4-fpm

5. 性能優化

啟用緩存

  • Nginx緩存:編輯Nginx配置文件,添加以下內容:
http {
    ...
    proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m max_size=1g inactive=60m use_temp_path=off;
    ...
    location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
        expires 30d;
        add_header Cache-Control "public, no-transform";
        add_header Pragma "public";
        add_header Cache-Control "max-age=86400, must-revalidate";
        add_header Last-Modified $date_gmt;
        add_header Etag $request_time;
        add_header Vary "Accept-Encoding";
        proxy_cache my_cache;
        proxy_cache_valid 200 302 10m;
        proxy_cache_valid 404 1m;
    }
    ...
}
  • PHP OPcache:確保OPcache已啟用。編輯php.ini文件,取消以下行的注釋:
zend_extension=opcache.so
opcache.enable=1
opcache.validate_timestamps=1
opcache.fast_shutdown=1

調整MySQL配置

編輯MySQL的配置文件:

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

優化以下配置項:

[mysqld]
innodb_buffer_pool_size = 1G
innodb_log_file_size = 256M
innodb_flush_log_at_trx_commit = 2
query_cache_size = 64M
query_cache_type = 1

保存并退出編輯器,然后重啟MySQL:

sudo systemctl restart mysql

6. 安全優化

  • 限制Nginx訪問:編輯Nginx配置文件,添加以下內容:
server {
    ...
    location / {
        allow 192.168.1.0/24;
        deny all;
    }
    ...
}
  • 使用Let’s Encrypt:安裝Certbot來獲取免費的SSL證書:
sudo apt-get install certbot python3-certbot-nginx -y
sudo certbot --nginx -d yourdomain.com

7. 監控和日志

  • 監控工具:可以使用工具如Prometheus和Grafana來監控系統性能。
  • 日志管理:定期檢查Nginx和PHP-FPM的日志文件,通常位于/var/log/nginx//var/log/php7.4-fpm.log。

通過以上步驟,你可以在Debian上優化LNMP環境,提高服務器的性能和安全性。根據實際需求,可能還需要進行更多的調整和優化。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女