文章目录

  • Nginx介绍
  • 为何修改Nginx用户与组?
  • 域名访问nginx
  • 安装Nginx服务
  • 配置域名
  • 配置named服务
  • 开启服务
  • 授权的访问控制
  • 修改Ngnix配置
  • htpasswd命令创建用户和修改密码


Nginx介绍

简介
●一款高性能、轻量级Web服务软件
稳定性高
系统资源消耗低
●对HTTP并发连接的处理能力高(能够处理高并发)
单台物理服务器可支持30000~50000个并发请求

为何修改Nginx用户与组?

  • Nginx运行时进程需要有用户与组的支持,以实现对网站文件读取时进行访问控制
  • Nginx默认使用 nobody用户账号与组账号,一般也要进行修改
  • 修改的方法
    编译安装时指定用户与组
    修改配置文件时指定用户与组

域名访问nginx

安装Nginx服务

[root@localhost ~]# tar zxvf nginx-1.12.2.tar.gz 
[root@localhost ~]#cd /opt
[root@localhost opt]# yum install -y gcc gcc-c++ pcre-devel zlib-devel 
[root@localhost opt]# useradd  -M -s /sbin/nologin nginx 创建用户,组
[root@localhost nginx-1.12.2]# ./configure \     启动脚本
--prefix=/usr/local/nginx \                      配置安装路径         
--user=nginx \                                        指定用户
--group=nginx \                                     指定组
--with-http_stub_status_module             开启统计模块
make && make install
[root@localhost nginx]# cd /usr/local/nginx/
[root@localhost nginx]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/   创建软链接让系统可以识别
[root@localhost sbin]# nginx   开启nginx

配置域名

[root@localhost nginx]# vim /usr/local/nginx/conf/nginx.conf
        server_name  www.kgc.com;
 47          location /status {       状态统计
 48               stub_status on;      功能开
 49               access_log off ;    访问日志关闭
 50
 51         }

配置named服务

[root@localhost conf]# yum -y install bind
-----------------------------------------------------------------------
[root@localhost ~]# vim /etc/named.conf
options {
        listen-on port 53 { any; };
        listen-on-v6 port 53 { ::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; };
-------------------------------------------------------------------------------------------
[root@localhost ~]# vim /etc/named.rfc1912.zones
zone "kgc.com" IN {
        type master;
        file "kgc.com.zone";
        allow-update { none; };
};
----------------------------------------------------------------------
[root@localhost ~]# cd /var/named/
[root@localhost named]# cp -p named.localhost kgc.com.zone
[root@localhost named]# vim kgc.com.zone 
www  IN   A   192.168.136.10

开启服务

[root@localhost nginx]# iptables -F
[root@localhost nginx]# setenforce 0
[root@localhost nginx]# systemctl stop firewalld
[root@localhost conf] systemctl restart namde
[root@localhost conf]#systemctl nginx restart

查看是否解析

nginx做用户认证 nginx用户管理_用户名

nginx做用户认证 nginx用户管理_用户名_02

授权的访问控制

修改Ngnix配置

[root@localhost nginx]# vim /usr/local/nginx/conf/nginx.conf
43         location / {
 44            auth_basic "secret";
 45             auth_basic_user_file /user/local/nginx/passwd.db;

nginx做用户认证 nginx用户管理_用户名_03

设置用户名和密码

[root@localhost benet]# yum -y install httpd
[root@localhost benet]# which htpasswd
/usr/bin/htpasswd
                                     ##htpasswd命令需要先安装httpd
[root@localhost nginx]# htpasswd -c /usr/local/nginx/passwd.db zhang   
New password: 
Re-type new password: 
Adding password for user zhang

添加权限

[root@localhost ~]# ll /usr/local/nginx | grep passwd.db
-rw-r--r--. 1 root  root   42 8月   7 17:21 passwd.db
[root@localhost ~]# chown nginx /usr/local/nginx/passwd.db
[root@localhost ~]# chmod 400 /usr/local/nginx/passwd.db

重启nginx

[root@localhost named]# killall nginx
[root@localhost named]# nginx

关闭防火墙

[root@localhost nginx]# iptables -F
[root@localhost nginx]# setenforce 0
[root@localhost nginx]# systemctl stop firewalld

nginx做用户认证 nginx用户管理_nginx做用户认证_04

htpasswd命令创建用户和修改密码

语法

htpasswd(选项)(参数)

选项

-c:创建一个加密文件;
-n:不更新加密文件,只将加密后的用户名密码显示在屏幕上;
-m:默认采用MD5算法对密码进行加密;
-d:采用CRYPT算法对密码进行加密;
-p:不对密码进行进行加密,即明文密码;
-s:采用SHA算法对密码进行加密;
-b:在命令行中一并输入用户名和密码而不是根据提示输入密码;
-D:删除指定的用户。

参数
用户:要创建或者更新密码的用户名;
密码:用户的新密码。
实例
利用htpasswd命令添加用户

htpasswd -bc htpasswd.user admin 123456

在bin目录下生成一个 htpasswd.user 文件,用户名admin,密码:123456,默认采用MD5加密方式。

在原有密码文件中增加下一个用户

htpasswd -b htpasswd.user Jack 123456

去掉-c选项,即可在第一个用户之后添加第二个用户,依此类推。

利用htpasswd命令删除用户名和密码

htpasswd -D htpasswd.user Jack

利用htpasswd命令修改密码

htpasswd -b htpasswd.user Jack 123456