提供静态文件的最佳实践

发布于 2024-10-21 20:49:31 字数 258 浏览 1 评论 0原文

我正在 python 网络服务器(Tornado)上进行开发。我计划将其放在前面带有 nginx 的生产实例中。这将是我第一次自己将一些东西放入生产环境中。我的问题是如何设置静态服务的文件/目录。例如我的应用程序允许用户将照片上传到网络。我在 Tornado 中收到请求,并将其保存到磁盘。然而,当用户访问他们的项目页面时,我宁愿从静态服务器中提取图像。我的问题是,将图像从动态服务器获取到静态服务器的最佳实践是什么?我是否将图像目录同步到静态服务器,然后运行 ​​cron 来从动态服务器中删除图像?

I am developing on a python webserver (Tornado). I plan to place this in a production instance with nginx in front. This will be my first time placing something into a production environment on my own. My question is how to setup files/directories for static serving. For instance my application, allows users to upload photos to the web. I recieve the requests in Tornado, and save to disk. However when a user visits their items page, I would rather the images be pulled from a static server. My question is what is the best practice for getting the images from my dynamic server to the static server? Do I rsync the image directory to the static server, then run a cron that delete the images from the dynamic server?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

金橙橙 2024-10-28 20:49:31

最佳实践是使用共享存储,但如果无法使用它,则可以使用 nginx 中的“proxy_store”选项。 nginx 文档中的示例:

location /images/ {
    root                 /data/www;
    error_page           404 = @fetch;
}

location @fetch {
    internal;

    proxy_pass           http://backend;
    proxy_store          on;
    proxy_store_access   user:rw  group:rw  all:r;
    proxy_temp_path      /data/temp;

    root                 /data/www;
}

Best practice is use shared storage, but if can't use it, than you can use "proxy_store" option from nginx. Example from nginx doc:

location /images/ {
    root                 /data/www;
    error_page           404 = @fetch;
}

location @fetch {
    internal;

    proxy_pass           http://backend;
    proxy_store          on;
    proxy_store_access   user:rw  group:rw  all:r;
    proxy_temp_path      /data/temp;

    root                 /data/www;
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文