近日朋友要我帮他调服务器,

一. 初步需求如下:

1. 一台服务器下要放三个应用,对应三个域名:www.aaa.com,www.bbb.com,www.ccc.com.

2. 其中后两个应用也要可以用bbb.com和ccc.com来访问

我的解决方案:

1. 分别配置三个tomcat实例对应三个应用

2. 配置nginx对应三个域名

本文详细说下第二步

1.在nginx/conf下新建一个文件夹domains

2. 建立三个文件www.aaa.com,www.bbb.com,www.ccc.com

以www.bbb.com为例,打开该文件并键入:

upstream tomcat_www.bbb.com {
#对应的tomcat实例的端口和ip
server 127.0.0.1: weight= max_fails= fail_timeout=30s;
}
server
{
listen ;
#server_name 三个应用各自填写自己的域名
server_name www.bbb.com;
index index.html index.htm index.jsp;
access_log /usr/nginx/logs/www.bbb.com/www.bbb.com_access.log main;
error_log /usr/nginx/logs/www.bbb.com/www.bbb.com_error.log warn;
# chunkin on;
error_page = @my_error;
location @my_error {
# chunkin_resume;
}
#关键,此处指定应用存放的路径
root /export/data/tomcatRoot/www.bbb.com/;
location / {
proxy_next_upstream http_500 http_502 http_503 http_504 error timeout invalid_header;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#此处和upstream后面的文本保持一致,否则无法实现效果
proxy_pass http://tomcat_www.bbb.com;
expires 1d;
}
location /logs/ {
autoindex off;
deny all;
}
} #以上是配置应用对应各自域名的
#下面是配置不带www的域名加301跳转

server
{

listen 80;

#此处的参数要去掉www

server_name bbb.com;

index index.html index.htm index.jsp;

access_log /usr/nginx/logs/www.bbb.com/www.bbb.com_access.log main;

error_log /usr/nginx/logs/www.bbb.com/www.bbb.com_error.log warn;

# chunkin on;

error_page 411 = @my_error;

location @my_error {

# chunkin_resume;

}

#配置url重写

rewrite ^/(.*) http://www.bbb.com/$1 permanent;

location / {

proxy_next_upstream http_500 http_502 http_503 http_504 error timeout invalid_header;

proxy_set_header Host $host;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_pass http://tomcat_www.bbb.com ;

expires 1d;

}

location /logs/ {

autoindex off;

deny all;

}

}


按照此例,分别建立好另外两个应用,保存即可。

服务器部署_linuix下 一台nginx 多域名的更多相关文章

  1. 服务器部署_linuix下 一台nginx 多域名之二

    第二个需求: 1. 一台服务器部署了三个应用web1~web3对应三个域名:www.web1.com.www.web2.com.www.web3.com ,方法参照我另外一篇文章 2. 如果用非www ...

  2. 同一个服务器部署两个Tomcat并用Nginx实现反向代理

    需求场景:由于服务器只有80端口可供外网访问,但需要部署两台tomcat来运行两个不同的项目,所以选择了nginx做反向代理 一个upstream tomcat_server对应一个  locatio ...

  3. 服务器部署_linux下部署jprofiler简单备忘

    1.windows安装jprofiler 2.linux下安装jprofiler服务端,记好安装路径.假设是安装在/ex/bin/下 3. 配置tomcat的启动sh文件,在后面加入以下参数:  -a ...

  4. 详解Nginx + Tomcat 反向代理 如何在高效的在一台服务器部署多个站点

    转自:http://www.jb51.net/article/100111.htm 首先我们需要安装好Nginx.jdk.Tomcat,安装方法已经在 上一篇 说过了,本篇不再赘述. 下来看一下我们的 ...

  5. Nginx + Tomcat 反向代理 如何在高效的在一台服务器部署多个站点

    上一篇分享了 Nginx + Tomcat 反向代理 负载均衡 集群 部署指南,感觉还是相当实用型的,但是一般集群部署是基于大访问量的,可能有的企业用不到,类似一些企业官网,访问量并不是很大,基于这个 ...

  6. 【云服务器部署】---Linux下安装nginx

    [云服务器部署]---Linux下安装nginx 之前两篇,分别讲了:Linux下安装MySQL  和  springboot项目部署云服务器 nginx安装也是挺简单的.具体步骤如下: 第一步,下载 ...

  7. 一台nginx服务器多域名配置 (转)

    Nginx强大的正则表达式支持,可以使server_name的配置变得很灵活,如果你要做多用户博客,那么每个用户拥有自己的二级域名也就很容易实现了. 下面我就来说说server_name的使用吧: s ...

  8. linux服务器部署tomcat和Nginx

    项目需要,申请了三台测试机器,好在测试机里面光秃秃的什么都没有,我就可以好好的学习一把玩一把了!接下来以图文的形式讲一下我所碰到的坑以及小小的收获吧! 一.准备工作 首先你得有一台可以玩的linux服 ...

  9. python web开发c6——阿里云上ubuntu+flask+gunicorn+nginx服务器部署(一)简单测试

    简述 Nginx在服务器部署中的作用 请求通过Nginx实现反向代理,将请求提交给代理服务器.本文中只用了一台服务器,所以是代理到本机. gunicorn的作用 作为服务器代码的容器.接收Nginx的 ...

随机推荐

  1. Map集合的两种遍历方式

    Map集合:即 接口Map<K,V> map集合的两种取出方式:    1.Set<k> keyset: 将map中所有的键存入到set集合(即将所有的key值存入到set中) ...

  2. 使用WCF和WEBService出现配置的问题

    错误代码:system.serviceModel/bindings/customBinding 处的绑定没有名称为"SMSServiceServiceSoapBinding"的已配 ...

  3. Rabbit MQ安装配置及常见问题

    Window安装 1:RabbitMQ安装 1.1:安装Erlang:http://www.erlang.org/ 1.2:安装RabbitMQ:http://www.rabbitmq.com/dow ...

  4. 在知乎回答的一个问题:C#初学者以后往WP开发走,还是往unity3d走?哪个更有前景呢

    问题原文:我是一个C#初学者,想问个问题,我以后是该往WP开发方向走呢还是学习Unity3D往游戏开发,哪个更有前景呢,个人感觉未来几年iOS,WP,Java会三足鼎立,WP现在有潜力,但是U3D现在 ...

  5. 20160507-hibernate入门

    关联映射 多对一(Employee - Department) 一对多(Department-Employee) 一对一(Person - IDCard) 多对多(teacher - student) ...

  6. sqlserver 变量

    变量:分为全局变量和局部变量全部变量:以@@声明,为系统变量,所有实例都能访问,用户只能访问,不能赋值局部变量:生命周期只在一个批处理内有效, 局部变量经常使用的三种用途:1 在循环语句中记录循环的次 ...

  7. MFC程序实现窗口分割,视图快捷插入控件和插入列表

    将视图中插入列表: 1.创建一个MFC应用程序,在MFC Wizard中,生成的类选项,如图 2.选择CListView作为基类 3.在CXXView.cpp(XX为你的程序名)重写虚函数OnInit ...

  8. iOS block的使用

    明明知道block是一个很重要的知识点,很久不用就又忘了,这是在网上看到的一个例子.(晚上回去整理另外的一个) 在视图A上有一个按钮(用来在点击的时候推出视图b)和一个label(用来显示从b传回来的 ...

  9. C#中常用修饰符

    1.存取修饰符 public:(公有的)存取不受限制 protected:(受保护的)只有包含该成员的类以及派生类可以存取  private:(私有的)只有包含该成员的类可以使用 2.类修饰符 abs ...

  10. OC2_数组操作

    // // main.m // OC2_数组操作 // // Created by zhangxueming on 15/6/11. // Copyright (c) 2015年 zhangxuemi ...