Ctrl+D 收藏本站 再次访问不迷路 ~
前言
网站访问速度慢?服务器负载高?别着急,本文将从系统、Nginx、MySQL、PHP等多个维度,教你全方位优化服务器性能,让你的网站飞起来!

一、系统层面优化
1. 关闭不必要的服务
新安装的系统通常会运行一些不必要的服务,占用资源。可以关闭:
systemctl stop postfix
systemctl disable postfix
systemctl stop avahi-daemon
systemctl disable avahi-daemon2. 修改文件描述符限制
默认的文件描述符限制可能不够用,修改 /etc/security/limits.conf:
* soft nofile 65535
* hard nofile 655353. 内核参数优化
修改 /etc/sysctl.conf,添加以下内容:
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_tw_buckets = 6000
net.ipv4.tcp_sack = 1
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 1200
net.ipv4.ip_local_port_range = 1024 65535
net.core.somaxconn = 65535
net.core.netdev_max_backlog = 262144执行 sysctl -p 生效。
二、Nginx优化
1. worker进程优化
worker_processes auto; # 自动匹配CPU核心数
worker_cpu_affinity auto; # CPU亲和性
worker_rlimit_nofile 65535; # 文件描述符限制2. 事件处理优化
events {
use epoll; # 使用epoll模型
worker_connections 65535; # 最大连接数
multi_accept on; # 一次性接受多个连接
}3. 开启gzip压缩
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_comp_level 6;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
gzip_vary on;4. 静态文件缓存
location ~* \.(jpg|jpeg|png|gif|ico|css|js|woff|woff2|ttf|eot|svg)$ {
expires 30d;
add_header Cache-Control "public, immutable";
}三、MySQL优化
1. 配置文件优化
修改 /etc/my.cnf:
[mysqld]
# 基本配置
port = 3306
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
# 性能优化
max_connections = 500
max_connect_errors = 1000
table_open_cache = 2048
max_allowed_packet = 64M
binlog_cache_size = 1M
max_heap_table_size = 256M
read_buffer_size = 2M
read_rnd_buffer_size = 8M
sort_buffer_size = 8M
join_buffer_size = 8M
thread_cache_size = 64
query_cache_size = 64M
query_cache_limit = 2M
tmp_table_size = 256M
# InnoDB优化
innodb_buffer_pool_size = 1G # 建议为内存的50%-70%
innodb_log_file_size = 256M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 2
innodb_lock_wait_timeout = 50
innodb_file_per_table = 12. 定期优化表
mysqlcheck -o -A -u root -p3. 开启慢查询日志
slow_query_log = 1
slow_query_log_file = /var/log/mysql/slow.log
long_query_time = 2
log-queries-not-using-indexes四、PHP优化
1. php.ini优化
memory_limit = 256M
max_execution_time = 300
max_input_time = 300
post_max_size = 64M
upload_max_filesize = 64M
date.timezone = Asia/Shanghai
# OPcache优化
opcache.enable=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.revalidate_freq=60
opcache.fast_shutdown=12. PHP-FPM优化
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 500五、其他优化建议
1. 使用CDN加速
静态资源使用CDN加速,减轻服务器压力,提升访问速度。推荐使用七牛云、又拍云、阿里云CDN等。
2. 开启Redis缓存
对于动态网站,使用Redis缓存热点数据,减少数据库查询。
3. 图片优化
- 上传图片前压缩
- 使用WebP格式
- 开启懒加载
4. 定期清理
- 清理日志文件
- 清理临时文件
- 清理无用的软件包
六、性能监控工具
1. top/htop
查看系统资源使用情况:
yum install htop -y
htop2. iostat
查看磁盘IO:
yum install sysstat -y
iostat -x 1 103. mysqlslap
MySQL压力测试:
mysqlslap --concurrency=100 --iterations=10 --number-of-queries=1000 --debug-info --user=root --password=密码总结
服务器优化是一个持续的过程,需要根据实际情况不断调整。本文介绍的优化方法适用于大多数场景,但具体效果还需要根据你的服务器配置和网站类型来定。
提示:优化前务必备份配置文件,避免优化出错导致网站无法访问。建议每次只改一项,测试没问题后再改下一项。
©版权声明
文章版权归作者所有,未经允许请勿转载。
THE END

暂无评论内容