zoukankan      html  css  js  c++  java
  • Nginx虚拟主机

    什么是虚拟主机


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

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

    • 基于IP的虚拟主机
    • 基于域名的虚拟主机
    • 基于端口的虚拟主机

    Nginx 配置文件的结构


    # ...
    events {
    	# ...
    }
    
    http {
    	# ...
    	server{
    		# ...
    	}
    	
    	# ...
    	server{
    		# ...
    	}
    }
    

    注: 每个 server 就是一个虚拟主机

    基于端口的虚拟主机配置


    需求


    • Nginx对外提供80和8080两个端口监听服务
    • 请求80端口则请求html80目录下的html
    • 请求8080端口则请求html8080目录下的html

    创建目录及文件


    在 /usr/local/docker/nginx/wwwroot 目录下创建 html80 和 html8080 两个目录,并分辨创建两个 index.html 文件

    配置虚拟主机


    修改 /usr/local/docker/nginx/conf 目录下的 nginx.conf 配置文件

    worker_processes  1;
    
    events {
        worker_connections  1024;
    }
    
    http {
        include       mime.types;
        default_type  application/octet-stream;
    
        sendfile        on;
        
        keepalive_timeout  65;
        # 配置虚拟主机 192.168.75.145
        server {
    	# 监听的ip和端口,配置 192.168.75.145:80
            listen       80;
    	# 虚拟主机名称这里配置ip地址
            server_name  192.168.75.145;
    	# 所有的请求都以 / 开始,所有的请求都可以匹配此 location
            location / {
    	    # 使用 root 指令指定虚拟主机目录即网页存放目录
    	    # 比如访问 http://ip/index.html 将找到 /usr/local/docker/nginx/wwwroot/html80/index.html
    	    # 比如访问 http://ip/item/index.html 将找到 /usr/local/docker/nginx/wwwroot/html80/item/index.html
    
                root   /usr/share/nginx/wwwroot/html80;
    	    # 指定欢迎页面,按从左到右顺序查找
                index  index.html index.htm;
            }
    
        }
        # 配置虚拟主机 192.168.75.245
        server {
            listen       8080;
            server_name  192.168.75.145;
    
            location / {
                root   /usr/share/nginx/wwwroot/html8080;
                index  index.html index.htm;
            }
        }
    }
    

    基于域名的虚拟主机配置


    需求


    • 两个域名指向同一台Nginx服务器,用户访问不同的域名显示不同的网页内容
    • 两个域名是admin.servicer.com和admin.test.com
    • Nginx服务器使用的虚拟机是192.168.1.22

    配置Windows Hosts文件


    • 通过host文件指定admini.service.com和admin.test.com对应192.168.1.22
    • 修改window的hosts文件 (c:windowSystem32driversetc)

    创建目录及文件


    在 /usr/local/docker/nginx/wwwroot 目录下创建 htmlservice 和 htmlweb 两个目录,并分别创建两个 index.html 文件

    配置虚拟主机

    user  nginx;
    worker_processes  1;
    
    events {
        worker_connections  1024;
    }
    
    http {
        include       mime.types;
        default_type  application/octet-stream;
    
        sendfile        on;
    
        keepalive_timeout  65;
        server {
            listen       80;
            server_name  admin.service.itoken.funtl.com;
            location / {
                root   /usr/share/nginx/wwwroot/htmlservice;
                index  index.html index.htm;
            }
    
        }
    
        server {
            listen       80;
            server_name  admin.web.itoken.funtl.com;
    
            location / {
                root   /usr/share/nginx/wwwroot/htmlweb;
                index  index.html index.htm;
            }
        }
    }
    
  • 相关阅读:
    SQL语句常见优化方法
    MySql索引
    Zookeeper学习记录(一):设计与实现
    linux下修改防火墙端口对外开放方法
    Kafka的Producer以及Consumer远程调用问题
    kafka与Spring的集成
    Kafka在Linux环境下搭建过程
    kafka-分布式消息系统
    打字母的游戏&Java入门
    SVN流程图协作图
  • 原文地址:https://www.cnblogs.com/yjp372928571/p/12759344.html
Copyright © 2011-2022 走看看