要优化你的基于 Debian 的网站,可以从多个方面入手,包括系统优化、Web 服务器配置优化、数据库优化、前端资源优化等。以下是一些详细的步骤和建议:
更新系统
sudo apt update && sudo apt upgrade -y
安装必要的软件包
sudo apt install nginx mysql-server php-fpm php-mysql -y
配置防火墙
使用 ufw
来配置防火墙,只允许必要的端口(如 HTTP 80 和 HTTPS 443)。
sudo ufw allow 'Nginx Full'
sudo ufw enable
优化内核参数
编辑 /etc/sysctl.conf
文件,添加或修改以下参数:
net.ipv4.tcp_tw_reuse = 1
net.ipv4.ip_local_port_range = 1024 65535
net.core.somaxconn = 4096
net.core.netdev_max_backlog = 4096
Nginx 配置优化
编辑 /etc/nginx/nginx.conf
或站点配置文件(通常在 /etc/nginx/sites-available/
目录下),进行以下优化:
gzip on;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
keepalive_timeout 65;
keepalive_requests 100;
worker_processes auto;
worker_connections 1024;
PHP-FPM 配置优化
编辑 /etc/php/7.x/fpm/pool.d/www.conf
文件,进行以下优化:
pm.max_children
和 pm.start_servers
:pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35
/etc/mysql/my.cnf
或 /etc/mysql/mysql.conf.d/mysqld.cnf
文件,进行以下优化:
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
slow_query_log = 1
slow_query_log_file = /var/log/mysql/slow-queries.log
long_query_time = 2
压缩和合并 CSS 和 JavaScript 文件
使用工具如 UglifyJS
和 CSSNano
来压缩和合并前端资源。
使用 CDN 将静态资源(如图片、CSS、JavaScript 文件)托管到 CDN,减少服务器负载并加快加载速度。
启用浏览器缓存 在 Nginx 配置中设置适当的缓存头:
location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
expires 30d;
add_header Cache-Control "public";
}
使用监控工具
使用工具如 Prometheus
和 Grafana
来监控服务器性能和网站流量。
分析日志 定期分析 Nginx 和 MySQL 的日志文件,找出潜在的性能瓶颈和错误。
通过以上步骤,你可以显著优化你的 Debian 系统上的网站性能。记得在每次优化后进行测试,确保网站正常运行并且性能有所提升。