Nginx配置虚拟主机(二)

一. 配置基于域名的虚拟主机

[[email protected] conf]# egrep -v "#|^$" nginx.conf.default > nginx.conf
[[email protected] conf]# cat nginx.conf
worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server {
        listen       80;
        server_name  localhost;
        location / {
            root   html;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}
注:初学省略一些无关的配置参数,便于理解

1.1 创建域名对应的站点目录及文件

[[email protected] conf]# mkdir ../html/www
[[email protected] conf]# echo "www.test.com" >> ../html/www/index.html
[[email protected] conf]# cat ../html/www/index.html 
www.test.com
[[email protected] conf]# vim nginx.conf
worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server {
        listen       80;
        server_name  www.test.com;	  //域名
        location / {
            root   html/www;          //站点目录
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

1.2 检查语法并重新加载配置文件

[[email protected] conf]# /application/nginx/sbin/nginx -t
nginx: the configuration file /application/nginx-1.6.3/conf/nginx.conf syntax is ok
nginx: configuration file /application/nginx-1.6.3/conf/nginx.conf test is successful
[[email protected] conf]# /application/nginx/sbin/nginx -s reload
[[email protected] conf]# netstat -lntup|grep 80 
tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN      5267/nginx

1.3 测试www.test.com

注:这里测试主要分为Windows客户端和Linux客户端,测试的时候需要在客户端hosts文件里添加对应的解析记录,

Windows的hosts文件在C:\Windows\System32\drivers\etc,Linux的hosts文件在/etc/hosts

1.4 配置多个域名虚拟主机(www、bbs、blog)

[[email protected] conf]# mkdir ../html/bbs 
[[email protected] conf]# echo "bbs.test.com" >> ../html/bbs/index.html
[[email protected] conf]# mkdir ../html/blog 
[[email protected] conf]# echo "blog.test.com" >> ../html/blog/index.html
[[email protected] conf]# vim nginx.conf
worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server {
        listen       80;
        server_name  www.test.com;		//域名www.test.com
        location / {
            root   html/www;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

	 server {
        listen       80;
        server_name  bbs.test.com;		//域名bbs.test.com
        location / {
            root   html/bbs;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
    

    server {
        listen       80;
        server_name  blog.test.com;		  //域名  blog.test.com
        location / {
            root   html/www;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}
[[email protected] conf]# /application/nginx/sbin/nginx -t
nginx: the configuration file /application/nginx-1.6.3/conf/nginx.conf syntax is ok
nginx: configuration file /application/nginx-1.6.3/conf/nginx.conf test is successful
[[email protected] conf]# /application/nginx/sbin/nginx -s reload

1.5 测试多个域名访问

二、配置基于端口的虚拟主机

2.1 修改配置文件nginx.conf

[[email protected] conf]# vim nginx.conf
worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server {
        listen       80;			//端口
        server_name  www.test.com;
        location / {
            root   html/www;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

    server {
        listen       81;			//端口
        server_name  bbs.test.com;
        location / {
            root   html/bbs;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
    

    server {
        listen       82;		//端口
        server_name  blog.test.com;
        location / {
            root   html/blog;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

2.2 检查语法并重新加载配置文件

[[email protected] ~]# /application/nginx/sbin/nginx -t 
nginx: the configuration file /application/nginx-1.6.3/conf/nginx.conf syntax is ok
nginx: configuration file /application/nginx-1.6.3/conf/nginx.conf test is successful
[[email protected] ~]# /application/nginx/sbin/nginx -s reload 
[[email protected] ~]# netstat -lntup|grep nginx    //查看端口是否监听
tcp        0      0 0.0.0.0:81                  0.0.0.0:*                   LISTEN      5267/nginx          
tcp        0      0 0.0.0.0:82                  0.0.0.0:*                   LISTEN      5267/nginx          
tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN      5267/nginx

2.3 测试基于端口访问

三、基于IP的虚拟主机

3.1 在服务器网卡上增加多个IP

[[email protected] ~]# ip addr add 192.168.101.131/24 dev eth0
[[email protected] ~]# ip addr add 192.168.101.132/24 dev eth0
[[email protected] ~]# ip add 
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:d5:93:21 brd ff:ff:ff:ff:ff:ff
    inet 192.168.101.130/24 brd 192.168.101.255 scope global eth0
    inet 192.168.101.131/24 scope global secondary eth0
    inet 192.168.101.132/24 scope global secondary eth0
    inet6 fe80::20c:29ff:fed5:9321/64 scope link 
       valid_lft forever preferred_lft forever

3.2 修改配置文件nginx.conf

[[email protected] ~]# vim /application/nginx/conf/nginx.conf
worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server {
        listen       80;
        server_name  192.168.101.130;
        location / {
            root   html/www;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

    server {
        listen       81;
        server_name  192.168.101.131;
        location / {
            root   html/bbs;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
    

    server {
        listen       82;
        server_name  192.168.101.132;
        location / {
            root   html/blog;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

3.2 检查语法并重新加载配置文件

[[email protected] ~]# /application/nginx/sbin/nginx -t 
nginx: the configuration file /application/nginx-1.6.3/conf/nginx.conf syntax is ok
nginx: configuration file /application/nginx-1.6.3/conf/nginx.conf test is successful
[[email protected] ~]# /application/nginx/sbin/nginx -s reload

3.3 测试基于IP访问

时间: 2024-11-03 12:44:16

Nginx配置虚拟主机(二)的相关文章

LNMP架构应用实战——Nginx配置虚拟主机

LNMP架构应用实战--Nginx配置虚拟主机        前面介绍了nginx服务的安装与配置文件,今天介绍下它的另一种实用配置--"虚拟主机",每个虚拟主机可以是一个独立的网站,可以具有独立的域名,同一台服务器上的不同的虚拟主机之间是独立的,用户访问不同虚拟主机如同访问不同的服务器一样,因此它不需要为一个单独的WEB站点提供单独一个nginx服务器和一个单独的nginx进程 1.nginx虚拟主机简单介绍 同apache服务一样,它也有三种不同的虚拟主机,基于域名的虚拟主机.基于

nginx配置虚拟主机vhost的方法详解

摘自:http://www.jb51.net/article/107331.htm Nginx vhost配置,可实现基于ip.端口号.servername的虚拟主机,同时可避免直接修改主配置文件.在nginx下配置虚拟主机vhost非常方便.这篇文章主要介绍了nginx配置虚拟主机vhost的方法,需要的朋友可以参考下 前言 所谓虚拟主机,是说通过几个不同的url地址,都能到达nginx环境,只不过针对不同的url,处理的逻辑不同.nginx支持虚拟主机,但是浏览器等客户端不知道,所以虚拟主机

nginx配置虚拟主机之不同端口和不同IP地址

配置nginx虚拟主机不同端口和不同ip地址,和上编nginx基于域名配置虚拟主机博文类似,请先参考. zxl.com域名不同端口,配置文件内容如下: [[email protected] conf.d]# cat zxl.com.conf  server { listen 81; server_name www.zxl.com zxl.com; location / { root /data/zxl; index index.html index.htm; access_log  logs/z

nginx 配置虚拟主机的三种方法

nginx,一个server标签就是一个虚拟主机. 1.基于域名的虚拟主机,通过域名来区分虚拟主机--应用:外部网站 2.基于端口的虚拟主机,通过端口来区分虚拟主机--应用:公司内部网站,外部网站的管理后台 3.基于ip的虚拟主机,几乎不用. 1.基于域名配置虚拟主机配置: 需要建立/data/www /data/bbs目录,windows本地hosts添加虚拟机ip地址对应的域名解析: 对应域名网站目录下新增index.html文件: nginx.conf配置文件新增如下代码: server 

nginx配置虚拟主机的两种方式

一. 通过端口区分不同的虚拟主机 二. 通过域名区分不同的虚拟主机 原文地址:https://www.cnblogs.com/shaohsiung/p/9535847.html

Nginx配置——虚拟主机基于IP,域名,端口(实战!)

Nginx虚拟主机 基于域名的虚拟主机 基于IP地址的虚拟主机 基于端口的虚拟主机 一,安装DNS域名解析服务器 1,安装bind服务器 [[email protected] ~]# yum install bind -y 2,修改主配置文件(named.conf) [[email protected] ~]# vim /etc/named.conf options { listen-on port 53 { any; }; ##监听所有 listen-on-v6 port 53 { ::1;

nginx配置虚拟主机之基于域名

安装nginx请参考,nginx编译安装的博文 1:配置nginx虚拟主机,同一个端口80,多个不同的域名.nginx默认主配置文件内容如下 [[email protected] conf]# cat nginx.conf user  nginx; worker_processes  1; error_log  logs/error.log; pid        logs/nginx.pid; events {     worker_connections  1024; } http {   

window下phpstudy的nginx配置虚拟主机

由于很长时间没有配置Apache,虽然说知道怎么配置nginx,但是还是花费了一些时间这次记下来下次直接用 在其他选项文件菜单中->打开配置文件->选择vhosts-conf nginx的话使用 server { listen 80; server_name 你的虚拟目录名称; root "你要操作的目录路径"; location / { index index.html index.htm index.php; #autoindex on; if ($request_fi

nginx配置虚拟主机-端口号区分

Nginx实现虚拟机 可以实现在同一台服务运行多个网站,而且网站之间互相不干扰.同一个服务器可能有一个ip,网站需要使用80端口.网站的域名不同. 区分不同的网站有三种方式:ip区分.端口区分.域名区分,显然通过IP区分是不太现实的,这里只验证后两种方式 1.配置nginx基于ip地址的虚拟主机 1.1 nginx配置文件中添加一个server节点,这里server节点的域名都是localhost,只是端口号不同 1.2 将 /usr/local/nginx/路径下的html目录复制一份,命名为