深入浅析Nginx虚拟主机

 更新时间:2020年07月11日 11:55:39   作者:木二  
对于Nginx而言,每一个虚拟主机相当于一个在同一台服务器中却相互独立的站点,从而实现一台主机对外提供多个 web 服务,每个虚拟主机之间是独立的,互不影响的。这篇文章主要介绍了Nginx虚拟主机的相关知识,需要的朋友可以参考下

一 虚拟主机

1.1 虚拟主机概念

 对于Nginx而言,每一个虚拟主机相当于一个在同一台服务器中却相互独立的站点,从而实现一台主机对外提供多个 web 服务,每个虚拟主机之间是独立的,互不影响的。

1.2 虚拟主机类型

 通过 Nginx 可以实现虚拟主机的配置,Nginx 支持三种类型的虚拟主机配置:

  •  基于 IP 的虚拟主机(较少使用)
  •  基于域名的虚拟主机
  •  基于端口的虚拟主机

二 基于IP虚拟主机

2.1 配置多IP地址

 [root@nginx ~]# ifconfig eth0:0 172.24.8.70 broadcast 172.24.8.255 netmask 255.255.255.0
 [root@nginx ~]# ip addr | grep 172
 inet 172.24.8.71/24 brd 172.24.8.255 scope global noprefixroute eth0
 inet 172.24.8.72/24 brd 172.24.8.255 scope global secondary eth0:0

 提示:如上在同一台主机添加多个IP地址。

2.2 创建站点目录

 [root@nginx ~]# mkdir /usr/share/nginx/ipvhost01/
 [root@nginx ~]# mkdir /usr/share/nginx/ipvhost02/
 [root@nginx ~]# echo '<h1>Ipvhost01</h1>' > /usr/share/nginx/ipvhost01/index.html
 [root@nginx ~]# echo '<h1>Ipvhost02</h1>' > /usr/share/nginx/ipvhost02/index.html

2.3 配置虚拟主机

 [root@nginx ~]# vi /etc/nginx/conf.d/ipvhost.conf
 server {
 listen ; #监听端口
 server_name ipvhost.odocker.com ...; #配置虚拟主机名和IP
 location / {
 root /usr/share/nginx/ipvhost; #请求匹配路径
 index index.html; #指定主页
 access_log /var/log/nginx/ipvhost.access.log main;
 error_log /var/log/nginx/ipvhost.error.log warn;
 }
 }
 server {
 listen ;
 server_name ipvhost.odocker.com ...;
 location / {
 root /usr/share/nginx/ipvhost;
 index index.html;
 access_log /var/log/nginx/ipvhost.access.log main;
 error_log /var/log/nginx/ipvhost.error.log warn;
 }
 }
[root@nginx ~]# nginx -t -c /etc/nginx/nginx.conf #检查配置文件
 [root@nginx ~]# nginx -s reload #重载配置文件

2.4 确认验证

 浏览器访问:ipvhost01.odocker.com。
 clipboard
 浏览器访问:ipvhost02.odocker.com。
 clipboard

三 基于域名虚拟主机

3.1 创建站点目录

 [root@nginx ~]# mkdir /usr/share/nginx/webvhost01/
 [root@nginx ~]# mkdir /usr/share/nginx/webvhost02/
 [root@nginx ~]# echo '<h1>Webvhost01</h1>' > /usr/share/nginx/webvhost01/index.html
 [root@nginx ~]# echo '<h1>Webvhost02</h1>' > /usr/share/nginx/webvhost02/index.html

3.2 配置虚拟主机

 [root@nginx ~]# vi /etc/nginx/conf.d/webvhost.conf
 server {
 listen ;
 server_name webvhost.odocker.com;
 location / {
 root /usr/share/nginx/webvhost;
 index index.html;
 access_log /var/log/nginx/webvhost.access.log main;
 error_log /var/log/nginx/webvhost.error.log warn;
 }
 }
 server {
 listen ;
 server_name webvhost.odocker.com;
 location / {
 root /usr/share/nginx/webvhost;
 index index.html;
 access_log /var/log/nginx/webvhost.access.log main;
 error_log /var/log/nginx/webvhost.error.log warn;
 }
 }
[root@nginx ~]# nginx -t -c /etc/nginx/nginx.conf #检查配置文件
 [root@nginx ~]# nginx -s reload #重载配置文件

3.3 确认验证

 浏览器访问:webvhost01.odocker.com。
 clipboard
 浏览器访问:webvhost02.odocker.com。
 clipboard

四 基于端口虚拟主机

4.1 创建站点目录

[root@nginx ~]# mkdir /usr/share/nginx/portvhost01/
 [root@nginx ~]# mkdir /usr/share/nginx/portvhost02/
 [root@nginx ~]# echo '<h1>Portvhost01</h1>' > /usr/share/nginx/portvhost01/index.html
 [root@nginx ~]# echo '<h1>Portvhost01</h1>' > /usr/share/nginx/portvhost02/index.html

4.2 配置虚拟主机

 [root@nginx ~]# vi /etc/nginx/conf.d/portvhost.conf
 server {
 listen ;
 server_name portvhost.odocker.com;
 location / {
 root /usr/share/nginx/portvhost;
 index index.html;
 access_log /var/log/nginx/portvhost.access.log main;
 error_log /var/log/nginx/portvhost.error.log warn;
 }
 }
 server {
 listen ;
 server_name portvhost.odocker.com;
 location / {
 root /usr/share/nginx/portvhost;
 index index.html;
 access_log /var/log/nginx/access_portvhost.log main;
 }
 }
 [root@nginx ~]# nginx -t -c /etc/nginx/nginx.conf #检查配置文件
 [root@nginx ~]# nginx -s reload #重载配置文件

4.3 确认验证

 浏览器访问:portvhost01.odocker.com:8080
 clipboard
 浏览器访问:portvhost02.odocker.com:8081
 clipboard

到此这篇关于Nginx虚拟主机的文章就介绍到这了,更多相关Nginx虚拟主机内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • nginx配置安装免费证书的方法步骤

    nginx配置安装免费证书的方法步骤

    HTTPS可以有效的防止数据被窃听和篡改,本文主要介绍了nginx配置安装免费证书的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-08-08
  • nginx编译安装后对nginx进行平滑升级的方法

    nginx编译安装后对nginx进行平滑升级的方法

    nginx编译安装后用了一段时间后发现当前版本有漏洞或需要新的功能时就需要对当前nginx版本进行版本升级,所以这时就需到对nginx的平滑升级,如何进行平滑升级,下面就一起来了解一下
    2018-12-12
  • Windows环境下Nginx 服务器 SSL 证书安装部署操作过程

    Windows环境下Nginx 服务器 SSL 证书安装部署操作过程

    这篇文章主要介绍了Windows环境下Nginx 服务器 SSL 证书安装部署,指导您如何在Windows Nginx 服务器中安装 SSL 证书,本文给大家讲解的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-10-10
  • 聊聊配置 Nginx 访问与错误日志的问题

    聊聊配置 Nginx 访问与错误日志的问题

    这篇文章主要介绍了配置 Nginx 访问与错误日志,Nginx是一个开放源代码的高性能HTTP和反向代理服务器,负责处理Internet上某些最大站点的负载,对Nginx 错误日志相关知识感兴趣的朋友一起看看吧
    2022-05-05
  • Nginx的location的常见规则优先级问题

    Nginx的location的常见规则优先级问题

    Nginx是反向代理和负载均衡的首选工具,nginx的location配置有许多细节内容在网上不容易找到资料,或者解释不清。本文对Nginx location规则优先级介绍,需要的朋友参考下吧
    2021-08-08
  • Linux下Nginx服务设置开机自启动的命令详解

    Linux下Nginx服务设置开机自启动的命令详解

    这篇文章主要介绍了Linux下Nginx服务设置开机自启动的命令,文中通过代码示例介绍的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下
    2024-09-09
  • Nginx中的root和alias指令示例详解

    Nginx中的root和alias指令示例详解

    Nginx是一种高性能的Web服务器软件,其中root和alias是用于配置资源位置的两个指令,root指令用于设置资源的根目录,而alias指令则为特定location设置路径别名,root适用于整体目录结构,alias适合细粒度路径控制,本文详解这两个指令的用途及区别
    2024-10-10
  • Nginx服务器Nginx.com配置文件详解

    Nginx服务器Nginx.com配置文件详解

    这篇文章主要介绍了Nginx服务器Nginx.com配置文件详解的相关资料,本文介绍的非常详细,具有参考借鉴价值,需要的朋友可以参考下
    2016-09-09
  • Nginx结合Openresty通过Lua+Redis实现动态封禁IP

    Nginx结合Openresty通过Lua+Redis实现动态封禁IP

    为了封禁某些爬虫或者恶意用户对服务器的请求,我们需要建立一个动态的 IP 黑名单,本文主要介绍了Nginx结合Openresty通过Lua+Redis实现动态封禁IP,感兴趣的可以了解一下
    2023-11-11
  • 一文带你搞懂Nginx如何处理请求

    一文带你搞懂Nginx如何处理请求

    Nginx(Engine X)是一个高性能的HTTP和反向代理服务器,本文将从原理、代码以及示例来深入分析 Nginx如何处理请求,希望对大家有所帮助
    2024-11-11

最新评论