LNMP是指Linux、Nginx、MySQL和PHP的组合,常用于搭建网站服务器。在Debian上优化LNMP环境可以从多个方面入手,包括软件源配置、软件包选择、服务配置和性能调优等。以下是详细的优化步骤:
首先,确保系统是最新的:
sudo apt-get update && sudo apt-get upgrade -y
sudo apt-get install nginx -y
由于默认的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
sudo apt-get install mysql-server -y
在安装过程中,系统会提示设置MySQL的root密码,请务必记住该密码。
编辑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
编辑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
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.ini
文件,取消以下行的注释:zend_extension=opcache.so
opcache.enable=1
opcache.validate_timestamps=1
opcache.fast_shutdown=1
编辑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
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
/var/log/nginx/
和/var/log/php7.4-fpm.log
。通过以上步骤,你可以在Debian上优化LNMP环境,提高服务器的性能和安全性。根据实际需求,可能还需要进行更多的调整和优化。