nginx的使用

一:配置虚拟主机

1:虚拟主机介绍

        虚拟主机是一种特殊的软硬件技术,它可以将网络上的每一台计算机分成多个虚拟主机,每个虚拟主机可以独立对外提供www服务,这样就可以实现一台主机对外提供多个web服务,每个虚拟主机之间是独立的,互不影响的。

        虚拟主机技术是互联网服务器采用的节省服务器硬件成本的技术,虚拟主机技术主要应用于HTTPHypertextTransferProtocol,超文本传输协议)服务,将一台服务器的某项或者全部服务内容逻辑划分为多个服务单位,对外表现为多个服务器,从而充分利用服务器硬件资源。

同样的端口不同的ip 

nginx的使用_第1张图片

2:Nginx的虚拟主机配置方式-->有三种

  1. 基于IP的虚拟主机
  2. 基于域名的虚拟主机(购买域名DNS解析到对应的ip上)
  3. 基于端口的虚拟主机

二:基于IP的虚拟主机配置方式

需求:

        一台Linux服务器绑定两个ip:192.168.160.139、192.168.160.199访问不同的ip请求不同的html目录,即:

        访问http://192.168.160.149将访问“html149”目录下的index.html网页访http://192.168.160.199将访问“html199”目录下的index.html网页

创建HTML目录:

        在nginx下复制两个html文件夹并重命名为html139和html199 

        然后分别修改HTMl149中的index.html,加欢迎语句后加139的ip,在HTMl199中的index.html,加欢迎语句后加199的ip

Linux绑定多IP:

        Linux操作系统允许绑定多IP。使用IP别名的方式,在一块物理网卡上可以绑定多个lP地址。这样就能够在使用单一网卡的同一个服务器上运行多个基于IP的虚拟主机。但是在绑定多IP时需要将动态的IP分配方式修改为静态的指定IP

将动态IP修改为静态IP:把系统的ip设置为静态的

        cd /etc/sysconfig/network-scripts/
        vim ifcfg-ens33

                把里面的BOOTPROTO=none 改成static

nginx的使用_第2张图片

复制一份文件,把名字改成ens33:1 

把DEVICE改成ens33:1

把ip改了

nginx的使用_第3张图片

 重启系统reboot

再使用ifconfig查看,能看到有两个ip了

修改Nginx的配置文件完成 基于IP的虚拟主机配置 :

1:打开Nginx的配置文件nginx.conf

2:把原来的代理配置注释掉不然会占用端口冲突

    #ip代理配置

    server {

        listen       80;

        server_name  192.168.160.129;   

        location / {

            root   html29;

            index  index.html index.htm;

        }

       

        error_page   500 502 503 504  /50x.html;

        location = /50x.html {

            root   html;

        }

    }

       #ip代理配置

    server {

        listen       80;

        server_name  192.168.160.199;   

        location / {

            root   html199;

            index  index.html index.htm;

        }

       

        error_page   500 502 503 504  /50x.html;

        location = /50x.html {

            root   html;

        }

    }

代理实现在同一服务器上绑定不同的ip

3:重启nginx:./nginx -s reloa

基于端口的虚拟主机配置方式:

Nginx对提供8080与9090两个端口的监听服务

请求8080端口则访问html8080目录下的index.html

请求9090端口则访问html9090目录下的index.html

1:创建HTML目录

nginx的使用_第4张图片

2:修改Nginx的配置文件完成基于端口的虚拟主机配置

#基于不同的端口

#注意这里是ip地址相同但是端口号不同

#服务器1

    server {

        listen       8080;

        server_name  192.168.160.149;

        location / {

            root   html8080;

            index  index.html index.htm;

        }

        error_page   500 502 503 504  /50x.html;

        location = /50x.html {

            root   html;

        }

#服务器2

    }

     server {

        listen       9090;

        server_name  192.168.160.149;

        location / {

            root   html9090;

            index  index.html index.htm;

        }

        error_page   500 502 503 504  /50x.html;

        location = /50x.html {

            root   html;

        }

    }

3:重启nginx:./nginx -s reloa 

基于域名的虚拟主机配置方式:

两个域名指向同一个nginx服务器,用户访问不同的域名时显示不同的内容。

域名规划案例:

www.abc149.com-->192.168.160.149

www.abc199.com-->192.168.160.199

在生成环境中,当购买了域名之后,这个域名有一个DNS解析的网页提供,用来绑定ip地址

1:创建HTML目录(在index.html下的标题头上加上域名用于区分)

2:修改windowshosts文件配置域名与ip的映射

打开文件路径:C:\Windows\System32\drivers\etchosts文件

在C:\Windows\System32\drivers\etc目录下

用记事本打开hosts文件

nginx的使用_第5张图片

然后重启nginx后,在浏览器中使用www.abc.com访问

 

3:修改Nginx的配置文件完成基于域名的虚拟主机配置 

打开:nginx.conf

#基于域名配置虚拟机    

    server {

        listen       80;

        server_name  www.abc.com;

        location / {

            root   htmlabc;

            index  index.html index.htm;

        }

        error_page   500 502 503 504  /50x.html;

        location = /50x.html {

            root   html;

        }

    }

4:重启nginx:./nginx -s reloa 

你可能感兴趣的:(linux,nginx)