JAVA和Nginx 教程大全

网站首页 > 精选教程 正文

Nginx之4包罗万象 - (虚拟主机) nginx虚拟主机是什么

wys521 2024-10-06 00:14:09 精选教程 23 ℃ 0 评论

虚拟主机

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

功能配置

为了演示,提前将修改域名的解析记录到ECS上。

然后在/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;
    }
}

访问效果

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

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;
    }
}

访问效果

不同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配置出错时可以很快排查到哪一个站点哪一个配置的问题。而且对于脚本去生成配置到文件夹中很简便。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表