在 Pythonanywhere 上配置 nginx 服务器
Configure nginx server on Pythonanywhere
我正在尝试 "leverage browser caching" 以提高站点速度。该 webapp 托管在 pythonanywhere 上,我想我需要配置 nginx.conf 文件以包含:
location ~* \.(css|js|gif|jpe?g|png)$ {
expires 168h;
add_header Pragma public;
add_header Cache-Control "public, must-revalidate, proxy-revalidate";
}
(来自这里:how to Leverage browser caching in django)
但是我在任何地方都找不到 conf 文件。它不在 /etc/nginx、/usr/local/etc /usr/etc ...
这可以在 pythonanywhere 上完成吗?
这里是 PythonAnywhere 开发者。不幸的是,您无法更改我们系统上的 nginx 设置——但 system-default 设置实际上正是您想要的。如果您使用 "Web" 选项卡上的 "Static files" table 来指定它们的位置,则:
- 当浏览器第一次请求静态文件时,它会返回一个 header 说明上次修改时间(基于文件时间戳)。
- 当浏览器之后请求静态文件时,它的缓存中有一个副本,它通常会发送一个 "if-modified-since" header,其值为 last-modified header它是第一次出现。
- 服务器会检查文件时间戳,如果文件没有改变,它会发回一个没有内容的 HTTP 304 ("not modified") 响应,所以浏览器知道它可以使用缓存一个。如果文件已更改,那么它当然会发回一个正常的 200 响应,其中包含新内容和更新的 last-modified 时间戳供浏览器缓存。
我正在尝试 "leverage browser caching" 以提高站点速度。该 webapp 托管在 pythonanywhere 上,我想我需要配置 nginx.conf 文件以包含:
location ~* \.(css|js|gif|jpe?g|png)$ {
expires 168h;
add_header Pragma public;
add_header Cache-Control "public, must-revalidate, proxy-revalidate";
}
(来自这里:how to Leverage browser caching in django)
但是我在任何地方都找不到 conf 文件。它不在 /etc/nginx、/usr/local/etc /usr/etc ...
这可以在 pythonanywhere 上完成吗?
这里是 PythonAnywhere 开发者。不幸的是,您无法更改我们系统上的 nginx 设置——但 system-default 设置实际上正是您想要的。如果您使用 "Web" 选项卡上的 "Static files" table 来指定它们的位置,则:
- 当浏览器第一次请求静态文件时,它会返回一个 header 说明上次修改时间(基于文件时间戳)。
- 当浏览器之后请求静态文件时,它的缓存中有一个副本,它通常会发送一个 "if-modified-since" header,其值为 last-modified header它是第一次出现。
- 服务器会检查文件时间戳,如果文件没有改变,它会发回一个没有内容的 HTTP 304 ("not modified") 响应,所以浏览器知道它可以使用缓存一个。如果文件已更改,那么它当然会发回一个正常的 200 响应,其中包含新内容和更新的 last-modified 时间戳供浏览器缓存。