一、启用Nginx缓存
Nginx缓存是一种简单且有效的性能优化方法。启用缓存将减少动态生成内容的需求,减轻服务器的负担,并提高页面的响应速度。在Nginx配置文件中,可以使用proxy_cache_path指令配置缓存目录的路径。此外,还需要为要缓存的URI设置缓存规则。
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m inactive=60m; server { location / { proxy_cache my_cache; proxy_cache_valid 200 60m; proxy_cache_valid 404 1m; } }
在上例中,proxy_cache_path指令将缓存目录设置为/var/cache/nginx,并将缓存区大小限制在10MB以内。如果在60分钟内未访问缓存的内容,Nginx会自动删除它。在server块中,location指令指示Nginx将请求转发到缓存区,而proxy_cache_valid指令设置缓存规则,以确保内容在缓存中是最新的。
二、开启gzip压缩
开启gzip压缩可以将传输的数据量减少,提高网站性能。该配置将告诉Nginx使用gzip算法对响应进行压缩,并将其存储在缓存区中,以便更快地传输。
gzip on; gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript; gzip_vary on;
在上面的示例中,gzip_types指令定义哪些响应类型将被gzip压缩,gzip_vary指令告诉代理服务器压缩后的响应应该包含“Vary: Accept-Encoding”HTTP头。
三、使用HTTP2协议
使用HTTP2协议可以大幅提高网站性能。HTTP2协议引入了新的特性,如二进制分帧、多路复用、头部压缩等,可以更快地传输数据,减少延迟,从而提高网站的响应速度。
listen 443 ssl http2; ssl_certificate /path/to/cert.pem; ssl_certificate_key /path/to/key.pem;
在上面的示例中,listen指令启用HTTP2协议,并使用SSL加密协议进行通信。同时,使用ssl_certificate和ssl_certificate_key指令设置SSL证书的路径。
四、使用缓存加速静态资源
加速静态资源的加载可以大幅提高网站的性能。可以使用Nginx来缓存CSS、JavaScript、图像等文件,以便更快地加载。在配置文件中需要设置location指令,指示Nginx将请求发送到缓存或原始服务中。
location /static/ { root /var/www/example.com; expires 30d; add_header Cache-Control "public, immutable"; }
在上面的示例中,location指令定义Nginx将所有以/static/开头的URL发送到/var/www/example.com目录中,其中包含所有静态文件,如CSS、JavaScript等。expires指令设置静态文件的缓存时间为30天。add_header指令定义响应头。
五、限制请求频率
限制请求频率可以保护服务器免受恶意攻击,如暴力破解、DDoS攻击等。可以使用Nginx限制来自特定IP地址的请求数。
limit_req_zone $binary_remote_addr zone=one:10m rate=5r/s; server { location / { limit_req zone=one burst=10 nodelay; } }
在上面的示例中,limit_req_zone指令定义了在10分钟内接收到5个请求的IP地址限制,超过这个限制,请求将被延迟处理。在server块中,location指令定义请求的URL或域名需要进行限制。