查看已安装的nginx/php/mysql的编译参数-查看configure参数以及Nginx通过ngx_http_auth_basic_module模块简单配置实现Auth验证登录

一、查看已安装的nginx/php/mysql的编译参数-查看configure参数

        在搭建环境的时候,需要保持环境一致时,经常需要查看已安装好的nginx/php/mysql的编译参数:

1. 查看php编译参数

$PHP$/bin/php -i | grep configure
./php -r "phpinfo();" | grep configure

2。 查看nginx编译参数

/usr/local/nginx/sbin/nginx -V

3. 查看mysql编译参数

A. Mysql5.4及之前版本查看编译安装参数

cat $path/bin/mysqlbug|grep CONFIGURE_LINE

B. Mysql5.5及以上版本查看编译安装参数,进入到mysql安装目录的docs下面

$ cat MYSQLPATH/mysql/docs/INFO_BIN

        需要注意的是,这里的参数的书写格式并不是在执行cmake命令时参数的标准格式,使用的时候要去掉:BOOL或PATH:等字符

[on@B33 docs]$ cat INFO_BIN
===== Information about the build process: =====
Build was run at 2017-03-28 10:49:59 on host 'on-B33'

Build was done on  Linux-2.6.32-642.15.1.el6.x86_64 using x86_64
Build was done using cmake 2.8.12 

===== Compiler flags used (from the 'sql/' subdirectory): =====
# compile C with /usr/bin/cc
# compile CXX with /usr/bin/c++
C_FLAGS =  -Wall -Wextra -Wformat-security -Wvla -Wwrite-strings -Wdeclaration-after-statement -O2 -g -DNDEBUG -DDBUG_OFF -I/home/devuser/src/mysql-5.5.44/include -I/home/devuser/src/mysql-5.5.44/sql -I/home/devuser/src/mysql-5.5.44/regex   
C_DEFINES = -DHAVE_CONFIG_H -DHAVE_EVENT_SCHEDULER -DHAVE_OPENSSL -DMYSQL_SERVER
CXX_FLAGS =  -fno-implicit-templates -fno-exceptions -fno-rtti -Wall -Wextra -Wformat-security -Wvla -Woverloaded-virtual -Wno-unused-parameter -O2 -g -DNDEBUG -DDBUG_OFF -I/home/devuser/src/mysql-5.5.44/include -I/home/devuser/src/mysql-5.5.44/sql -I/home/devuser/src/mysql-5.5.44/regex   
CXX_DEFINES = -DHAVE_CONFIG_H -DHAVE_EVENT_SCHEDULER -DHAVE_OPENSSL -DMYSQL_SERVER

Pointer size: 8

===== Feature flags used: =====
-- Cache values
CMAKE_BUILD_TYPE:STRING=RelWithDebInfo
CMAKE_INSTALL_PREFIX:PATH=/usr/local/mysql
COMMUNITY_BUILD:BOOL=ON
ENABLED_PROFILING:BOOL=ON
ENABLE_DEBUG_SYNC:BOOL=ON
ENABLE_GCOV:BOOL=OFF
INSTALL_LAYOUT:STRING=STANDALONE
MYSQL_DATADIR:PATH=/opt/data/mysql
MYSQL_MAINTAINER_MODE:BOOL=OFF
TMPDIR:PATH=P_tmpdir
WITH_ARCHIVE_STORAGE_ENGINE:BOOL=OFF
WITH_ASAN:BOOL=OFF
WITH_BLACKHOLE_STORAGE_ENGINE:BOOL=OFF
WITH_DEBUG:BOOL=0
WITH_EMBEDDED_SERVER:BOOL=OFF
WITH_EXTRA_CHARSETS:STRING=all
WITH_FEDERATED_STORAGE_ENGINE:BOOL=OFF
WITH_INNOBASE_STORAGE_ENGINE:BOOL=ON
WITH_LIBEDIT:BOOL=OFF
WITH_LIBWRAP:BOOL=OFF
WITH_PARTITION_STORAGE_ENGINE:BOOL=ON
WITH_PERFSCHEMA_STORAGE_ENGINE:BOOL=ON
WITH_PIC:BOOL=OFF
WITH_READLINE:BOOL=yes
WITH_SSL:STRING=system
WITH_UNIT_TESTS:BOOL=ON
WITH_VALGRIND:BOOL=OFF
WITH_ZLIB:STRING=yes

===== EOF =====

二、Nginx通过ngx_http_auth_basic_module模块简单配置实现Auth验证登录

    Nginx中ngx_http_auth_basic_module模块提供了auth_basic、auth_basic_user_file指令。这两个指令可以实现验证登录的功能,配置和使用起来都非常简单,对于一些简单的页面,如果不想去开发一套用户登录验证系统的话,用这个是非常方便有效的。在nginx.conf配置文件的location中加上auth_basic和auth_basic_user_file两行配置: 

#验证提示
auth_basic "kermit";
#指定密码文件位置
auth_basic_user_file /opt/modules/nginx/htpas;

     如上即启用了HTTP基本认证(HTTP Basic Authentication)协议的用户名密码验证。auth_basic默认是off,即关闭不启用。如果设置了字符串,auth_basic会在一些弹窗中显示,不过从测试来看不是所有的客户端上都显示,我使用Chrome浏览登录的时候就未显示。auth_basic_user_file指定密码文件位置,格式如下,一行就是一个账号,可以有多个账号。auth_basic_user_file的路径要注意,最后用完整路径,如果要用相对路径,要注意它是相对于nginx的目录的地址,如果路径出现问题,在使用的的时候会一直出现403错误不好排查。

#/opt/modules/nginx/htpas
name:password:comment
....

     HTTP Basic Authentication协议的验证密码使用crypt()函数加密。可以用Apache HTTP Server发行包中的htpasswd命令或者openssl passwd来创建。为了安全,htpasswd对即使是同一个密码,使用htpasswd加密后的密文也会一直变化,但这不影响使用。示例如下:

[root@007 ~]# /usr/bin/htpasswd -bdc htpasswd admin 123456
Adding password for user admin
[root@007 ~]# cat htpasswd
admin:YzoZfZqjvZ1Gk
[root@007 ~]# /usr/bin/htpasswd -bdc htpasswd admin 123456
Adding password for user admin
[root@007 ~]# cat htpasswd
admin:Hs0bHOc..c5Ao
[root@007 ~]#

     将上面最后一行文件内容:admin:Dlxzj/hzmxwc2 存储到/opt/modules/nginx/htpas文件中,添加完上面的配置后,重启nginx再次访问原来的URL可以看到提示截图,这时输入账号admin,密码123456就可以通过验证并登录了。

其它1:htpasswd的详解,htpasswd 是开源 http服务器apache httpd 的一个命令工具,用于生成 http 基本认证的密码文件。其可实现多种加密方式,比如MD5,crypt,SHA。有一些线上的生成加密串的工具,比如:http://tool.oschina.net/htpasswd 可以方便我们随时生成密码文件。

其它2:对于这种有HTTP Basic Authentication协议验证的页面,如果使用curl抓取的话,可以加上账号密码进行请求:

curl -u username:password URL

其它3:在对nginx进行调试的时候发现,nginx输出的header信息如果其值为空,则nginx会直接不输出此字段。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

林戈的IT生涯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值