手把手教你配置【Nginx的虚拟主机】

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
.cn 域名,1个 12个月
简介: 一、虚拟主机的概念1.1 什么是虚拟主机虚拟主机,就是把一台物理服务器划分成多个 “虚拟” 的服务器,这样我们的一台物理服务器就可以当做多个服务器来使用,从而可以配置多个网站。Nginx 提供虚拟主机的功能,就是为了让我们不需要安装多个 Nginx,就可以运行多个域名不同的网站。

一、虚拟主机的概念


1.1 什么是虚拟主机

虚拟主机,就是把一台物理服务器划分成多个 “虚拟” 的服务器,这样我们的一台物理服务器就可以当做多个服务器来使用,从而可以配置多个网站。Nginx 提供虚拟主机的功能,就是为了让我们不需要安装多个 Nginx,就可以运行多个域名不同的网站。

每台虚拟主机都可以是一个独立的网站,可以具有独立的域名,具有完整的Intemet服务器功能(WWW、FTP、Email等),同一台主机上的虚拟主机之间是完全独立的。从网站访问者来看,每一台虚拟主机和一台独立的主机完全一样。

Nginx 下,一个 server 标签就是一个虚拟主机。nginx 的虚拟主机就是通过主配置文件 nginx.conf 中 server 节点指定的,想要设置多个虚拟主机,配置多个server节点即可。

网络异常,图片无法展示
|


1.2 配置虚拟主机的方法

配置虚拟主机有三种方法:

  • 基于域名的虚拟主机 : 不同的域名、相同的IP(此方式应用最广泛)。
  • 基于IP地址的虚拟主机 : 不同的域名、不同的IP ( 需要加网络接口 ,应用的不广泛), 基于IP地址。
  • 基于端口的虚拟主机 : 不使用域名、IP来区分不同站点的内容,而是用不同的TCP端口号。

二、基于域名的 Nginx 虚拟主机


2.1 为虚拟主机提供域名解析

[root@yuji ~]# echo "192.168.72.10 www.yuji.com www.nan.com"  >> /etc/hosts
复制代码

网络异常,图片无法展示
|


2.2 为虚拟主机准备网页文档

[root@yuji ~]# mkdir -p /var/www/html/yuji
 [root@yuji ~]# mkdir -p /var/www/html/nan
 [root@yuji ~]# echo '<h1>www.yuji.com</h1>' > /var/www/html/yuji/index.html
 [root@yuji ~]# echo '<h1>www.nan.com</h1>' > /var/www/html/nan/index.html
复制代码


网络异常,图片无法展示
|


2.3 修改Nginx的配置文件

配置两个server块,分别设置不同的域名。

[root@yuji ~]# vim /usr/local/nginx/conf/nginx.conf
 .........
 http {
 .........
       server {
            listen   80;
            server_name   www.yuji.com;       #设置域名www.yuji.com
            charset   utf-8;
            access_log   logs/www.yuji.access.log;  #设置日志名
            location / {
                   root   /var/www/html/yuji;  #设置 www.yuji.com 的工作目录
                   index   index.html   index.php;
            }
            error_page   500 502 503 504 /50x.html;
            location = 50x.html {
                  root   html;
            }
       }
       server {
            listen   80;
            server_name   www.nan.com;     #设置域名www.nan.com
            charset   utf-8;
            access_log   logs/www.nan.access.log;  #设置日志名
            location / {
                   root   /var/www/html/nan;   #设置 www.nan.com 的工作目录
                   index   index.html   index.php;
            }
            error_page   500 502 503 504 /50x.html;
            location = 50x.html {
                  root   html;
            }
       }
 }
复制代码


网络异常,图片无法展示
|


2.4 重启服务,访问测试

[root@yuji ~]# nginx -t       //检查配置文件的配置项是否有误
 [root@yuji ~]# systemctl restart nginx      //重启Nginx服务
 浏览器访问 http://www.yuji.com 和 http://www.nan.com
复制代码


网络异常,图片无法展示
|


网络异常,图片无法展示
|


网络异常,图片无法展示
|


三、基于ip地址的nginx虚拟主机


两个server块,设置不同的监听地址即可,其他跟基于域名都一样。

例如:

3.1 设置临时ip,以达到一台服务器拥有多个ip地址,不同ip访问不同的服务页面

[root@yuji ~]# ifconfig ens33:0 192.168.72.20/24
复制代码


网络异常,图片无法展示
|


3.2 修改配置文件,之后重启服务,访问测试。

[root@yuji ~]# vim /usr/local/nginx/conf/nginx.conf
 .........
 http {
 .........
       server {
            listen   192.168.72.10:80;      #设置监听地址192.168.72.10
            server_name   www.yuji.com;                        
            charset   utf-8;
            access_log   logs/www.yuji.access.log;    #设置日志名
            location / {
                   root   /var/www/html/yuji;     #设置 www.yuji.com 的工作目录
                   index   index.html   index.php;
            }
            error_page   500 502 503 504 /50x.html;
            location = 50x.html {
                  root   html;
            }
       }
       server {
            listen   192.168.72.20:80;       #设置监听地址192.168.72.20
            server_name   www.nan.com;                        
            charset   utf-8;
            access_log   logs/www.nan.access.log;     #设置日志名
            location / {
                   root   /var/www/html/nan;          #设置 www.yuji.com 的工作目录
                   index   index.html   index.php;
            }
            error_page   500 502 503 504 /50x.html;
            location = 50x.html {
                  root   html;
            }
       }
 }
 #重启服务,访问测试
 [root@yuji ~]# nginx -t      //检查配置文件的配置项是否有误
 #如果服务器只有一个ip,即没有设置临时ip,则 nginx -t 会报错,错误信息为不能绑定ip
 [root@yuji ~]# systemctl restart nginx     //重启nginx服务
 浏览器访问 http://192.168.72.10 和 http://192.168.72.20
复制代码


网络异常,图片无法展示
|


网络异常,图片无法展示
|


网络异常,图片无法展示
|


网络异常,图片无法展示
|


四、基于端口的nginx虚拟主机

修改IP地址后面的端口即可。

[root@yuji ~]# vim /usr/local/nginx/conf/nginx.conf
 .........
 http {
 .........
       server {
            listen   192.168.72.10:666;   #设置监听端口为666
            server_name   www.kgc.com;                        
            charset   utf-8;
            access_log   logs/www.yuji.access.log;   #设置日志名
            location / {
                   root   /var/www/html/yuji;     #设置 www.kgc.com 的工作目录
                   index   index.html   index.php;
            }
      ......
       }
       server {
            listen   192.168.72.10:888;    #设置监听端口为888
            server_name   www.nan.com;                        
            charset   utf-8;
            access_log   logs/www.nant.access.log;   #设置日志名
            location / {
                   root   /var/www/html/nan;    #设置 www.benet.com 的工作目录
                   index   index.html   index.php;
            }
       .......
       }
 }
 [root@yuji ~]# nginx -t        //检查配置文件的配置项是否有误
 [root@yuji ~]# systemctl restart nginx    //重启nginx服务
 浏览器访问 http://192.168.72.10:666 和 http://192.168.72.10:888
复制代码


网络异常,图片无法展示
|


网络异常,图片无法展示
|


网络异常,图片无法展示
|


相关文章
|
24天前
|
缓存 应用服务中间件 网络安全
Nginx中配置HTTP2协议的方法
Nginx中配置HTTP2协议的方法
58 7
|
20天前
|
缓存 负载均衡 算法
如何配置Nginx反向代理以实现负载均衡?
如何配置Nginx反向代理以实现负载均衡?
|
11天前
|
负载均衡 前端开发 应用服务中间件
负载均衡指南:Nginx与HAProxy的配置与优化
负载均衡指南:Nginx与HAProxy的配置与优化
33 3
|
20天前
|
负载均衡 监控 应用服务中间件
配置Nginx反向代理时如何指定后端服务器的权重?
配置Nginx反向代理时如何指定后端服务器的权重?
37 4
|
20天前
|
安全 应用服务中间件 网络安全
如何测试Nginx反向代理实现SSL加密访问的配置是否正确?
如何测试Nginx反向代理实现SSL加密访问的配置是否正确?
43 3
|
20天前
|
安全 应用服务中间件 网络安全
配置Nginx反向代理实现SSL加密访问的步骤是什么?
我们可以成功地配置 Nginx 反向代理实现 SSL 加密访问,为用户提供更安全、可靠的网络服务。同时,在实际应用中,还需要根据具体情况进行进一步的优化和调整,以满足不同的需求。SSL 加密是网络安全的重要保障,合理配置和维护是确保系统安全稳定运行的关键。
73 3
|
22天前
|
应用服务中间件 网络安全 nginx
轻松上手Nginx Proxy Manager:安装、配置与实战
Nginx Proxy Manager (NPM) 是一款基于 Nginx 的反向代理管理工具,提供直观的 Web 界面,方便用户配置和管理反向代理、SSL 证书等。本文档介绍了 NPM 的安装步骤,包括 Docker 和 Docker Compose 的安装、Docker Compose 文件的创建与配置、启动服务、访问 Web 管理界面、基本使用方法以及如何申请和配置 SSL 证书,帮助用户快速上手 NPM。
140 1
|
2月前
|
缓存 监控 负载均衡
nginx相关配置及高并发优化
Nginx的高并发优化是一个综合性的过程,需要根据具体的业务场景和硬件资源量身定制。以上配置只是基础,实际应用中还需根据服务器监控数据进行持续调整和优化。例如,利用工具如ab(Apache Benchmarks)进行压力测试,监控CPU、内存、网络和磁盘I/O等资源使用情况,确保配置的有效性和服务的稳定性。
137 0
|
4月前
|
缓存 前端开发 Java
"揭秘!SpringBoot携手Nginx,性能飙升秘籍大公开:轻松掌握配置优化,让你的应用快如闪电!"
【8月更文挑战第11天】随着微服务架构的发展,SpringBoot成为构建RESTful API的首选,Nginx则作为高性能的反向代理服务器提升应用性能。本文将探讨两者如何协同工作,包括Nginx的负载均衡策略、静态资源缓存及数据压缩配置;同时讨论SpringBoot的线程池优化、缓存策略及性能监控。通过这些方法,帮助开发者显著提高系统的整体性能和可用性。
174 1
|
7月前
|
数据可视化 应用服务中间件 Linux
Nginx 可视化管理工具与 cpolar 配置:实现远程访问本地服务的优化
Nginx 可视化管理工具与 cpolar 配置:实现远程访问本地服务的优化
Nginx 可视化管理工具与 cpolar 配置:实现远程访问本地服务的优化