Nginx的简单配置和简单实验..

yum install nginx  #安装Nginx,安装包在epel源中

systemctl start nginx.service  #启动服务

#实验:配置一个虚拟主机
    #先给一个网页文件
    ~]#mkdir /data/nginx/vhost1 -pv
    ~]#vim /data/nginx/vhost1/index.html
        <h1>Nginx Vhost 1</h1>

    #配虚拟主机
    ~]#vim /etc/nginx/conf.d/vhost1.conf
        server {
            listen 80;
            server_name www.ilinux.io;
            root /data/nginx/vhost1;
        }
        #保存退出
    ~]#nginx -t  #测试语法问题
    ~]#nginx -s reload  #重载

    #浏览器地址栏中输入:www.ilinux.io (须进行域名解析)
    #显示“Nginx Vhost 1”
    #成功!

#实验:拒绝172.16.251.213主机访问
    ~]#vim /etc/nginx/conf.d/vhost1.conf
        server {
            listen 80;
            server_name www.ilinux.io;
            root /data/nginx/vhost1;
            location / {
                deny 172.16.251.213;
                allow all;
            }  #添加一个location定义
        }
        #保存退出
    ~]#nginx -t  #测试语法问题
    ~]#nginx -s reload  #重载

    #213主机中:
    #首先加一个名称解析
    ~]#vim /etc/hosts
        172.16.251.128  www.ilinux.io

    ~]#curl http://www.ilinux.io/index.html
    #显示Forbidden
    #成功!

#实验:只是对/下的某些资源启用访问限制,比如访问一些图片
    ~]#vim /etc/nginx/conf.d/vhost1.conf
        server {
            listen 80;
            server_name www.ilinux.io;
            root /data/nginx/vhost1;
            location ~*\.(jpg|png)$ {  #可以更灵活的使用正则表达式来定义URL
                deny 172.16.251.213;
                allow all;
            }
        }
        #保存退出
    ~]#nginx -t  #测试语法问题
    ~]#nginx -s reload  #重载

    #切换到213主机访问
    ~]#curl http://www.ilinux.io/index.html
    #就不会显示Forbidden,因为访问的不是以jpg或png结尾的文件

    #切换到128主机
    ~]#cd /data/nginx/vhost1  #复制一些图片到这个目录下
    ~]#find /usr/share/ -iname "*.jpg" -exec cp {} ./ \;

    #用浏览器随便访问一个图片
        www.ilinux.io/leaf.jpg  #可以看到图片
    #切换到213主机访问一样的图片
        ~]#curl http://www.ilinux.io/leaf.jpg
        #显示Forbidden
        #成功!

#实验:验证location的优先级匹配
    ~]#vim /etc/nginx/conf.d/vhost1.conf
        server {
            listen 80;
            server_name www.ilinux.io;
            root /data/nginx/vhost1;
            location / {
                allow all;
            }  #在之前的location上面再定义一个允许所有主机访问
            location ~*\.(jpg|png)$ {
                deny 172.16.251.213;
                allow all;
            }
        }
        #保存退出
    ~]#nginx -t  #测试语法问题
    ~]#nginx -s reload  #重载

    #再切换到213主机访问
    ~]#curl http://www.ilinux.io/leaf.jpg
    #还是显示Forbidden
    #location是自上而下匹配,优先级高的匹配
    #虽然允许所有访问的location在上面,但下面一个location优先级高,所以还是拒绝
    #成功!

#实验:验证root的优先级匹配
    ~]#vim /etc/nginx/conf.d/vhost1.conf
        server {
            listen 80;
            server_name www.ilinux.io;
            root /data/nginx/vhost1;
            location / {
                root /data/nginx/vhost2;  #在location中定义一个root
                allow all;
            }
            location ~*\.(jpg|png)$ {
                deny 172.16.251.213;
                allow all;
            }
        }
        #保存退出
    ~]#nginx -t  #测试语法问题
    ~]#nginx -s reload  #重载

    #128主机中:
    ~]#mkdir /data/nginx/vhost2  #创建刚刚定义的root目录
    ~]#vim /data/nginx/vhost2/index.html  #给一个测试页
        <h1>Vhost2</h1>

    #用213主机访问:
    ~]#curl http://www.ilinux.io/index.html
    #显示“<h1>Vhost2</h1>”
    #如果location中定义了root,那server中root就失效,以location中定义的为准
    #成功!

用了一些自己的语言来总结,不是很标准,见谅。    

原创文章,作者:XIAJIDONG,如若转载,请注明出处:http://www.178linux.com/78258

(0)
XIAJIDONGXIAJIDONG
上一篇 2017-06-19 16:57
下一篇 2017-06-19 22:56

相关推荐

  • iptables使用示例

    iptables规则

    2017-10-14
  • 第四周作业

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 [root@unclez ~]# cp -r /etc/skel /home/tuser1 [root@unclez ~]# chmod -R&…

    Linux干货 2016-12-24
  • 2016全球运维大会,优云蒋君伟演讲“CMDB+自动化的管理融合”成一大亮点

    2016全球运维大会于9月23日-24日在上海盛大开幕。作为国内运维行业的重量级大会,优云产品总监蒋君伟在自动化专场与来自全国各地的运维同行一起探讨、分享业内自动化运维的最佳实践。现场情绪热烈,气氛高涨,成为了本届全球运维大会的一大亮点。 全新梳理自动化与CMDB的融合之道 全球运维大会当天,运维自动化专场很多大牛针对自动化运维管理中的CMDB进行了激烈的讨…

    Linux资讯 2016-12-05
  • NTP服务器搭建

        1、NTP(Network Time Protocol)         在计算机世界中,NTP(Network Time Protocol,网络时间协议)被广泛用于对时间的统一性和准确性要求非常高的场景,是用来使网络中的各个计算机时间同步的一种协议。…

    Linux干货 2015-11-18
  • 第一周作业

    1. 描述计算机组成及其功能 说到计算机组成,就必须提及计算机之父冯洛伊曼先生。是他早年最先提出了计算机体系结构的设想,并沿用至今。 计算机由五大基本组件组成: 运算器 进行算术运算和逻辑运算的主要部件; 控制器 控制器从存储器中逐条取出指令、分析指令,然后根据指令要求产生一系列命令,控制计算机各部件; 存储器 分为内存和外存,…

    Linux干货 2016-12-02
  • Nginx lnmp环境及https的实现

    一、http事务简明  request: <method> <URL> <VERSION> MHADERS <body> response: <version><status><reason phrase> <HEADERS> … <body&…

    2014-09-25