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

参考:https://blog.csdn.net/baikeliang/article/details/72677687

           https://www.cnblogs.com/crazylqy/p/6891954.html

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

虚拟主机使用的是特殊的软硬件技术,它把一台运行在因特网上的服务器主机分成一台台“虚拟”的主机,每台虚拟主机都可以是一个独立的网站,可以具有独立的域名,具有完整的Intemet服务器功能(WWW、FTP、Email等),同一台主机上的虚拟主机之间是完全独立的。从网站访问者来看,每一台虚拟主机和一台独立的主机完全一样。

利用虚拟主机,不用为每个要运行的网站提供一台单独的Nginx服务器或单独运行一组Nginx进程。虚拟主机提供了在同一台服务器、同一组Nginx进程上运行多个网站的功能。

nginx下,一个server标签就是一个虚拟主机。配置虚拟主机三种方法:

1、基于域名的虚拟主机,通过域名来区分虚拟主机——应用:外部网站

2、基于端口的虚拟主机,通过端口来区分虚拟主机——应用:公司内部网站,外部网站的管理后台

3、基于ip的虚拟主机,几乎不用。

1、基于域名配置虚拟主机配置

需要建立/data/www /data/bbs目录,windows本地hosts添加虚拟机ip地址对应的域名解析;(C:\Windows\System32\drivers\etc hosts文件末尾追加)

对应域名网站目录下新增index.html文件; (注意端口保持相同)

nginx.conf配置文件新增如下代码:

server {

   listen 80;

   server_name www.yong.com;

  # 默认跳转到index.html页面

   index index.html;

  # 相对路径,相对nginx根目录。也可写成绝对路径

   root /data/www;

}

server {

   listen 80;

   server_name bbs.yong.com;

   index index.html;

   root /data/bbs;

}

验证结果,使用curl测试,或者浏览器输入域名访问 http://bbs.yong.com:80  http://www.yong.com:80

# curl -xlocalhost:80 www.yong.com

this is yong linux

# curl -xlocalhost:80 bbs.yong.com

this is yong bbs

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

使用端口来区分,浏览器使用域名或ip地址:端口号 访问  (注意域名或ip地址保持相同)

server {

    listen 8000;

    server_name www.yong.com;

    root /data/www;

}

server {

    listen 8001;

    server_name www.yong.com;

    root /data/bbs;

}

验证结果,使用curl测试,或者浏览器输入域名访问http://www.yong.com:8000  http://www.yong.com:8001

# curl www.yong.com:8000

this is yong linux

# curl www.yong.com:8001

this is yong bbs

3、基于ip地址的虚拟主机配置

通过ip来访问,需要配置多个ip
ifconfig eth0:1 192.168.22.21

server {

    listen 192.168.20.20:80;

    server_name www.yong.com;

    root /data/www;

}

server {

    listen 192.168.20.21:80;

    server_name www.yong.com;

    root /data/bbs;

}

附 nginx.conf 配置说明:

# 全局区 有一个工作子进程,一般设置为CPU数 * 核数 

 worker_processes  1; 

 events {
         # 一般是配置nginx进程与连接的特性
         # 如1个word能同时允许多少连接,一个子进程最大允许连接1024个连接
         worker_connections  1024;
 }

 # 配置HTTP服务器配置段
 http {

        # 配置虚拟主机段
             server {
                 # 定位,把特殊的路径或文件再次定位。
         location  {
               ...
         } 
     }

     server {
                ...
    }
 }

猜你喜欢

转载自blog.csdn.net/sinat_36277898/article/details/83309145
今日推荐