如何查看运行中uWSGI实例的配置选项当前值并验证配置生效?
配置查询方案说明
关于uwsgi --show-config与uwsgi --get的作用
这两个命令本身不支持直接读取运行中uWSGI实例的配置,默认只会解析执行命令时传入的配置文件/参数,输出对应配置值,仅适合静态验证配置文件的有效性,无法对接已经启动的uWSGI进程。
场景1:验证静态配置文件的参数是否被正确识别
如果仅需要确认你写入/etc/uwsgi.d/main.ini的参数没有语法错误、能被uWSGI正常加载,可以直接使用这两个命令:
- 查看该配置文件加载后的全量配置项:
uwsgi --ini /etc/uwsgi.d/main.ini --show-config
- 查询单个配置项的解析值,例如查询
socket-timeout:
uwsgi --ini /etc/uwsgi.d/main.ini --get socket-timeout
注意:
uwsgi_read_timeout是Nginx专属配置项,不属于uWSGI的配置范围,无法通过uWSGI相关命令查询。
场景2:查询运行中uWSGI实例的实际生效配置
要读取已启动的uWSGI进程的实时生效配置,需要提前在uWSGI配置中开启stats接口:
- 在
/etc/uwsgi.d/main.ini中添加如下配置:
# 可以用unix套接字或TCP地址,二选一即可 stats = /run/uwsgi/stats.sock # stats = 127.0.0.1:1717
- 重启uWSGI实例让stats接口生效
- 执行对应命令查询运行中实例的配置项,示例如下:
# unix套接字形式查询socket-timeout uwsgi --connect-and-read /run/uwsgi/stats.sock --get socket-timeout # TCP形式查询socket-timeout uwsgi --connect-and-read 127.0.0.1:1717 --get socket-timeout
Nginx配置生效验证方法
要确认/etc/nginx/conf.d/default.conf中的配置已生效,执行以下命令即可查看Nginx全量合并后的生效配置:
sudo nginx -T
命令会先校验配置语法正确性,再输出所有加载的配置内容,直接搜索uwsgi_read_timeout即可确认当前生效值,语法校验通过后执行sudo nginx -s reload即可让配置生效。
内容的提问来源于stack exchange,提问作者techie11
相关产品推荐
相关产品推荐

