本文主要介绍nginx访问控制的实现实例,通过实例代码非常详细的介绍,对大家的学习或者工作有一定的参考价值。有需要的朋友下面和边肖一起学习。
关于Nginx,一个高性能、轻量级的web服务软件
高稳定性
低系统资源消耗
高处理HTTP并发连接的能力。
环境
先分享一下LAMP在Windows上所需的压缩软件包(此处如有问题请参考之前的博客相关文章)
其次,在Linux上使用远程共享获取文件,挂载到mnt目录
[root@localhost~]#smbclient-L//192.168.100.3/##远程共享访问 EnterSAMBA\root'spassword: SharenameTypeComment -------------------- LAMP-C7Disk [root@localhost~]#mount.cifs//192.168.100.3/LAMP-C7/mnt##挂载到/mnt目录下第三,编译安装Nginx
1、将源代码包解压到/opt,查看。
[root@localhost~]#cd/mnt##切换到挂载点目录 [root@localhostmnt]#ls apr-1.6.2.tar.gzDiscuz_X2.5_SC_UTF8.zipLAMP-php5.6.txt apr-util-1.6.0.tar.gzerror.pngmysql-5.6.26.tar.gz awstats-7.6.tar.gzhttpd-2.4.29.tar.bz2nginx-1.12.0.tar.gz cronolog-1.6.2-14.el7.x86_64.rpmkali.jpgphp-5.6.11.tar.bz2 [root@localhostmnt]#tarzxvfnginx-1.12.0.tar.gz-C/opt##解压Nginx源码包到/opt下 [root@localhostmnt]#cd/opt/##切换到解压的目录下 [root@localhostopt]#ls nginx-1.12.0rh2.安装编译所需的环境组件包。
[root@localhostopt]#yum-yinstall\ gcc\//c语言 gcc-c++\//c++语言 pcre-devel\//pcre语言工具 zlib-devel//数据压缩用的函式库3.创建程序用户nginx并编译Nginx
[root@localhostopt]#useradd-M-s/sbin/nologinnginx##创建程序用户,安全不可登陆状态 [root@localhostopt]#idnginx uid=1001(nginx)gid=1001(nginx)组=1001(nginx) [root@localhostopt]#cdnginx-1.12.0/##切换到nginx目录下 [root@localhostnginx-1.12.0]#./configure\##配置nginx >--prefix=/usr/local/nginx\##安装路径 >--user=nginx\##用户名 >--group=nginx\##用户组 >--with-http_stub_status_module##状态统计模块4.编译和安装
[root@localhostnginx-1.12.0]#make##编译 ... [root@localhostnginx-1.12.0]#makeinstall##安装 ...5.优化nginx启动脚本以方便系统识别
[root@localhostnginx]#ln-s/usr/local/nginx/sbin/nginx/usr/local/sbin/##创建软连接让系统识别nginx启动脚本 [root@localhostnginx]#nginx-t##检查配置文件的语法问题 nginx:theconfigurationfile/usr/local/nginx/conf/nginx.confsyntaxisok nginx:configurationfile/usr/local/nginx/conf/nginx.conftestissuccessful [root@localhostnginx]#nginx##开启ngnix [root@localhostnginx]#netstat-ntap|grep80##查看端口,nginx已经开启 tcp000.0.0.0:800.0.0.0:*LISTEN39620/nginx:master [root@localhostnginx]#systemctlstopfirewalld.service##关闭防火墙 [root@localhostnginx]#setenforce06.安装elinks网页测试工具并进行测试。
[root@localhostnginx]#yuminstallelinks-y##安装elinks软件 [root@localhostnginx]#elinkshttp://localhost##测试nginx网页7.服务超载并已关闭。
[root@localhostnginx]#killall-sQUITnginx##停止或者使用killall-3nginx [root@localhostnginx]#killall-sHUPnginx##重启或者使用killall-1nginx [root@localhostnginx]#nginx##开启8.制作管理脚本以方便服务管理的使用。
[root@localhostnginx]#killall-sQUITnginx##停止或者使用killall-3nginx [root@localhostnginx]#killall-sHUPnginx##重启或者使用killall-1nginx [root@localhostnginx]#nginx##开启nginx的访问状态统计
启用HTTP_STUB_STATUS状态统计模块nginx-V可以查看已安装的Nginx是否包含统计模块
首先,修改nginx配置文件
[root@localhost~]#cd/usr/local/nginx/conf##切换到配置文件目录 [root@localhostconf]#vimnginx.conf##修改Nginx配置文件 server{ listen80; server_namewww.kgc.com;##指明一个域名 charsetutf-8;##中文字符集 #access_loglogs/host.access.logmain; location/{ roothtml; indexindex.htmlindex.htm; } location/status{##添加状态统计 stub_statuson; access_logoff; }其次,安装域名解析的DNS服务器
1.安装绑定服务。
[root@localhostconf]#yuminstallbind-y##安装DNS服务2.配置主配置文件/etc/named.conf。
[root@localhostconf]#vim/etc/named.conf##主配置文件 options{ listen-onport53{any;};##将本机监听为所有 listen-on-v6port53{::1;}; directory"/var/named"; dump-file"/var/named/data/cache_dump.db"; statistics-file"/var/named/data/named_stats.txt"; memstatistics-file"/var/named/data/named_mem_stats.txt"; recursing-file"/var/named/data/named.recursing"; secroots-file"/var/named/data/named.secroots"; allow-query{any;};##允许所有3.配置区域配置文件(etc/named.rfc1912.zones)
[root@localhostconf]#vim/etc/named.rfc1912.zones##配置区域配置文件 zone"localhost"IN{##复制模板到下面 typemaster; file"named.localhost"; allow-update{none;}; }; zone"kgc.com"IN{##修改localhost为kgc.com typemaster; file"kgc.com.zone";##创建区域数据配置文件 allow-update{none;}; };4.编辑区域数据配置文件(kgc.com.zone)
[root@localhostconf]#cd/var/named [root@localhostnamed]#cp-pnamed.localhostkgc.com.zone ##复制模板为kgc.com.zone [root@localhostnamed]#vimkgc.com.zone##编辑区域数据配置文件 $TTL1D @INSOA@rname.invalid.( 0;serial 1D;refresh 1H;retry 1W;expire 3H);minimum NS@ A127.0.0.1 wwwINA192.168.13.128##删除ipv6添加域名解析地址为本机5.关闭防火墙并打开服务
[root@localhostnamed]#systemctlstartnamed##开启dns服务 [root@localhostnamed]#systemctlstopfirewalld.service##关闭防火墙 [root@localhostnamed]#setenforce0##关闭增强功能6.使用win10测试仪进行测试
基于授权的访问控制
配置步骤与Apache基本相同。
生成用户密码认证文件修改主配置文件对相应目录,添加认证配置项
重启服务,访问测试
首先,修改主配置文件
[root@localhost~]#cd/usr/local/nginx/conf##切换到配置文件目录 [root@localhostconf]#vimnginx.conf##修改Nginx配置文件 location/{ auth_basic"secret";##验证类型 auth_basic_user_file/usr/local/nginx/passwd.db;##验证文件路径 roothtml; indexindex.htmlindex.htm; }其次,安装httpd-toolsToolkit,设置密码认证文件
[root@localhostconf]#yuminstallhttpd-tools-y##安装工具包 [root@localhostconf]#htpasswd-c/usr/local/nginx/passwd.dbtest##设置密码认证文件 Newpassword:##输入密码 Re-typenewpassword:##确认密码 Addingpasswordforusertest [root@localhostconf]#cat/usr/local/nginx/passwd.db##查看密码认证文件 test:$apr1$LqqHZeX3$24E7/HeacTVRzKA7nvSgY/ [root@localhostconf]#servicenginxstop##关闭服务 [root@localhostconf]#servicenginxstart##开启服务第三,使用win10测试仪进行测试
这就是本文的全部内容。希望对大家的学习有帮助,支持我们。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)