【发布时间】:2023-03-23 20:01:01
【问题描述】:
如何在特定环境中禁用数据库。我想要一个环境来纯粹提供不需要数据库的图像。不同的环境会做文件上传和管理。
我这样做的原因是因为我想从 images.example.com/image.jpg 提供图像并从 admin.example.com 管理它们。
非常感谢任何帮助。 谢谢。
【问题讨论】:
标签: ruby-on-rails database activerecord environment-variables
如何在特定环境中禁用数据库。我想要一个环境来纯粹提供不需要数据库的图像。不同的环境会做文件上传和管理。
我这样做的原因是因为我想从 images.example.com/image.jpg 提供图像并从 admin.example.com 管理它们。
非常感谢任何帮助。 谢谢。
【问题讨论】:
标签: ruby-on-rails database activerecord environment-variables
我认为您可以通过 Web 服务器在 Rails 应用程序之外执行此操作。如果您使用 nginx 或 VirtualHost 用于 apache,则可以创建另一个 server 配置。
nginx 的示例配置:
server {
server_name images.example.com;
root /path_to_images_directory;
location / {
rewrite ^/([^\/]+\.css)$ /css/$1 break;
rewrite ^/([^\/]+\.js)$ /js/$1 break;
rewrite ^/([^\/]+\.(png|jpg|jpeg))$ /images/$1 break;
}
}
【讨论】:
public/uploads/images 目录中,只需将DocumentRoot 直接指向该目录即可。所以所有的图片都会直接通过网络服务器发送。
VirtualHost 和乘客:)