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

一. 初步需求如下:

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. C#字符串拼接怎么转义背景图片

    C#字符串拼接怎么转义背景图片   StringBuilder sb = new StringBuilder(); sb.Append("<div style=\"backg ...

  2. oracle-替换 换行符和空格符

    --换行或空格: )), '') --换行及空格: update tableName set columnName= ), ), '')

  3. PHP实现http与https转化

    http://zyan.cc/post/142/ 最近在写PHP程序时,需要使浏览器在https和http之间转化,上网搜索相关信息,无奈只有最近在写PHP程序时,需要使浏览器在https和http之 ...

  4. .NET 4 新建 webform 项目编译不通过

    .NET 4 新建 webform 项目编译不通过,可能需要做如下改动. 一.根据编译错误,删除 packages.config 中相关包 二.安装包install-package Microsoft ...

  5. 不显示UITableView底部多余的分割线

    self.tableView.tableFooterView = [[UIView alloc] initWithFrame:CGRectZero];

  6. JSON的基本格式以及与JavaScript之间的转换

    JSON的基本格式以及与JavaScript之间的转换 近来,发现很多人写json格式的数据时,总是没有达到JSON的规范,虽然在语言要求不严格的情况下能够通过, 但是,难免会遇到这样那样的问题,到时 ...

  7. FileInputStream 与 BufferedInputStream 效率对比

    我的技术博客经常被流氓网站恶意爬取转载.请移步原文:http://www.cnblogs.com/hamhog/p/3550158.html ,享受整齐的排版.有效的链接.正确的代码缩进.更好的阅读体 ...

  8. JSONP(跨域请求) —— 一种非官方跨域数据交互协议

    1.JSONP的作用 由于同源策略的限制,XmlHttpRequest只允许请求当前源(域名.协议.端口)的资源,为 了实现跨域请求,可以通过script标签实现跨域请求,然后再服务器端输出JSON数 ...

  9. nodejs+socketio+redis实现前端消息实时推送

    1. 后端部分 发送redis消息 可以参考此篇实现(直接使用Jedis即可) http://www.cnblogs.com/binyue/p/4763352.html 2.后端部分: 接收redis ...

  10. MySQL查看和修改字符编码

    MySQL的默认编码是Latin1,不支持中文,要支持中午需要把数据库的默认编码修改为gbk或者utf8. 1.需要以root用户身份登陆才可以查看数据库编码方式(以root用户身份登陆的命令为:&g ...