Nginx简介及用户认证、访问控制和反向代理配置

Nginx 是一个很强大的高性能Web和反向代理服务器及及电子邮件(IMAP/POP3)代理服务器,由俄罗斯程序员设计师Igor Syaoev所开发,官方网站:http://nginx.org/  特点是占有内存少、并发能力强。
     Nginx配置文件及目录简介:
          - /usr/local/nginx/                                                           安装目录
          - /usr/local/nginx/conf/nginx.conf                                   主配置文件
          - /var/www/html                                                              网页目录
          - /usr/local/nginx/sbin/nginx                                            nginx启动脚本
      Nginx软件安装:
          yum -y install gcc pcre-devel zlib-devel openssl-devel  安装依赖包
          yum -y groupinstall  "开发工具"
          tar -zxvf nginx-1.8.0.tar.gz                                                解压tar包
          cd nginx-1.8.0                                                                  直接cd到nginx-1.8.0
          ./configure \                                                                    直接执行./configure 参数
            > --prefix=/usr/local/nginx \                                          指定安装路径
            > --user=nginx \                                                            指定用户
            > --group=nginx \                                                         指定组
            > --with-http_stub_status_module \                               开启状态、统计功能
            > --with-htpp_ssl_module                                              开启SSL加密功能   
          useradd nginx                                                                  权限
          make && make install                                                      编译并安装
          service httpd stop                                                             关闭httpd服务避免端口冲突
          /usr/local/nginx/sbin/nginx                                               nginx服务启用
          /usr/local/nginx/sbin/nginx -s stop                                   nginx服务关闭
         killall -9 nginx                                                                    杀进程
         kill  -信号   pid号
        常见信号:
        TERM, INT 快速关闭
        QUIT 从容关闭,关闭主进程及子进程   
        HUP  重载配置文件
        USR1 重新打开日志文件
        USR2 平滑升级可执行程序
        kill -HUP `cat /usr/local/nginx/logs/nginx.pid`          重启服务
平滑升级Nginx服务(不停止服务的情况下):

         ps -C nginx                                                                      查看nginx进程(如有进程“杀”)
         tar -zxvf nginx-1.9.2.tar.gz                                                解压tar包(1.9.2升级包)
         cd nginx1.9.2                              直接cd到根下的nginx-1.8.0(具体要看你解压时的目录为准)
          ./configure \                                                                    直接执行./configure 参数
            > --prefix=/usr/local/nginx \                                          指定安装路径
            > --user=nginx \                                                            指定用户
            > --group=nginx \                                                         指定组
          make                                                                               编译
          cd /usr/local/nginx/sbin                                                   直接cd到nginx启动脚本目录下               mv nginx  nginxold                                                          改名旧脚本(备份)
          cd / nginx-1.9.2/objs                cd到根目录nginx-1.9.2/objs(具体要看你解压时的目录为准)
          cp nginx /usr/localnginx/sbin                       在/objs目录下cp nginx到/usr/localnginx/sbin
          cd / nginx-1.9.2                                                                直接cd到根下的nginx-1.8.0
          make upgrade                                                                  升级软件命令
          /usr/localnginx/sbin/nginx -v                                            查看nginx服务版本
Nginx用户认证与访问控制配置如下:
          实现以下服务:
                 访问web页面时需要进行用户认证,用户名:route(可以任意用户名),密码是:123456,在/uer/local/nginx/html/下创建二级目录/data(可以任意名称),并生成index.htnl文档。在/data目录下的index.html页面只能192.168.1.11可以访问(或者任意网段)。
在Nginx服务器1.10配置如下:
        vim /usr/local/nginx/conf/nginx.conf
            server {
36            listen       80;
37            server_name  localhost;                                                指定本机用户名
38            auth_basic "Input Password";                                        添加用户认证提示符
39            auth_basic_user_file pass.txt;                                         添加用户认证密码文件
40
41            #charset koi8-r;
42
43            #access_log  logs/host.access.log  main;
44
45         location / {
46             root   html;                                                                  网页目录
47             index  index.html index.htm;                                        网页目录下index.html文档
48         }
49         location /route {                                                               添加用户名   
50                  allow 192.168.4.11;                                                  访问控制仅限4.11可以访问
51                  deny  all;                                                                 拒绝所有
52             index  index.html index.htm;
53         }
         mkdir /usr/local/nginx/html/data                                          创建二级网页目录
         echo "data" > /usr/local/nginx/html/data/index.html        在二级目录下写入index.html文档
  然后使用htpasswd命令创建用户文件,首先查看一下系统中已安装httpd-tools
         htpasswd -c /usr/local/nginx/conf/pass.txt route                    生成用户
         New password:                                                                      输入用户密码
         Re-type new password:                                                          再次确认用户密码
         Adding password for user route                                             此用户添加成功
         /usr/local/nginx/sbin/nginx  -s  stop                                      关闭Nginx服务                                /usr/local/nginx/sbin/nginx                                                    启用Nginx服务
在Linux客户端1.11配置如下:
         Firefox http://192.168.1.10                                                      提示输入用户名与密码
         Firefox http://192.168.1.10/route                                             提示输入用户名与密码
可以登录非192.168.1.11的任意客户端进行访问测试。
Nginx虚拟主机,分三种模式:基于域名、端口和基于IP地址的虚拟主机,
    基于域名虚拟主机针对公网用户,基于端口和IP地址虚拟主机针对网站后台管理页面
Nginx基于域名1.10配置配置如下:
    mkdir /usr/local/nginx/html/data1                                        创建二级网页目录(任意目录都可以)
    mkdir /usr/local/nginx/html/data2                                        创建二级网页目录(任意目录都可以)
    echo  data1 > /usr/local/nginx/html/data1/inedx.html      分别在二级目录下写入index.html文档
    echo  data2 > /usr/local/nginx/html/data2/inedx.html      分别在二级目录下写入index.html文档
    /usr/local/nginx/sbin/nginx -s  stop                                       关闭Nginx服务
    cd  /usr/local/nginx/conf                                                       cd到Nginx服务配置文件下
    rm -rep -v "^$| rf nginx.conf                                                  删除旧文件
    egrep -v "^$|#"  nginx.conf.default >  nginx.conf                   在拷贝一份Nginx配置文件
    vim  nginx.conf
  1        worker_processes  1;
  2             events {
  3             worker_connections  1024;
  4    }
  5         http {
  6             include       mime.types;
  7             default_type  application/octet-stream;
  8             sendfile        on;
  9             keepalive_timeout  65;
10        server {
11            listen       80;                                                                对应的端口
12            server_name  www.data.com;                                       对应的域名
13        location / {
14            root   data1;                                                                 对应的二级目录
15            index  index.html;                                                         二级目录下的index.html文档
16         }
17        server {
18            listen       80;                                                                 对应的端口
19            server_name  bbs.data.com;                                          对应的域名
20         location / {
21             root   data2;                                                                 对应的二级目录
22             index  index.html;                                                         二级目录下的index.html文档
23         }
24             error_page   500 502 503 504  /50x.html;
25             location = /50x.html {
26             root   html;
27         }
28     }
29 }
    /usr/local/nginx/sbin/nginx                                                         启用Nginx服务
在Linux客户端1.11配置如下:
     vim   /etc/hosts                                                                          
          192.168.1.10   www.data.com bbs.data.com                           域名解析
      ping  www.data.com bbs.data.com                                            分别测试ping
      curl http://www.data.com                                                          测试
      curl http://bbs.data.com      
                                                      测试

云锁-服务器安全首选软件,一键查杀木马、病毒、后门,一键修复系统漏洞,实时监控系统性能,高效抵御CC等黑客攻击
发表于 2016-4-22 00:23:57 | 显示全部楼层 |阅读模式

回复 | 使用道具 举报

该帖共收到 2 条回复!
dddddddddddddddddd
全氟滤芯
发表于 2016-8-7 22:47:29 | 显示全部楼层

回复 | 支持 | 反对 使用道具 举报

加上中文,更多的人就容易懂了
发表于 2016-8-20 20:09:33 | 显示全部楼层

回复 | 支持 | 反对 使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

发布主题

QQ|论坛首页|站点统计|小黑屋|云锁论坛-服务器安全技术讨论专业论坛、云锁软件技术讨论 ( 京ICP备14002707号-3  

GMT+8, 2018-9-21 14:58 , Processed in 0.104034 second(s), 34 queries .

Powered by 云锁

© 2014-2018 JOWTO Inc.

快速回复 返回顶部 返回列表