Nginx虚拟主机配置实例

Nginx虚拟主机

结合上篇文章:手工编译NginxNginx虚拟主机的搭建过程,虚拟主机的概念在之前的Apache虚拟主机搭建实验时已讲述过有关知识点,原文链接:Apache web 虚拟主机

结合上篇文章的配置进行下面的配置操作(Nginx服务是开启状态)

[[email protected] named]# netstat -natp | grep 80
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 79214/nginx: master

Nginx虚拟主机配置

1.域名解析配置(环境准备)

[[email protected] ~]# yum install -y bind
...//省略部分内容
  dhclient.x86_64 12:4.2.5-77.el7.centos
  dhcp-common.x86_64 12:4.2.5-77.el7.centos
  dhcp-libs.x86_64 12:4.2.5-77.el7.centos                                        

Complete!
[[email protected] ~]# vim /etc/named.conf
[[email protected] ~]# head -21 /etc/named.conf |tail
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; };

[[email protected] ~]# vim /etc/named.rfc1912.zones
[[email protected] ~]# vim /etc/named.rfc1912.zones
[[email protected] ~]# head -34 /etc/named.rfc1912.zones | tail
zone "ll.com" IN {
        type master;
        file "ll.com.zone";
        allow-update { none; };
};

zone "cc.com" IN {
        type master;
        file "cc.com.zone";
        allow-update { none; };
[[email protected] ~]# cd /var/named/
[[email protected] named]# ls
data  dynamic  named.ca  named.empty  named.localhost  named.loopback  slaves
[[email protected] named]# cp -p named.localhost ll.com.zone
[[email protected] named]# vim ll.com.zone
[[email protected] named]# cp -p ll.com.zone cc.com.zone
[[email protected] named]# cat ll.com.zone
$TTL 1D
@       IN SOA  @ rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      @
        A       127.0.0.1
www IN  A       192.168.68.145
[[email protected] named]# cat cc.com.zone
$TTL 1D
@       IN SOA  @ rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      @
        A       127.0.0.1
www IN  A       192.168.68.145

[[email protected] named]# systemctl start named
[[email protected] named]# systemctl stop firewalld.service
[[email protected] named]# setenforce
usage:  setenforce [ Enforcing | Permissive | 1 | 0 ]
[[email protected] named]# setenforce 0

2.在win10虚拟机上使用nslookup命令测试是否正常解析

3.创建站点

[[email protected] ~]# mkdir -p /var/www/html/ll
[[email protected] ~]# mkdir -p /var/www/html/cc
[[email protected] ~]# cd /var/www/html/
[[email protected] html]# ls
cc  ll
[[email protected] html]# echo "this is ll test web" > ll/index.html
[[email protected] html]# echo "this is cc test web" > cc/index.html
[[email protected] html]# ls ll/
index.html
[[email protected] html]# ls cc/
index.html

4.基于不同域名的服务解析设置

[[email protected] html]# cd /usr/local/nginx/conf/
[[email protected] conf]# vim /usr/local/nginx/conf/nginx.conf
[[email protected] conf]# sed -n ‘35,63p‘ nginx.conf
    server {
        listen       80;
        server_name  www.ll.com;
        charset utf-8;
        access_log  logs/www.ll.com.access.log;
        location / {
            root   /var/html/ll;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

    server {
        listen       80;
        server_name  www.cc.com;
        charset utf-8;
        access_log  logs/www.cc.com.access.log;
        location / {
            root   /var/html/cc;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
[[email protected] conf]# nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[[email protected] conf]# service nginx restart

5.不同域名的测试

Nginx基于不同端口访问

继续根据上面的第四步的配置

[[email protected] conf]# sed -n ‘35,63p‘ nginx.conf
    server {
        listen       192.168.68.144:80;
        server_name  www.ll.com;
        charset utf-8;
        access_log  logs/www.ll.com.access.log;
        location / {
            root   /var/www/html/ll;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

    server {
        listen      192.168.68.144:8080;
        server_name  www.cc.com;
        charset utf-8;
        access_log  logs/www.cc8080.com.access.log;
        location / {
            root   /var/www/html/cc8080;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
     nginx -t
[[email protected] conf]# nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[[email protected] conf]# service nginx restart

检测:

Nginx基于不同IP地址访问

添加一块网卡选择nat模式

我的是192.168.68.150

1.修改区域数据配置文件

[[email protected] conf]# vim /var/named/cc.com.zone
[[email protected] conf]# cat /var/named/cc.com.zone
$TTL 1D
@       IN SOA  @ rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      @
        A       127.0.0.1
www IN  A       192.168.68.150
[[email protected] conf]# systemctl restart named

查看解析是否成功:

2.更改配置文件

[[email protected] conf]# vim nginx.conf
[[email protected] conf]# sed -n ‘35,63p‘ nginx.conf
    server {
        listen      192.168.68.144:80;
        server_name  www.ll.com;
        charset utf-8;
        access_log  logs/www.ll.com.access.log;
        location / {
            root   /var/www/html/ll;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

    server {
        listen      192.168.68.150:80;
        server_name  www.cc.com;
        charset utf-8;
        access_log  logs/www.cc.com.access.log;
        location / {
            root   /var/www/html/cc;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
[[email protected] conf]# nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[[email protected] conf]# service nginx restart

检查测试:

总结

本文主要是通过Nginx手工编译安装的基础上对Nginx的虚拟主机的相关配置,分别对应的是基于不同域名、不同端口和不同ip进行的相关配置。重要的是对Nginx的配置文件nginx.conf的配置。这里的域名解析的相关配置需要比较娴熟。

下一篇我们将介绍LNMP架构的搭建过程

原文地址:https://blog.51cto.com/14557673/2461421

时间: 2024-11-07 08:50:18

Nginx虚拟主机配置实例的相关文章

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

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

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

Nginx虚拟主机配置实践(一)

Nginx虚拟主机配置实践(一) 一.虚拟主机的概念 在Web服务里虚拟主机就是一个独立的网站站点,这个站点对应独立的域名(也可能是IP或端口),具有独立的程序及资源目录,可以独立的对外提供服务供用户访问. 二.虚拟主机的类型 基于域名的虚拟主机 基于端口的虚拟主机 基于IP的虚拟主机 说明:实际生产中用的最多的就是基于域名的虚拟主机,其他两种了解即可. 三.基于一个域名虚拟主机的配置 Nginx主配置文件结构 创建一个最简化的Nginx主配置文件 [[email protected] conf

Nginx虚拟主机配置详解

Nginx虚拟主机配置详解 一.虚拟主机介绍 虚拟主机使用的是特殊的软硬件技术,它把一台运行在因特网上的服务器主机分成一台台"虚拟"的主机,每台虚拟主机都可以是一个独立的网站,可以具有独立的域名,具有完整的Intemet服务器功能(WWW.FTP.Email等),同一台主机上的虚拟主机之间是完全独立的.从网站访问者来看,每一台虚拟主机和一台独立的主机完全一样. 利用虚拟主机,不用为每个要运行的网站提供一台单独的Nginx服务器或单独运行一组Nginx进程.虚拟主机提供了在同一台服务器.

nginx:虚拟主机配置

nginx的虚拟主机配置主要分为三类: 基于域名的虚拟主机(z.com) 基于ip的虚拟主机(192.168.1.42) 基于端口的虚拟主机(z.com:2022) 一般当服务器的主机超过两个时,建议将这些虚拟主机单独建立文件,然后在nginx.conf文件中直接引入(比如:include vhost/*.conf) 一.基于域名的虚拟主机 server { listen 80; server_name z.com; location / { root /home/www/zgw/; index

Nginx虚拟主机配置 + 虚拟主机支持PHP

说明:配置之前先把域名解析到服务器IP地址上 站点1:bbs.osyunwei.com 程序所在目录/data/osyunwei/bbs 站点2:sns.osyunwei.com 程序所在目录/data/osyunwei/sns chown www.www /data/osyunwei/ -R #设置目录所有者,www为nginx运行账户 chmod 700 /data/osyunwei/ -R #设置目录权限 nginx配置文件路径:/usr/local/nginx/conf/nginx.co

Nginx虚拟主机配置

利用虚拟主机技术,可以把一台真正的主机分成许多"虚拟"的主机,每一台虚拟主机都具有独立的域名和IP地址,具有完整的Internet服务器(www,FTP,email)功能.虚拟主机之间完全独立,在外界看来,每一台虚拟主机和一台独立的主机完全一样.效果一样但费用却大不一样了.由于多台虚拟主机共享一台真实主机的资源,每个虚拟主机用户承受的硬件费用.网络维护费用.通信线路的费用均大幅度降低,Internet真正成为人人用得起的网络! 虚拟主机共分为三种:基于IP的虚拟主机,基于端口的虚拟主机

nginx虚拟主机配置小结

nginx的安装在lnmp环境搭建中已经介绍过了,配置文件在安装目录下的conf子目录下,主要主要分成四部分:main(全局设置).server(主机设置).upstream(负载均衡服务器设置).location(URL 匹配特定位置的设置).可以狭义的理解一个server就是一个虚拟主机.主要有三种配置虚拟主机的方式:基于域名.基于端口.基于ip.下面分别介绍: 一.基于域名: 主要步骤:1.首先在windows本地hosts添加虚拟机ip地址对应的域名解析 192.168.1.104  z

nginx虚拟主机配置优化

优化 [[email protected] conf]# mkdir extra [[email protected] conf]# vim nginx.conf [[email protected] conf]# cat nginx.conf worker_processes  1; events {     worker_connections  1024; } http {     include       mime.types;     default_type  applicatio