首页 > 系统相关 >Nginx 虚拟主机

Nginx 虚拟主机

时间:2024-08-22 08:55:11浏览次数:13  
标签:index 虚拟主机 virtual server Nginx html test

优质博文 IT-BLOG-CN

在这里插入图片描述

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

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

虚拟主机的配置主要有以下三种:

一、基于域名的虚拟主机

进入conf/nginx.conf配置文件中添加server属性,示例如下:一个域名对应一个ip地址,一个ip地址可以被多个域名绑定。域名的目的是便于记忆和沟通的一组服务器的地址(网站,电子邮件,FTP等)。

server {
    #检测默认的80端口
	listen       80;
    #我们测试的是域名映射,所以这个配置是重点,也是外部访问的地址
	server_name  virtual.test.com;
	
    #如果配置的默认/,则访问项目时,输入虚拟域名即可
	location / {
        #默认访问的是nginx根目录下的virtual.test/html目录中的index.html
	    root   virtual.test/html;
	    index  index.html;
	}
}

测试前准备:
1)、添加本地域名映射,修改HOSTS(C:\Windows\System32\drivers\etc)文件,在文件未添加IP域名(举例:192.168.88.130 virtual.test.com
2)、在nginx根目录下创建root所配置的文件夹virtual.test/html(全路径展示:/usr/install/nginx/virtual.test/html
3)、在此目录下创建index.html文件即可。

<html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        </head>
        <body>
            <h2>虚拟主机测试页面-index</h2>
        </body>
</html>

4)、访问http://virtual.test.com/

二、基于端口的虚拟主机

只需将server中的listen属性设置为目标端口即可:

server {
    #主要配置属性
	listen       8089;
	server_name  virtual.test.com;
	
	location / {
	    root   virtual.test/html;
	    index  index.html;
	}
}

通过http://virtual.test.com:8089/也可以访问目标文件:

三、基于IP的虚拟主机

server_name修改为虚拟机的IP地址即可:

server {
    listen       8089;
    #修改为虚拟机的IP地址
    server_name  192.168.88.130;

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

通过IP地址访问目标项目测试如下:

四、Nginx代理

根据项目名称,将请求发送给对应的服务器,匹配规则如下:
【1】=严格匹配:如果这个查询匹配,那么将停止搜索并立即处理此请求;
【2】~为区分大小写匹配(可用正则表达式);
【3】!~为区分大小写不匹配
【4】~*为不区分大小写匹配(可用正则表达式)
【5】!~*为不区分大小写不匹配
【6】^~如果把这个前缀用于一个常规字符串,那么告诉nginx 如果路径匹配那么不测试正则表达式。

示例:

server {
	listen       9001;
	server_name  localhost;

	location ~ /edu/ {           
		proxy_pass http://localhost:8101;
	}
		
	location ~ /oss/ {   
		proxy_pass http://localhost:8102;
	}
}

总结:在 Nginx下配置虚拟主机 vhost 非常方便。主要在 Nginx 的配置文件 nginx.conf 中添加一个 server 即可。使用基于域名的虚拟主机配置是比较流行的方式,可以在同一个IP上配置多个域名并且都通过80端口访问。由于基于IP地址的虚拟主机需要添加网络接口 使用不广泛。

标签:index,虚拟主机,virtual,server,Nginx,html,test
From: https://blog.csdn.net/zhengzhaoyang122/article/details/141306788

相关文章

  • Nginx: 体系化知识点梳理
    概述我们需要对Nginx要有体系化的一个认识对Nginx自身来说,它是作为一个中间件的,只要是中间件,它必然会涉及到前端和后端对于Nginx来说,它是需要协调整个前后端的一个组件那对于中间件来,我们要理解整个外部系统前端和后端是如何进行交互的我们一个用户请求过来以后,......
  • Nginx: 配置项之main段核心参数用法梳理
    概述我们了解下配置文件中的一个全局段,有哪些配置参数,包括后面的events字段,有哪些配置参数这里面也有一些核心参数,对于我们Nginx运行的性能也是有很重要的帮助我们现在首先关注整个main段的一个核心参数用法所谓main段,是指在nginx.conf配置文件中,除了有events......
  • nginx源码编译自定义版本号
    1.下载1.20.2源码包[root@localhostservice]#cd/data/build/nginx-1.20.2/[[email protected]]#lsautoCHANGESCHANGES.ruconfconfigurecontribhtmlLICENSEMakefilemanobjsREADMEsrc2.在nginx源码包中编辑此文件src/core/nginx.h修......
  • Nginx反向代理功能
    反向代理:reverseproxy,指的是代理外网用户的请求到内部的指定的服务器,并将数据返回给用户的一种方式,这是用的比较多的一种方式。Nginx除了可以在企业提供高性能的web服务之外,另外还可以将nginx本身不具备的请求通过某种预定义的协议转发至其它服务器处理,不同的协议就是N......
  • Nginx如何实现负载均衡发布策略?
    在Linux中,Nginx实现负载均衡发布策略主要依赖于其反向代理功能。Nginx作为高性能的开源web服务器和反向代理服务器,具有轻量级、高并发、低内存消耗等特点,被广泛用于搭建静态资源服务器、负载均衡、反向代理等场景。以下是Nginx实现负载均衡发布策略的详细过程:一、负载均衡基本概......
  • nginx 配置允许跨域
    当前端页面和后端应用的协议、IP、端口有任意一项不一样时,就会出现跨域问题,对于这种情况我们可以在后端应用前加一个nginx ,在server{location/{…}}中配置可以跨域完整配置文件如下:worker_processes1;events{worker_connections1024;}http{include......
  • liunx下安装Nginx
    Linux下nginx的安装以及环境配置https://blog.csdn.net/qq_42815754/article/details/82980326第一步:下载nginx压缩包在这里可以去nginx官网下载https://nginx.org/en/download.html也可以直接使用wget命令下载,指令如下所示(请根据自己的需求进行下载):建议选择官网发布的稳......
  • 2024.8.20(playbook剧本安装nginx、roles)
    一、playbook 剧本安装nginx[root@m0~]#mkdir/etc/ansible/playbook[root@m0~]#vim/etc/ansible/playbook/nginx.yml----hosts:group02remote_user:roottasks:-name:卸载httpdyum:......
  • Nginx
    在CentOS上部署Nginxyuminstall-ynginx详细命令:[root@CentOS7~]#yuminstallnginx-yLoadedplugins:fastestmirror,langpacksRepositoryepelislistedmorethanonceintheconfigurationRepositoryepel-debuginfoislistedmorethanonceintheconfigur......
  • Docker compose 部署前后端-----采用nginx代理,支持一个端口部署多个前端
    Dockercompose部署前后端-----采用nginx代理,支持一个端口部署多个前端1、Linux服务器安装最新版docker,确保有dockercompose命令2、创建docker工作区目录mkdirdocker-workspace3、进入docker工作区目录,创建前端nginx目录,创建后端xxx目录mkdirnginxxxx4、创建confi......