Nginx之4包罗万象 - (虚拟主机)

简介: Nginx入门到深入之虚拟主机

虚拟主机

目前除了大型网站是独占ECS之外(其实多数企业已微服务容器化、Serverless等..)为了提高服务器的利用率,都会在一台服务器上运行多个项目,但项目如何配置在Nginx上面可以同时运行呢? 以下分享如何实现这个功能。

功能配置

为了演示,提前将修改域名的解析记录到ECS上。
image
然后在/data/webroot/project1 & project2 分别建立一个默认页

mkdir -p /data/webroot/project1
mkdir -p /data/webroot/project2
echo "HelloWorld! This is Project1" > /data/webroot/project1/index.html
echo "HelloWorld! This is Project2" > /data/webroot/project2/index.html

不同端口,区分不同项目(经常用)

server {
    listen 8081;
    server_name project.yekangming.com;
    location / {
        root /data/webroot/project1;
        index index.html;
    }
}

server {
    listen 8082;
    server_name project.yekangming.com;
    location / {
        root /data/webroot/project2;
        index index.html;
    }
}

访问效果
image
image

不同域名,区分不同项目(经常用)

server {
    listen 80;
    server_name project1.yekangming.com;
    location / {
        root /data/webroot/project1;
        index index.html;
    }
}

server {
    listen 80;
    server_name project2.yekangming.com;
    location / {
        root /data/webroot/project2;
        index index.html;
    }
}

访问效果
image
image

不同IP,区分不同项目(很少用)

server {
    listen 172.16.49.101:80;
    server_name localhost;
    location / {
        root /data/webroot/project1;
        index index.html;
    }
}

server {
    listen 172.16.49.102:80;
    server_name localhost;
    location / {
        root /data/webroot/project2;
        index index.html;
    }
}

不同路径,区分不同项目(很少用)

server {
    listen 80;
    server_name project.yekangming.com;
    location /project1 {
        root /data/webroot/project1;
        index index.html;
    }
    location /project2 {
        root /data/webroot/project2;
        index index.html;
    }
}

配置详解

listen; #监听的端口,默认监听本地全部IP地址
server_name;#监听的域名
location; #请求的URI匹配,默认是/
root;#本地文件系统的路径
index; #默认页名称

小技巧

在维护多虚拟主机的配置时,不会将全部的站点写入同一个配置文件中,因为代码量太长维护性及可读性太差。一般会使用includebo包含另外一个配置文件夹专门用于存放虚拟主机站点的配置。配置方法很简单,在http段中加入include /usr/local/nginx/conf/extra/*.conf; 在Nginx重启时会读取这个文件夹中.conf为后缀名的配置文件。每一个站点单独维护一个配置文件,对Nginx配置出错时可以很快排查到哪一个站点哪一个配置的问题。而且对于脚本去生成配置到文件夹中很简便。

目录
相关文章
|
搜索推荐 架构师 应用服务中间件
Nginx极简入门(三)基于端口的虚拟主机配置
前面讲了如何配置基于IP的虚拟主机,今天讲一讲Nginx如何基于端口的虚拟主机。 需要说明的是:由于本文章是nginx系列文章中的一篇,文章里面很多其他的配置,可能前面的文章已经说讲过,然后后续就没有在介绍,如果出现有些配置没有讲,大家可能需要去看看前面的文章。
Nginx极简入门(三)基于端口的虚拟主机配置
|
2月前
|
应用服务中间件 nginx
Nginx——虚拟主机简介
Nginx——虚拟主机简介
34 0
|
11月前
|
搜索推荐 应用服务中间件 nginx
Nginx系列教程(05) - 虚拟主机配置
Nginx系列教程(05) - 虚拟主机配置
434 0
|
5月前
|
域名解析 Ubuntu 应用服务中间件
Nginx实现虚拟主机
Nginx实现虚拟主机
|
5月前
|
运维 应用服务中间件 Shell
Nginx安装与虚拟主机配置shell脚本
Nginx安装与虚拟主机配置shell脚本
49 0
|
12月前
|
搜索推荐 应用服务中间件 nginx
67分布式电商项目 - nginx基于端口配置虚拟主机
67分布式电商项目 - nginx基于端口配置虚拟主机
49 0
|
12月前
|
应用服务中间件 nginx Windows
66分布式电商项目 - nginx基于域名配置虚拟主机
66分布式电商项目 - nginx基于域名配置虚拟主机
85 0
|
12月前
|
应用服务中间件 nginx
65分布式电商项目 - nginx配置虚拟主机概述
65分布式电商项目 - nginx配置虚拟主机概述
63 0
|
监控 网络协议 应用服务中间件
nginx--虚拟主机 server、状态模式
nginx--虚拟主机 server、状态模式
nginx--虚拟主机 server、状态模式
|
应用服务中间件 nginx
Nginx基于域名\端口的虚拟主机
Nginx基于域名\端口的虚拟主机