debian

LNMP在Debian上如何优化

小樊
41
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 Surý的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. 性能优化

启用缓存

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;
    }
    ...
}
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. 安全优化

server {
    ...
    location / {
        allow 192.168.1.0/24;
        deny all;
    }
    ...
}
sudo apt-get install certbot python3-certbot-nginx -y
sudo certbot --nginx -d yourdomain.com

7. 监控和日志

通过以上步骤,你可以在Debian上优化LNMP环境,提高服务器的性能和安全性。根据实际需求,可能还需要进行更多的调整和优化。

0
看了该问题的人还看了