bash - 如何使用 bash 脚本检查当前的 Web 服务器是 NGINX 还是 Apache?

标签 bash apache shell unix nginx

我在 Ubuntu VM 上部署了一个 Laravel 项目。我有一个我现在正在处理的脚本,用于了解当前的 VM 是使用 nginx 还是 Apache 以编程方式部署的。

我知道我可以使用这些来检查 psgrep命令我会发现的

root@theawsbiz:~# ps -aux | grep apache                                                                                                                 
root      3446  0.0  1.8 544540 37144 ?        Ss   17:02   0:00 /usr/sbin/apache2 -k start                                                             
www-data  3449  0.1  1.9 550388 39796 ?        S    17:02   0:00 /usr/sbin/apache2 -k start                                                             
www-data  3454  0.0  1.0 547336 21532 ?        S    17:02   0:00 /usr/sbin/apache2 -k start                                                             
www-data  3457  0.0  1.8 548196 37864 ?        S    17:02   0:00 /usr/sbin/apache2 -k start                                                             
www-data  3458  0.0  1.0 547320 21428 ?        S    17:02   0:00 /usr/sbin/apache2 -k start                                                             
www-data  3462  0.0  1.7 550008 36264 ?        S    17:02   0:00 /usr/sbin/apache2 -k start                                                             
www-data  3465  0.0  1.8 550408 38160 ?        S    17:02   0:00 /usr/sbin/apache2 -k start                                                             
www-data  3466  0.0  1.9 550400 40512 ?        S    17:02   0:00 /usr/sbin/apache2 -k start                                                             
www-data  3467  0.0  1.0 547320 21416 ?        S    17:02   0:00 /usr/sbin/apache2 -k start                                                             
www-data  3468  0.0  1.7 548228 36236 ?        S    17:02   0:00 /usr/sbin/apache2 -k start                                                             
www-data  3520  0.0  0.9 546872 19964 ?        S    17:06   0:00 /usr/sbin/apache2 -k start                                                             
root      3526  0.0  0.0  14856  1036 pts/1    S+   17:06   0:00 grep --color=auto apache                                                               
root@theawsbiz:~# ps -aux | grep nginx                                                                                                                  
root      3529  0.0  0.0  14856  1092 pts/1    S+   17:06   0:00 grep --color=auto nginx                                                                
root@theawsbiz:~# 

有了这些结果,我知道这个 VM 正在使用 Apache。

但是,我不知道如何通过 Bash 脚本检查它。一个人会怎么做呢?我现在愿意接受任何建议。

enter image description here

最佳答案

由于您正试图通过 grep 实现这一目标和 ps ,你可以这样做:

if [[ `ps -acx|grep apache|wc -l` > 0 ]]; then
    echo "VM Configured with Apache"
fi
if [[ `ps -acx|grep nginx|wc -l` > 0 ]]; then
    echo "VM Configured with Nginx"
fi

关于bash - 如何使用 bash 脚本检查当前的 Web 服务器是 NGINX 还是 Apache?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55107024/

相关文章:

linux - 如何检查磁盘分区以在 Linux 中的脚本中使用?

linux - 如何读取动态变化的文件

c++ - C++ 服务的 mod_gsoap 错误

linux - 在 Linux 上向字符串添加前导零

linux - openssl 未知选项错误

linux - awk 命令输出到文本文件

php - wordpress+docker+apache mod 代理重定向到 http ://localhost

php - MAMP 或手动配置 Mac 上的所有内容

shell - 以特定频率循环 VxWorks 中的命令

用于将 base_url 添加到 php 文件的 Shell 脚本