什麼是Nginx?爲何使用Nginx?

源自 https://blog.csdn.net/yougoule/article/details/78186138java

1、前言
      爲毛要用nginx服務器代理,不直接用tomcat 7.0,還作多了一次接請求?nginx

      這個是我想問的,公司的新項目是要用Nginx+tomcat7+jdk開發的,用戶命名能夠直接訪問tomcat,爲啥還要用Nginx?這貨是個啥玩意?web

2、爲何使用Nginx?
      在傳統的Web項目中,併發量小,用戶使用的少。因此在低併發的狀況下,用戶能夠直接訪問tomcat服務器,而後tomcat服務器返回消息給用戶。好比,咱們上傳圖片:apache

 

      固然咱們知道,爲了解決併發,可使用負載均衡:也就是咱們多增長几個tomcat服務器。當用戶訪問的時候,請求能夠提交到空閒的tomcat服務器上。django


      可是這種狀況下可能會有一種這樣的問題:上傳圖片操做。咱們把圖片上傳到了tomcat1上了,當咱們要訪問這個圖片的時候,tomcat1正好在工做,因此訪問的請求就交給其餘的tomcat操做,而tomcat之間的數據沒有進行同步,因此就發生了咱們要請求的圖片找不到。tomcat

      爲了解決這種狀況,咱們就想出了分佈式。咱們專門創建一個圖片服務器,用來存儲圖片。這樣當咱們都把圖片上傳的時候,不論是哪一個服務器接收到圖片,都把圖片上傳到圖片服務器。服務器

      圖片服務器上須要安裝一個http服務器,可使用tomcat、apache、nginx。併發


      看到這裏你們可能會問,既然咱們要選擇的是http服務器,爲何不繼續使用tomcat,而要使用Nginx?app

      緣由以下:nginx經常使用作靜態內容服務和代理服務器(不是你FQ那個代理),直面外來請求轉發給後面的應用服務(tomcat,django什麼的),tomcat更多用來作作一個應用容器,讓java web app跑在裏面的東西,對應同級別的有jboss,jetty等東西。負載均衡

      借鑑博客:

nginx和tomcat的區別
3、什麼是Nginx?
      根據前面的對比,咱們能夠了解到Nginx是一個http服務器。是一個使用c語言開發的高性能的http服務器及反向代理服務器。Nginx是一款高性能的http 服務器/反向代理服務器及電子郵件(IMAP/POP3)代理服務器。由俄羅斯的程序設計師Igor Sysoev所開發,官方測試nginx可以支支撐5萬併發連接,而且cpu、內存等資源消耗卻很是低,運行很是穩定。

3.1 Nginx的應用場景
      一、 http服務器。Nginx是一個http服務能夠獨立提供http服務。能夠作網頁靜態服務器。

      二、 虛擬主機。能夠實如今一臺服務器虛擬出多個網站。例如我的網站使用的虛擬主機。

基於端口的,不一樣的端口
基於域名的,不一樣域名
      三、 反向代理,負載均衡。當網站的訪問量達到必定程度後,單臺服務器不能知足用戶的請求時,須要用多臺服務器集羣可使用nginx作反向代理。而且多臺服務器能夠平均分擔負載,不會由於某臺服務器負載高宕機而某臺服務器閒置的狀況。

4、小結      經過了解Nginx也算是多了一門技術,並且仍是挺簡單的,使用也比較方便。重點是能夠給系統帶來很大的性能提高。--------------------- 做者:AresCarry-王雷 來源:CSDN 原文:https://blog.csdn.net/kisscatforever/article/details/73129270?utm_source=copy 版權聲明:本文爲博主原創文章,轉載請附上博文連接!

相關文章
相關標籤/搜索