有没有一个命令列出在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中的所有虚拟主机所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)