一、前言

为毛要用nginx服务器代理,不直接用tomcat 7.0,还做多了一次接请求?

这个是我想问的,公司的新项目是要用Nginx+tomcat7+jdk开发的,用户命名可以直接访问tomcat,为啥还要用Nginx?这货是个啥玩意?

二、为什么使用Nginx?

在传统的Web项目中,并发量小,用户使用的少。所以在低并发的情况下,用户可以直接访问tomcat服务器,然后tomcat服务器返回消息给用户。比如,我们上传图片:

当然我们知道,为了解决并发,可以使用负载均衡:也就是我们多增加几个tomcat服务器。当用户访问的时候,请求可以提交到空闲的tomcat服务器上。

但是这种情况下可能会有一种这样的问题:上传图片操作。我们把图片上传到了tomcat1上了,当我们要访问这个图片的时候,tomcat1正好在工作,所以访问的请求就交给其他的tomcat操作,而tomcat之间的数据没有进行同步,所以就发生了我们要请求的图片找不到。

为了解决这种情况,我们就想出了分布式。我们专门建立一个图片服务器,用来存储图片。这样当我们都把图片上传的时候,不管是哪个服务器接收到图片,都把图片上传到图片服务器。

图片服务器上需要安装一个http服务器,可以使用tomcat、apache、nginx。

看到这里大家可能会问,既然我们要选择的是http服务器,为什么不继续使用tomcat,而要使用Nginx?

原因如下:nginx常用做静态内容服务和代理服务器(不是你FQ那个代理),直面外来请求转发给后面的应用服务(tomcat,django什么的),tomcat更多用来做做一个应用容器,让java web app跑在里面的东西,对应同级别的有jboss,jetty等东西。

三、什么是Nginx?

根据前面的对比,我们可以了解到Nginx是一个http服务器。是一个使用c语言开发的高性能的http服务器及反向代理服务器。Nginx是一款高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。由俄罗斯的程序设计师Igor Sysoev所开发,官方测试nginx能够支支撑5万并发链接,并且cpu、内存等资源消耗却非常低,运行非常稳定。

3.1 Nginx的应用场景

1、 http服务器。Nginx是一个http服务可以独立提供http服务。可以做网页静态服务器。

2、 虚拟主机。可以实现在一台服务器虚拟出多个网站。例如个人网站使用的虚拟主机。

  • 基于端口的,不同的端口
  • 基于域名的,不同域名

3、 反向代理,负载均衡。当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群可以使用nginx做反向代理。并且多台服务器可以平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况。

四、小结

通过了解Nginx也算是多了一门技术,而且还是挺简单的,使用也比较方便。重点是可以给系统带来很大的性能提升。

为什么使用Nginx相关推荐

  1. nginx配置http、https访问,nginx指定ssl证书,阿里云腾讯云华为云设置nginx https安全访问

    nginx配置http.https访问 要设置https访问需要从对应的云厂商申请证书,并下载Nginx证书到服务器. 我这里从阿里云申请了免费的域名证书,然后将证书放置在服务器的/etc/ssl/. ...

  2. Web项目使用nginx实现代理端口访问,看这篇就够了

    在搭建服务器的时候,项目部署在tomcat上,要访问项目,则需要加上端口号,如何隐藏端口号来访问呢,这就用到了nginx. nginx可以在docker上安装,也可以在linux上安装,这里我建议使用 ...

  3. nginx介绍及常用功能

    什么是nginx nginx跟Apache一样,是一个web服务器(网站服务器),通过HTTP协议提供各种网络服务. Apache:重量级的,不支持高并发的服务器.在Apache上运行数以万计的并发访 ...

  4. Nginx搭建负载均衡集群

    (1).实验环境 youxi1 192.168.5.101 负载均衡器 youxi2 192.168.5.102 主机1 youxi3 192.168.5.103 主机2 (2).Nginx负载均衡策 ...

  5. 快速通过nginx配置域名访问

    配置nginx进行域名访问文件 在nginx安装目录下的conf目录下新建一个配置文件,比如你新加的域名为admin.hello.com,你希望通过这个域名访问admin项目,那么新建一个admin. ...

  6. Docker学习(七)-----Docker安装nginx

    基本安装 1. 拉取Nginx镜像 docker pull nginx:latest 2. 查看本地镜像列表(即可看到nginx) docker images 3. 运行容器 docker run - ...

  7. 使用阿里云服务器安装docker,并用nginx示例

    一.前言 之前对docker了解不多,自从使用了一次之后,就感觉这个产品对开发者实在是太友好了,可以迅速在Linux,window等平台部署服务.常见的有数据库,nginx,消息队列,redis等.利 ...

  8. Centos7.4安装Nginx

    Centos7.4安装Nginx 使用yum命令 一.安装准备 首先由于nginx的一些模块依赖一些lib库,所以在安装nginx之前,必须先安装这些lib库,这些依赖库主要有g++.gcc.open ...

  9. nginx将泛解析的匹配域名绑定到子目录配置方法

    应用场景: http://zzl.lteam.cn/ 访问/usr/local/boke/lteam.cn/zzl 目录下的 index.html http://lj.lteam.cn/ 访问/usr ...

  10. ubuntu搭建nginx环境

    1.首先给服务器上配置好JDK环境,之前有说过,在这就不多说了.本人安装的是JDK1.6. 2. 准备好2个TOMCAT,上传到服务器上.修改tomcat端口,所有端口必须不一致.本次演示用tomca ...

最新文章

  1. 第80节:Java中的MVC设计模式
  2. leetcode 46 全排列
  3. 经信局推荐 | 网易智慧企业多产品入选《杭州市支持企业远程办公助力复工防疫产品和服务目录》!...
  4. c和python的区别动图_C语言与Python 对程序员的差别到底在哪?
  5. 最新天猫面试题(含总结):线程池+并发编程+分布式设计+中间件
  6. 第四周Java学习总结
  7. Thrift 的原理和使用
  8. 华为Esight安装包
  9. Mysql数据库死锁实战-锁的基础知识
  10. 智能化的Conversational UI是移动发展的一个趋势
  11. WPF中播放GIF图片
  12. eclipse 打包springcloud 项目出错怎么解决
  13. bernoulli_Python-Bernoulli发行
  14. php实现图片的翻滚,css实现图片滚动 - 我是希希呀的个人空间 - OSCHINA - 中文开源技术交流社区...
  15. spark java文档中文版_Spark3.0中文官网文档
  16. 简述使用混合传递参数时的基本原则_工程机械考试题库
  17. linux最少需要几个分区,安装Linux最少需要两个分区,分别是
  18. Cleave.js – 自动格式化表单输入框的文本内容
  19. 小白学雷达系列之脉冲雷达基本组成(一)
  20. 50年前的程序员女神,用代码把人类送上月球

热门文章

  1. 无线智能门锁到底有没有必要联网?
  2. (附源码)ssm基于jsp的网上购物系统 毕业设计190917
  3. “这跟香蕉吃不吃?别墨迹!”来自密码极客的无奈与怒吼…
  4. 读书笔记//《数据分析:企业的贤内助》
  5. css中什么是伪类选择器?伪类选择器的简介
  6. 老毛桃安装windows10 64位系统 总结
  7. 程序员接私活经验总结【摘自csdn论坛语录】
  8. c++图形界面开发中,Qt和MFC谁更胜一筹?
  9. 不为彼岸,只为大海-----海贼王
  10. 每日一题---比赛安排---模拟