场景:
某天你接手了一台老旧的CentOS服务器,上面跑着Nginx、Apache、MySQL和PHP,但没人记得当初是怎么编译安装的,现在要升级或者调试,可编译参数全忘了!😱 别慌,今天教你几招,轻松挖出这些服务的编译配置!
如果你是用源码编译安装的Nginx,可以直接用以下命令查看当初的编译选项:
nginx -V
注意:这里的 -V
是大写的!小写的 -v
只显示版本号,而 -V
会输出完整的编译参数,包括 --with-xxx
和 --without-xxx
这些关键信息。
示例输出:
nginx version: nginx/1.25.3 built by gcc 8.5.0 built with OpenSSL 3.0.9 configure arguments: --prefix=/usr/local/nginx --with-http_ssl_module --with-http_v2_module
这样你就知道当初编译时启用了哪些模块,方便后续调整或重新编译。
Apache(httpd)也有类似的命令,可以查看编译时的配置选项:
httpd -V
同样,-V
(大写)会显示详细的编译信息,而 -v
只显示版本号。
示例输出:
Server version: Apache/2.4.57 Server built: 2025-08-01 Server's Module Magic Number: 20220211 Server loaded: APR 1.7.4, APR-UTIL 1.6.3 Compiled using: APR 1.7.4, APR-UTIL 1.6.3 Architecture: 64-bit Server MPM: event threaded: yes forked: yes Server compiled with.... -D APR_HAS_SENDFILE -D APR_HAS_MMAP -D APR_HAVE_IPV6
还可以用 httpd -M
查看当前加载的模块,方便排查问题。
MySQL(或MariaDB)的编译参数可以通过查看 mysqld
的启动参数来获取:
mysqld --verbose --help
或者直接查看MySQL的编译信息(如果是从源码安装的):
mysql_config --cflags --libs
示例输出:
--cflags: -I/usr/include/mysql --libs: -L/usr/lib64/mysql -lmysqlclient -lpthread -lz -lm -lssl -lcrypto
如果是通过包管理器(如 yum
)安装的,可能不会保留完整的编译参数,但可以通过 rpm -qi mysql-server
查看安装时的包信息。
PHP的编译参数可以通过 phpinfo()
或者命令行查看:
php -i | grep "Configure Command"
示例输出:
Configure Command => './configure' '--prefix=/usr/local/php' '--with-mysqli' '--with-pdo-mysql' '--with-openssl'
phpinfo()
页面如果你有Web环境,可以创建一个 info.php
文件:
<?php phpinfo(); ?>
然后在浏览器访问它,搜索 Configure Command
就能看到编译参数。
服务 | 查询编译参数的方法 |
---|---|
Nginx | nginx -V |
Apache | httpd -V |
MySQL | mysqld --verbose --help 或 mysql_config |
PHP | php -i | grep "Configure Command" 或 phpinfo() |
下次再遇到“这玩意儿当初是怎么编译的?”这种问题,就不用抓狂了!😎 直接上命令,轻松搞定!
本文由 宇颖秀 于2025-08-02发表在【云服务器提供商】,文中图片由(宇颖秀)上传,本平台仅提供信息存储服务;作者观点、意见不代表本站立场,如有侵权,请联系我们删除;若有图片侵权,请您准备原始证明材料和公证书后联系我方删除!
本文链接:https://vps.7tqx.com/wenda/519639.html
发表评论