重启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的完整路径
python,go,redis,mongodb,.net,C#,F#,服务器架构
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· 【.NET】调用本地 Deepseek 模型
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库