我有一个使用Nginx和Passenger的网络服务器。
我上传了我的rails应用程序并让它运行。一切都很棒,但后来我决定改变一个图像(用另一个图像覆盖它)。我做到了,然后再次部署。我已经验证新图像位于assets / images文件夹中。
问题是我刷新了网络应用程序,并且html引用了旧图像。就像这样,直到我重新启动了nginx 。重新加载这个没有其他方法吗?因为如果我在同一台服务器上有多个Web应用程序,我不想仅仅因为我更新了一个Web资产而重新启动它们。
我的nginx conf:
server {
# Path to ruby version
passenger_ruby /home/ubuntu/.rvm/gems/ruby-2.2.1/wrappers/ruby;
listen 80;
server_name mydomain.com;
passenger_enabled on;
root /var/www/myrailsapp/current/public;
rails_env production;
location ~ ^/assets/ {
expires 1y;
add_header Cache-Control public;
add_header ETag "";
break;
}
location ~* .(jpg|jpeg|png|gif|ico|css|js)$ {
expires 365d;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
您知道问题是什么?我如何避免重新启动nginx以重新加载新图像?
答案 0 :(得分:1)
如需进一步参考,在@SeanHuber的帮助下,我必须做的就是重新启动乘客的应用程序。
我做了它运行命令:
passenger-config restart-app
有关详细信息:https://www.phusionpassenger.com/library/admin/nginx/restart_app.html#restart-txt
答案 1 :(得分:0)
不要重新启动nginx,只需重启乘客:
touch <app_dir>/tmp/restart.txt