Ubuntu Linux 中虚拟主机的配置 - 搭配 Nginx

原创 2018年04月16日 12:54:09

虚拟主机,正如其名,就是将一台服务器划分为多个虚拟的主机,可以将每个域名分配给不同的虚拟主机,这样可以充分利用了域名资源和硬件资源。这次我们采用 Nginx 实现虚拟主机的配置。

Nginx 是一款 free、开源的高性能 HTTP 服务器和反向代理服务器,同时可用作 IMAP、POP3、SMTP 服务器,它经常被用作 HTTP 服务器进行 Web 应用的部署使用,另外,Nginx 还经常以反向代理服务器的身份实现负载均衡。

使用 Nginx 配置虚拟主机只需编辑 Nginx 安装目录下 conf/nginx.conf 即可,增加一个虚拟主机只需要在配置文件中添加一个 server 节点,就像这样:

server {
    listen 80;
    server_name test1.example.com;

    location / {
        index index.html;
        root /home/www/test1/;
    }
}

server {
    listen 80;
    server_name test2.example.com;

    location / {
        index index.html;
        root /home/www/test2/;
    }
}

listen 为监听的端口,本例中监听 80 端口
server_name 即指定的虚拟主机名
location 只 Nginx 代理的相对 URL 范围
index 指主页的文件名
root 为网站根目录在系统中的实际位置

location / 表示匹配这个主机名下的所有请求,server_name 的值可以为 *.example.com 这种形式,即匹配所有以 example.com 结尾的主机名,亦或 test.*,即所有以 test 开头的主机名,还可以用正则表达式的形式,比如 ~^test\d+\.example\.com$,如果使用正则表达式,最前面要加上 ~ 这个符号。

以上两个虚拟主机实现了将对不同主机名的请求指向不同的物理目录,下面介绍如何用虚拟主机实现区分端口,即将不同主机名的请求分发到不同端口上

和上面的配置写法类似:

server {
    listen 80;
    server_name demo1.example.com;

    location / {
        proxy_pass http://127.0.0.1:8080;
    }
}

server {
    listen 80;
    server_name demo2.example.com;

    location / {
        proxy_pass http://127.0.0.1:8081;
    }
}

proxy_pass 表示将请求转发到某个 URL,这样便可以实现虚拟主机名和端口的映射了。如果采用一台物理机部署多个 Tocmat 服务实例则可以采用这种方式,这样就避免了暴露多个端口的问题。

个人博客同步更新,获取更多技术分享请关注:郑保乐的博客

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zbl1146556298/article/details/79959173

linux下nginx虚拟主机配置

在nginx文件下建立查看fcgi.conf,如果不存在则建立。内容如下fastcgi_param GATEWAY_INTERFACE CGI/1.1; fastcgi_param SERVER...
  • u014567183
  • u014567183
  • 2016-07-04 12:01:57
  • 630

linux(centos)下nginx虚拟主机的配置

在看下面的内容之前,如果你的nginx还没有安装,可以参照这篇文章——nginx的安装来完成nginx的安装,我的Nginx的安装目录是/usr/local/nginx。下面就开始说如何配置nginx...
  • gaolicsdn
  • gaolicsdn
  • 2016-12-11 09:11:11
  • 1760

Ubuntu nginx配置虚拟主机

1、配置域名并映射IPvim /etc/hosts#添加 172.0.0.1 www.gongsc.com2、配置虚拟主机# 创建 server 虚拟主机配置文件 sudo vim /etc/n...
  • MrGong_
  • MrGong_
  • 2017-09-04 21:41:32
  • 234

nginx 多域名虚拟主机配置 (nginx如何绑定多个域名)

nginx绑定多个域名可又把多个域名规则写一个配置文件里,也可又分别建立多个域名配置文件,我一般为了管理方便,每个域名建一个文件,有些同类域名也可又写在一个总的配置文件里。  一、每个域名一个文件的...
  • Baple
  • Baple
  • 2015-03-11 11:17:04
  • 13253

Ubuntu16.04 + Nginx 配置虚拟主机

操作条件:安装 ubuntu 和 nginxStep 1Create Project# 在 /var/www/ 目录下创建一个项目目录,并编辑一个子目录 html 文件 sudo mkdir -p /...
  • Forrest_Gao
  • Forrest_Gao
  • 2017-07-06 11:03:51
  • 2196

Ubuntu之nginx配置虚拟主机vhost

首先谈一点自己的理解 所谓虚拟主机,是说通过几个不同的url地址,都能到达nginx环境,只不过针对不同的url,处理的逻辑不同。 nginx支持虚拟主机,但是浏览器等客户端不知道,所以虚...
  • stwstw0123
  • stwstw0123
  • 2015-07-29 09:27:10
  • 4371

ubuntu16.04 nginx1.10.3 配置虚拟主机

之前我是用apache做服务器,现在回想起来apache配置,只能记得大概,现在学习nginx,希望可以把它记下来,以后翻阅的时候也看回这篇小记录可以立马记得操作,不想apache一样只记得一丢丢...
  • sinat_21050687
  • sinat_21050687
  • 2017-12-13 22:39:06
  • 332

基于域名的虚拟主机配置(Nginx在 Linux下配置)

利用工具绑定域名: 需求: 两个域名指向同一台nginx服务器,用户访问不同的域名显示不同的网页内容 两个域名是www.nginx1.com和www.nginx2.com nginx服务器使用...
  • Mr_LeeHY
  • Mr_LeeHY
  • 2017-04-17 21:45:05
  • 1354

Linux 系列(六)——Nginx实现多虚拟主机配置

一、Nginx的应用概述 Nginx作为一款高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。主要有以下3方面的应用: 1、http服务器 Nginx是一个http服...
  • Daybreak1209
  • Daybreak1209
  • 2016-05-31 21:15:16
  • 7051

nginx中配置多个虚拟主机实例

server            {              listen  80;               server_name     dodadm113.sky5.com;  ...
  • will5451
  • will5451
  • 2016-09-07 16:17:52
  • 1279
收藏助手
不良信息举报
您举报文章:Ubuntu Linux 中虚拟主机的配置 - 搭配 Nginx
举报原因:
原因补充:

(最多只允许输入30个字)