Nginx虚拟主机及访问控制

在上一篇Nginx服务构建及访问状态统计的基础上,尝试完成Nginx虚拟主机及访问控制实验。

实验环境:

RHEL6-5(IP地址192.168.100.110)
Win7-1(IP地址192.168.100.202)

配置虚拟主机实验过程:

1.修改主配置文件

# vim /usr/local/nginx/conf/nginx.conf
在配置文件的末尾单独插入就不会有影响,注意格式(主要就是注意括号问题!)
server {
        server_name  www.benet.com;
        location / {
            root   /var/www/benet;
            index  index.html index.php;
        }
    }
    server {
        server_name  www.accp.com;
        location / {
            root   /var/www/accp;
            index  index.html index.php;
        }
    }
}                         //这个括号需要把原文件末尾的括号给去掉,用nginx -t 去检测配置文件是否配置正确//

2.搭建DNS域名解析服务,解析域名分别为www.benet.com;www.accp.com,对应的IP地址为192.168.100.110(Nginx服务端地址)

3.创建配置文件中对应的根目录,并分别添加首页内容

# mkdir /var/www/benet /var/www/accp
# vim /var/www/benet/index.html         //添加并编辑benet首页文件
    this is benet               //写入首页内容
# vim /var/www/accp/index.html          //添加并编辑accp首页文件
    this is accp                //写入首页内容

4.重启nginx并测试(注意测试机需指定DNS解析地址)

# service nginx restart     //重启nginx服务


身份验证访问:

1. 创建访问用户及密码

# htpasswd -c /usr/local/nginx/passwd.db zhangsan

2.修改密码文件的权限为400,将所有者改为nginx,设置nginx的用户能够读取

# chown nginx /usr/local/nginx/passwd.db
# chmod 400 /usr/local/nginx/passwd.db

3.修改主配置文件nginx.conf,添加相应认证配置项。

# vim /usr/local/nginx/conf/nginx.conf
location / {
            auth_basic "secret";
            auth_basic_user_file /usr/local/nginx/passwd.db;
            root   html;
            index  index.html index.htm;
        }

4.检测语法、重启服务、测试

# nginx –t      //测试语法
# service nginx reload  //重启服务


基于客户端控制:

1. 修改主配置文件nginx.conf,添加相应配置项。

# vim /usr/local/nginx/conf/nginx.conf
location / {
            deny 192.168.100.110;
              allow all;
            root   html;
            index  index.html index.htm;
        }

2. 重启服务,并测试

# service nginx reload      //重启服务


测试成功!

原文地址:http://blog.51cto.com/13625810/2129148

时间: 2024-08-29 04:19:15

Nginx虚拟主机及访问控制的相关文章

nginx虚拟主机概念和类型介绍

nginx虚拟主机配置实战 1,虚拟主机概念和类型介绍 所谓虚拟主机,在web服务里就是一个独立的网站站点,这个站点对应独立的域名(也可能是IP或端口),具有独立的程序及资源目录,可以独立地对外提供服务供用户访问. 这个这个独立的站点在配置里是由一定格式的标签段标记,对于apache软件来说,一个虚拟主机的标签段通畅被包含在<VirtualHost></VirtualHost>内,而nginx软件则使用一个server{}标签来标示一个虚拟主机,一个web服务里可以有多个虚拟主机主

windows 下nginx 虚拟主机搭建

需要在 nginx.conf里面引入刚才配置的那个文件 第一步 加东西 http的节点里面加上 一定要注意的是:必须以  ;  结尾 include D:/phpen/nginx-1.3.6/conf/vhost/www.light.com.conf; 或者 include D:/phpen/nginx-1.3.6/conf/vhost/*.conf; 第二步  写配置文件 下面的 这两种方法我都测试过的哦 可以为每一个单独创建一个文件      这个是便于管理 也可以把所有的都写入同一个文件

Apache与Nginx虚拟主机设置(多域名和多端口的区别)

为了方便管理虚拟主机,应该尽量少修改主配置文件http.conf或者nginx.conf,大部分修改变更都在虚拟主机片配置文件httpd- vhost.conf或者vhost.conf中完成,这样有利于调试,降低风险.即便把虚拟主机配置文件修改得一团糟,只要把主配置文件中包含虚拟主机 配置文件的一行注释掉即可. Apache(多域名): 第一步首先要使扩展文件httpd/conf.d/vhosts.conf生效: 1. 打开 apache2/conf/httpd.conf 文件 2. 找到 #

php管理nginx虚拟主机shell脚本

使用php作为shell脚本是一件很方便的事情.理所当然,我们可以使用php脚本来管理 nginx虚拟主机,下面是笔者的 脚本 文件供各位参考 代码如下 复制代码 #!/usr/bin/php -q<?php start: fwrite(STDOUT,"===========Vhost Script===========\n");fwrite(STDOUT,"= Choose an operation \n");fwrite(STDOUT,"= 1.

RHEL7下Nginx虚拟主机配置(三)

RHEL7下Nginx虚拟主机配置 前面两节讲过安装和配置文件了,这里写出配置文件,大家根据内容修改配置文件就可以了. http { server{ listen    80; server_name   192.168.1.20; access_log        log/192.168.1.20 main; location / { index    index.html; root      /application/nginx/html/; } } server{ linsten  8

linux企业常用服务---部署NGINX虚拟主机

部署前准备: 光盘配置本地yum源,修改yum配置文件 防火墙和selinux不做设置,关掉 IP地址设置为192.168.100.222 nginx已安装完成 1.安装安装并配置dns: 安装dns: [[email protected] ~]# yum install bind-utils bind bind-chroot 配置: [[email protected] ~]# cd /var/named/chroot/etc/ 配置主文件: [[email protected] etc]#

四、配置nginx虚拟主机

1.背景: 虚拟主机:一台web主机配置多个站点,每个站点,希望用不同的域名和站点目录,或者是不同的端口,或者是不同的IP. 假设网站的域名为:25linux.com,网站下面设有 http://www.25linux.com;: http://blog.25linux.com;: http://bbs.25linux.com: 三个站点,这样我们可以在一台nginx主机上配置虚拟主机来实现. 通常虚拟主机分为3种: 基于域名,基于端口,基于IP,以及它们的混合来实现,我这里以基于域名的方式来创

Nginx虚拟主机多server_name的顺序问题

Nginx虚拟主机多server_name的顺序问题  大 | 中 | 小  [ 2008-11-28 11:27 | by 张宴 ] [文章作者:张宴 本文版本:v1.0 最后修改:2008.11.28 转载请注明原文链接:http://blog.zyan.cc/post/382/] 今天在配置Nginx + PHP + MediaWiki中,发现一个问题:MediaWiki所在的Nginx虚拟主机绑定了多个域名,但是不管通过什么域名访问MediaWiki首页,都会被跳转到其中的一个域名上.N

Nginx虚拟主机配置实践之nginx访问同一个地址方法(二)

Nginx虚拟主机配置实践之nginx访问同一个地址方法(二) 一.虚拟主机别名介绍 虚拟主机别名就是为虚拟主机设置除了主域名以外的另一个或多个域名名字,这样就能实现用户访问的多个域名对应于同一个虚拟主机网站的功能.在生产环境中,以www.afeilinux.com域名的虚拟主机为例,为其增加一个别名afeilinux.com时,在该域名出现的网站内容和访问www.afeilinux.com得到的结果是一样的. 二.实施方法 第一种方法:Nginx虚拟主机的别名配置 更改wtf.conf配置文件