我如何列出nginx中的所有虚拟主机

我如何列出nginx中的所有虚拟主机,第1张

概述我如何列出nginx中的所有虚拟主机

有没有一个命令列出在CentOS上运行在Nginx下的所有虚拟主机或服务器? 我想将结果传送给一个文本文件用于报告目的。

我正在寻找类似于我用于Apache的这个命令的东西:

apachectl -S 2>&1 | grep'端口80'

如何在linux中使用ctrl + Rsearch所有匹配的以前的命令

从aplay输出到centos的arecord输出

我从哪里去 – 关于编程?

xterm在WSL下失败:没有足够的ptys

SED命令获得行x和y之间的第n个制表符分隔值

如何刷新以.c或.cpp结尾的行?

有没有办法在Java中显示一个类似于TrayIcon.displayMessage()的自定义表单?

xprop设置primefaces属性的多个字段

我怎样才能得到 *** 用于给定文件的缩略图?

一个sed diff结果:sed:-eExpression式#1,字符4:未终止的's'命令

更新:感谢@Putnik指出一个更简单的方法(但我更喜欢只列出网站启用):

grep server_name /etc/Nginx/sites-enabled/* -RiI

旧帖子:

尝试这样的事情:

find /etc/Nginx/sites-enabled/ -type f -print0 | xargs -0 egrep '^(s|t)*server_name'

希望有所帮助!

grep server_name /etc/Nginx/* -RiI

Imho比@Hubix的答案要快得多。 添加|grep -v "#"可选

从版本1.9.2开始,你可以这样做:

Nginx -T

显示完整的Nginx配置

Nginx -T | grep "server_name " #include the whitespace to exclude non relevant results

显示所有服务器名称

到目前为止的答案将工作, 除非你有多个行上运行的server_name指令,那么它会默默地失败。 它们似乎也是为人类消费而写的(如server_name_in_redirect off;可以选择多余的行),因此不能将它们包含在脚本中。

我有很多的虚拟主机,并希望在脚本( 叹气 )中使用输出,所以这是一个更长的时间,但应该足够强大的目的:

Nginx -T | sed -r -e 's/[ t]*$//' -e 's/^[ t]*//' -e 's/^#.*$//' -e 's/[ t]*#.*$//' -e '/^$/d' | sed -e ':a;N;$!ba;s/([^;{}])n/1 /g' | grep -P 'server_name[ t]' | grep -v '$' | grep '.' | sed -r -e 's/(S)[ t]+(S)/1n2/g' -e 's/[t ]//g' -e 's/;//' -e 's/server_name//' | sort | uniq | xargs -L1

由于它很长和 -y,我将包括每一行的快速解释。

获取Nginx打印其整个配置(以便我们不必担心要包含哪些文件)并对其进行消毒:删除前后空格,注释(包括尾随空格)和空白行。

每一行不以分号或花括号结尾的行应该继续,所以我们在没有前面的情况下替换n ; , {或}有一个空格。 这需要使用sed的weirdo :a;N;$!ba; 抓住整个文件的技巧和一些分组,以便我们可以把最后一个字符放回1 ,再加上一堆额外的反斜杠。

现在我们可以拉每个server_name行,用一些额外的检查来删除Nginx变量( $foo ),并且只包含有效的域(即不是localhost和_ )。

单词之间的任何制表符/空格变成回车,然后我们删除多余的空格(以防万一),分号和server_name部分。

最后对其进行分类,将其uniqify并使用xargs -L1删除顶部的单个空行。

请注意,在这里有一些技术上的翻倍,但我喜欢尽可能清晰和健壮。 不过,欢迎您提出改进意见。

您可以使用以下方法一次列出一行

Nginx_domains(){ domains=`find /etc/Nginx/ -type f -name "*.conf" -print0 | xargs -0 egrep '^(s|t)*server_name' | sed -r 's/(.*server_names*|;)//g'` for domain in $domains; do echo $domain; done }

总结

以上是内存溢出为你收集整理的我如何列出nginx中的所有虚拟主机全部内容,希望文章能够帮你解决我如何列出nginx中的所有虚拟主机所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/langs/1287046.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-09
下一篇 2022-06-09

发表评论

登录后才能评论

评论列表(0条)

保存