30fcee313005cf38c2e572bdd0c6600e

不用重启nginx也能更新服务吗?

lb563Ruby on Rails 節點 中發起
最後由 v1nc3ntlaw回應 , 392次閱讀

现在有一个静态项目,放到服务器.并且可以访问这个项目中的文件.
我用的nginx但是是我每次更新了项目后都要重启了下nginx.
想问一下:
有什么方法不用每次都重启nginx而像rails,passenger中的touch tmp/restart.txt就能达到更新服务的方法吗?

截至 ,共收到 3 條回應
4593b4af3a1b42ccb873bc59276c48b8
v1nc3ntlaw 1樓, 於回應

touch tmp/restart.txt 其實也是重啟 passenger
如果你指的是不想透過 /etc/init.d/nginx restart 重啟整個 nginx
那可以試試 /usr/local/bin/nginx -s reload
它會保留 nginx master process 重讀 nginx.conf 設定檔
重新 fork worker process
作用跟 passenger 的 touch tmp/restart.txt 很類似

30fcee313005cf38c2e572bdd0c6600e
lb563 2樓, 於回應

#1樓 @v1nc3ntlaw 是的问题是我就想用passenger touch的这种方式来重启.比如我现在项目有如下结构:
public
db
sql
res
就这四个目录,我的意思是我重新部署这个项目到服务器后,能不能用passenger touch 的这种方式来重启服务,如果可以我应该怎么写touch 的路径呢?

4593b4af3a1b42ccb873bc59276c48b8
v1nc3ntlaw 3樓, 於回應

#2樓 @lb563
nginx 並不 support passenger restart 的方式
所以我想是不可能透過 touch 某個識別的檔案來重啟 nginx
但是 stackoverflow 上有個作法你可以參考看看
http://stackoverflow.com/questions/3011067/restart-nginx-without-sudo

需要 登入 後方可回應,如果你還沒有帳號按這裡 註冊