Nginx基于IP,端口,域名配置虚拟主机

php中文网
发布: 2016-07-29 08:49:26
原创
1391人浏览过

nginx(发音同 engine x)是一款轻量级的web 服务器/反向代理服务器及电子邮件(imap/pop3)代理服务器,并在一个bsd-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好。nginx同apache httpd一样,nginx也提供基于ip,基于端口以及域名方式的形式来配置虚拟主机。

一、什么是虚拟主机

虚拟主机是使用特殊的软硬件技术,把一台真实的物理服务器主机分割成多个逻辑存储单元。每个逻辑单元都没有物理实体,但是每一个逻辑单元都能像真实的物理主机一样在网络上工作,具有单独的IP地址(或共享的IP地址)、独立的域名以及完整的Internet服务器(支持WWW、FTP、E-mail等)功能。

虚拟主机的关键技术在于,即使在同一台硬件、同一个操作系统上,运行着为多个用户打开的不同的服务器程式,也互不干扰。而各个用户拥有自己的一部分系统资源(IP地址、文档存储空间、内存、CPU等)。各个虚拟主机之间完全独立,在外界看来,每一台虚拟主机和一台单独的主机的表现完全相同。所以这种被虚拟化的逻辑主机被形象地称为“虚拟主机”。

二、基于端口的虚拟主机

1、准备环境
#当前环境
# more /etc/issue
Red Hat Enterprise Linux Server release 6.3 (Santiago)
Kernel \r on an \m

# uname -rm
2.6.32-279.el6.x86_64 x86_64

# nginx -v
nginx version: nginx/1.8.0

# 创建3个目录用于存放不同形式虚拟主机index.html文件
# mkdir -p /website/baseport
# mkdir -p /website/baseip
# mkdir -p /website/basedomain

# vi /website/baseport/index.html 
<span><!DOCTYPE html></span><span><<span>html</span>></span><span><<span>head</span>></span><span><<span>title</span>></span>Base port sample<span></<span>title</span>></span><span></<span>head</span>></span><span><<span>body</span>></span><span><<span>h1</span>></span>This is an based port website sample(prot:8080).<span></<span>h1</span>></span><span></<span>body</span>></span><span></<span>html</span>></span>2、配置nginx.conf
#第一个虚拟主机
server {
        listen       80;
        server_name  localhost;

        location / {
            root   html;
            index  index.html index.htm;
        }

#第二个虚拟主机        
server {       
        listen       8080;
        server_name  localhost;

        location / {
            root   /website/port;
            index  index.html index.htm;
        }
    }

3、验证   
# nginx -t              #语法检查
# service nginx reload  #服务重载
# curl http://192.168.1.120:8080  #验证基于端口访问
<span><!DOCTYPE html></span><span><<span>html</span>></span><span><<span>head</span>></span><span><<span>title</span>></span>Base port sample<span></<span>title</span>></span><span></<span>head</span>></span><span><<span>body</span>></span><span><<span>h1</span>></span>This is an based port website sample(prot:8080).<span></<span>h1</span>></span><span></<span>body</span>></span><span></<span>html</span>></span>
登录后复制

三、基于IP的虚拟主机

1、先添加IP
# ifconfig|grep "inet addr"
          inet addr:192.168.1.120  Bcast:192.168.1.255  Mask:255.255.255.0
          inet addr:127.0.0.1  Mask:255.0.0.0
# ifconfig eth0:0 192.168.1.220 netmask 255.255.255.0 up  #添加IP到eth0:0
# ifconfig|grep "inet addr"
          inet addr:192.168.1.120  Bcast:192.168.1.255  Mask:255.255.255.0
          inet addr:192.168.1.220  Bcast:192.168.1.255  Mask:255.255.255.0
          inet addr:127.0.0.1  Mask:255.0.0.0

2、配置nginx.conf
#第一个虚拟主机
server {
        listen       80;
        server_name  localhost;

        location / {
            root   html;
            index  index.html index.htm;

#第二个虚拟主机                      
 server {
        listen       192.168.1.220:80;
        server_name  localhost;

        location / {
            root   /website/baseip;
            index  index.html index.htm;
        }
    }

3、验证    
# nginx -t                     #语法检查      Author:Leshami                     
# service nginx reload         #服务重载      Blog  :http://blog.csdn.net/leshami
# curl http://192.168.1.220    #验证基于IP访问
<span><!DOCTYPE html></span><span><<span>html</span>></span><span><<span>head</span>></span><span><<span>title</span>></span>Base ip sample<span></<span>title</span>></span><span></<span>head</span>></span><span><<span>body</span>></span><span><<span>h1</span>></span>This is an based ip website sample.<span></<span>h1</span>></span><span></<span>body</span>></span><span></<span>html</span>></span>
登录后复制

四、基于域名的虚拟主机

1、修改/etc/hosts文件
# echo "
192.168.1.120 bbs.ycdata.net bbs
192.168.1.120 mail.ycdata.net mail
> ">>/etc/hosts

2、配置nginx.conf
#第一个虚拟主机
server {
        listen       80;
        server_name mail.ycdata.net;

        location / {
            root   html;
            index  index.html index.htm;
        }

#第二个虚拟主机        
server {
        listen       80;
        server_name  bbs.ycdata.net;

        location / {
            root   /website/baseport;
            index  index.html index.htm;
        }
    }

3、验证
# curl http://mail.ycdata.net
<span><!DOCTYPE html></span><span><<span>html</span>></span><span><<span>head</span>></span><span><<span>title</span>></span>Welcome to nginx!<span></<span>title</span>></span><span><<span>style</span>></span><span><span>body</span><span>{
        <span><span>width</span>:<span><span>35</span>em</span></span>;
        <span><span>margin</span>:<span><span>0</span> auto</span></span>;
        <span><span>font-family</span>:<span> Tahoma, Verdana, Arial, sans-serif</span></span>;
    <span>}</span></span></span><span></<span>style</span>></span><span></<span>head</span>></span><span><<span>body</span>></span><span><<span>h1</span>></span>Welcome to nginx!<span></<span>h1</span>></span><span><<span>p</span>></span>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.<span></<span>p</span>></span><span><<span>p</span>></span>For online documentation and support please refer to
<span><<span>a</span><span>href</span>=<span>"http://nginx.org/"</span>></span>nginx.org<span></<span>a</span>></span>.<span><<span>br</span>/></span>
Commercial support is available at
<span><<span>a</span><span>href</span>=<span>"http://nginx.com/"</span>></span>nginx.com<span></<span>a</span>></span>.<span></<span>p</span>></span><span><<span>p</span>></span><span><<span>em</span>></span>Thank you for using nginx.<span></<span>em</span>></span><span></<span>p</span>></span><span></<span>body</span>></span><span></<span>html</span>></span># curl http://bbs.ycdata.net
<span><!DOCTYPE html></span><span><<span>html</span>></span><span><<span>head</span>></span><span><<span>title</span>></span>Base port sample<span></<span>title</span>></span><span></<span>head</span>></span><span><<span>body</span>></span><span><<span>h1</span>></span>This is an based port website sample(prot:8080).<span></<span>h1</span>></span><span></<span>body</span>></span><span></<span>html</span>></span>
登录后复制
').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); });

以上就介绍了Nginx基于IP,端口,域名配置虚拟主机,包括了nginx,虚拟主机方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
相关标签:
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号