nginx
约 709 字大约 2 分钟...
Nginx 是一个功能强大的、高性能的开放源代码 Web 服务器和反向代理服务器,是网站运行的必备环境。
服务器设置参考 NginxConfig,以下是常用的 Nginx 配置。
缓存设置
网页加载速度不仅受服务器带宽的限制,缓存设置的优化也至关重要。例如,对于频繁访问的网页,如果其静态内容(如图片、JS 和 CSS)的缓存时长过短(如仅一小时),将导致用户每小时都需要重新加载这些资源,从而显著拖慢网页的响应速度。
为了提高访问效率,无论是通过直接服务器设置还是通过云服务配置,适当的缓存策略都是不可或缺的。对于图像文件,如 PNG、JPG 和 GIF,考虑到它们变更频率较低,可以将缓存期设置为长达 365 天。此外,对于通过工具如 webpack 打包的 JS 和 CSS 文件,由于它们的文件名会随内容变更而更新,设置同样长度的缓存期(365 天)是可行的,这样可以确保用户始终加载的是最新的资源。
然而,对于手动编写且频繁更新的 JS 和 CSS 文件,应采取更为谨慎的缓存策略。由于这些文件可能重复使用而未及时更新,建议缩短其缓存期限,以避免因文件未更新而导致的网页显示问题。
以下是 nginx 关于缓存的配置示例:
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|ico|svg)$
{
expires 365d;
error_log /dev/null;
access_log off;
}
location ~ .*\.(js|css)?$
{
expires 365d;
error_log /dev/null;
access_log off;
}
压缩设置
一般的网页部署会使用 gzip 或 br。推荐的 gzip 配置如下:
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.1;
gzip_comp_level 4;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript image/svg+xml;
gzip_vary on;
gzip_proxied expired no-cache no-store private auth;
gzip_disable "MSIE [1-6]\.";
我这将压缩级别从 2 调到 4,越高压缩越多但消耗 CPU 更多。另外,压缩文件类型添加了现代 Web 的常见类型。
网站重定向
更改 nginx 配置后,nginx 重载配置后实现网站重定向。$1
表示第一个 ()
内的正则匹配内容,$2
为第二个。[1] [2]
# 全站重定向
return 301 https://www.aishort.top$request_uri;
# 隐性链接跳转
location /xx1 {proxy_pass <https://xxx.com/;>}
# 404 前,将旧文章链接格式转为新的,使用绝对路径
location ^~ /p{
rewrite ^/p/(.*)$ https://newzone.top/posts/$1.html;
}
# huginn 设置中 location 添加 301 定向,兼容老路径链接
if ( $request_uri = "/users/1/web_requests/21/guoke.xml" ) {
rewrite ^ http://xxx.com/users/1/web_requests/19/guoke.xml permanent;
}
# 只匹配主页,将主页跳转为其中一个子页面
location = / {
rewrite https://xxx.com/ permanent;
}
你认为这篇文章怎么样?
- 0
- 0
- 0
- 0
- 0
Powered by Waline v3.3.2