重启uwsgi

        每次我在客户端把代码push到服务器后,都要去服务器重启uwsgi,相当麻烦。想写个脚本来监控git的更新。查看了git手册后,发现它有好几个hooks,这些hooks分别会监控不同的git命令。hooks钩子如下:

复制代码
applypatch-msg.sample  
commit-msg.sample  
post-receive  
post-update.sample  
pre-applypatch.sample  
pre-commit.sample  
prepare-commit-msg.sample  
pre-rebase.sample  
update.sample
复制代码

这些都是shell脚本,去掉后面的sample后就能运行相应git命令脚本了。每个钩子的作用详见:http://gitbook.liuhui998.com/5_8.html

当用户在本地仓库执行'git-push'命令时,服务器上运端仓库就会对应执行'git-receive-pack'命令,而'git-receive-pack'命令会调用 pre-receive 钩子。在开始更新远程仓库上的ref之前,这个钩子被调用。钩子的执行结果(exit status)决定此次更新能否成功。

在post-receive加如下语句:

kill -HUP `cat /dev/shm/webapp.pid`

如果有 /etc/init.d/uwsgi, 就用 /etc/init.d/uwsgi restart,没有的话kill -HUP好了。

在webapp的uwsgi_webapp.xml配置里添加

<pidfile>/dev/shm/webapp.pid</pidfile>

如果是ini后缀的配置文件:

pidfile=/dev/shm/webapp.pid

如果要uwsgi随着服务器的启动而启动,怎么配置呢?

修改/etc/rc.local文件:

/usr/local/bin/uwsgi -x /web/www/webapp/uwsgi_webapp.xml -d /var/log/uwsgi/uwsgi.log

最好使用uwsgi的完整路径

 

 

posted @   网恋被骗5元  阅读(2684)  评论(0编辑  收藏  举报
编辑推荐:
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
阅读排行:
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· 【.NET】调用本地 Deepseek 模型
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
点击右上角即可分享
微信分享提示