我们有很多服务器和虚拟主机,其中一些使用 nignx,一些使用 httpd 或 apache 作为他们的域。我想写一个 ansible 脚本来提取虚拟主机用于其网站的网络服务器的信息,问题是他们中的很多人都安装了所有 3 个网络服务器,但实际上只有一个用于网站运行(其他可能处于事件状态)。
我的意思是,我什至不知道从哪里开始。一个简单的 bash 脚本示例会很好,它可以准确输出虚拟主机的 Web 服务器。
最佳答案
如何检查正在使用它们的进程的端口 80 或 443:
sudo netstat -ntlp | grep '0.0.0.0:80' | awk '{print $7}'
对于端口 443:
sudo netstat -ntlp | grep '0.0.0.0:443' | awk '{print $7}'
输出将是这些行之一:
xx/httpd # for apache
xx/nginx # for nginx
你可以编写一个 ansible 任务来运行这个 cmd
关于apache - 如果服务器安装了 nginx 和 apache,我如何找出它的网站使用哪一个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57197324/