Nginx的概念是什么

本篇內(nèi)容主要講解“Nginx的概念是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“Nginx的概念是什么”吧!

創(chuàng)新互聯(lián)專注于企業(yè)成都全網(wǎng)營銷、網(wǎng)站重做改版、長壽網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、html5、商城開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)營銷網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為長壽等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

1. Nginx的概念?

「什么是Nginx呢:」

  • Nginx是一個(gè)基于HTTP的反向代理服務(wù)器,也是一個(gè)基IMAP/POP3/SMTP服務(wù)郵件服務(wù)器

  • 反向代理服務(wù)器:現(xiàn)在我們A需要訪問的目標(biāo)B服務(wù)器的10.7.182.100,我要訪問這個(gè)B服務(wù)器上的資源,現(xiàn)在如果使用了Nginx之后,我可以通過Nginx服務(wù)器從而達(dá)到訪問10.7.182.100這個(gè)服務(wù)器的目的

  • IMAP/POP/SMTP:這三個(gè)是郵件的傳輸協(xié)議

  • 郵件服務(wù)器:發(fā)送郵件 接收郵件

  • Web服務(wù)器:本身是一個(gè)Web服務(wù)器的軟件,類似于Tomcat這種Web服務(wù)的軟件

「Nginx能干什么呢:」

  • 可以作為Web服務(wù)器

  • 可以作為郵件服務(wù)器

  • 可以作為反向代理的服務(wù)器

  • 動靜分離(就是將動態(tài)資源和靜態(tài)資源分隔開)

  • 可以實(shí)現(xiàn)負(fù)載均衡

2、Nginx的安裝

「Nginx安裝步驟:」

第一步:下載我們的nginx 這里以1.6.2版本為例  第二步:共享安裝文件到我們的linux上面  第三步:將文件拷貝到/usr/local下面  第四步:安裝 tar -zxvf xxxx.tar.gz  第五步:下載所需要的依賴庫 yum install pcre  yum install pcre-devel  yum install zlib   yum install zlib-devel  第六步:進(jìn)行config的配置 cd nginx-1.6.2 && ./configure --prefix=/usr/local/nginx  第七步:安裝  make && make install   第八步:啟動nginx  /usr/local/nginx/sbin/nginx  關(guān)閉: .... -s stop -s reload   查看端口是否有問題  netstat -tunpl |grep 80  瀏覽器進(jìn)行驗(yàn)證沒問題就可以

3、Nginx的配置文件的解析

「配置文件:」

#user  nobody; #工作的線程(4核8線程那么下面就設(shè)置成8 物理硬件有關(guān)) worker_processes  1;  #全局的錯誤日志存放的地方 #error_log  logs/error.log;  #全局錯誤日志存放的地方 后面的notice表示的是輸出錯誤日志的格式 #error_log  logs/error.log  notice; #error_log  logs/error.log  info;  #nginx進(jìn)程號存放的地方 #pid        logs/nginx.pid;   #最大的連接數(shù)(這個(gè)也跟硬件是有關(guān)系的) events {     worker_connections  1024; }   #下面就是跟HTTP請求有關(guān)系的了 http {     #表示的是當(dāng)前服務(wù)器支持的類型     include       mime.types;     #默認(rèn)傳輸?shù)臄?shù)據(jù)類型是流      default_type  application/octet-stream;      #聲明了一種日志格式 這種日志格式的名字叫做  main     log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '                       '$status $body_bytes_sent "$http_referer" '                       '"$http_user_agent" "$http_x_forwarded_for"';      #表示的是每一次請求的日志記錄 格式就是上面的main格式     access_log  logs/access.log  main;          #是否可以發(fā)送文件     sendfile        on;     #tcp_nopush     on;      #這個(gè)是雙活的超時(shí)的時(shí)間     #keepalive_timeout  0;     keepalive_timeout  65;      #是否打開文件的壓縮     #gzip  on;      #虛擬一個(gè)主機(jī)        #負(fù)載均衡的配置    upstream qianyu {       ip_hash;       server 10.7.182.110:8080;       server 10.7.182.87:8080;    }      #server {       # listen     90;       # server_name localhost;        # location / {       #    root qianyu;       #    index qianyu.html;       # }       #做一個(gè)反向代理       #表示的是 如果你訪問的后綴是 .jpg結(jié)尾的話那么 就訪問下面的另外的服務(wù)器        # location ~ \.jpg$ {        #     proxy_pass   http://10.7.182.110:8080;        # }        #下面要演示一個(gè)負(fù)載均衡的例子        #location ~ \.jpg$ {        #    proxy_pass   http://qianyu;        #}     #}     #虛擬一個(gè)動靜分離的機(jī)器    server {      listen     9999;      server_name localhost;            #表示的是動態(tài)資源訪問的機(jī)器        location / {             proxy_pass   http://10.7.182.54:8080;       }             #表示的是非  css和js文件訪問的地址     location ~ .*\.(htm|html|gif|jpg|jpeg|png|bmp|swf|ioc|rar|zip|txt|flv|mid|doc|ppt|pdf|xls|mp3|wma)$         {             root /usr/local/webapp;             expires 30d;         }       #表示的是css和js的訪問地址       location ~ .*\.(js|css)?$        {          root /usr/local/webapp;          expires 1h;        }    }      #虛擬了服務(wù)器     server {         #端口是  80         listen       80;         #這個(gè)表示的是虛擬服務(wù)器默認(rèn)訪問的是本機(jī)         server_name  localhost;         #這個(gè)是虛擬服務(wù)器的編碼         #charset koi8-r;         #當(dāng)前服務(wù)器的日志的存儲的地方         #access_log  logs/host.access.log  main;          #做了一個(gè)地址的映射         location / {             root   html;             index  index.html index.htm;         }                  #如果報(bào)404的時(shí)候訪問的頁面         #error_page  404              /404.html;          # redirect server error pages to the static page /50x.html         #報(bào)錯50開頭的是 就訪問50x.html         error_page   500 502 503 504  /50x.html;         #下面對50x.html又做了一個(gè)映射  就訪問根目錄下的html中的  50x.html         location = /50x.html {             root   html;         }          # proxy the PHP scripts to Apache listening on 127.0.0.1:80         #         #location ~ \.php$ {         #    proxy_pass   http://127.0.0.1;         #}          # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000         #         #location ~ \.php$ {         #    root           html;         #    fastcgi_pass   127.0.0.1:9000;         #    fastcgi_index  index.php;         #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;         #    include        fastcgi_params;         #}          # deny access to .htaccess files, if Apache's document root         # concurs with nginx's one         #         #location ~ /\.ht {         #    deny  all;         #}     }       # another virtual host using mix of IP-, name-, and port-based configuration     #     #server {     #    listen       8000;     #    listen       somename:8080;     #    server_name  somename  alias  another.alias;      #    location / {     #        root   html;     #        index  index.html index.htm;     #    }     #}       # HTTPS server     #     #server {     #    listen       443 ssl;     #    server_name  localhost;      #    ssl_certificate      cert.pem;     #    ssl_certificate_key  cert.key;      #    ssl_session_cache    shared:SSL:1m;     #    ssl_session_timeout  5m;      #    ssl_ciphers  HIGH:!aNULL:!MD5;     #    ssl_prefer_server_ciphers  on;      #    location / {     #        root   html;     #        index  index.html index.htm;     #    }     #}  }

4、實(shí)現(xiàn)Nginx下的反向代理

「做一個(gè)反向代理:」

表示的是如果你訪問的后綴是 .jpg結(jié)尾的話,那么就訪問下面的另外的服務(wù)器

location ~ \.jpg$ {             proxy_pass   http://10.7.182.110:8080;         }

5、實(shí)現(xiàn)Nginx下的負(fù)載均衡

「第一種策略:默認(rèn)是輪循的策略:」

配置upstream    upstream qianyu {       server 10.7.182.110:8080;       server 10.7.182.87:8080;    }    配置負(fù)載均衡    location ~ \.jpg$ {            proxy_pass   http://qianyu;    }

「第二種策略:權(quán)重(weight):」

#負(fù)載均衡的配置   upstream qianyu {      server 10.7.182.110:8080 weight=2;      server 10.7.182.87:8080 weight=1;   }  配置負(fù)載均衡      location ~ \.jpg$ {            proxy_pass   http://qianyu;      }

「第三種策略:IPHash的使用:」

 #負(fù)載均衡的配置    upstream qianyu {       ip_hash;       server 10.7.182.110:8080;       server 10.7.182.87:8080;    } 配置負(fù)載均衡     location ~ \.jpg$ {            proxy_pass   http://qianyu;     }

6、實(shí)現(xiàn)Nginx下的動靜分離

「動靜分離:」

  • 簡單的來說就是將動態(tài)資源和靜態(tài)資源給分隔開

  • 靜態(tài)資源放到Nginx服務(wù)器上

  • 動態(tài)資源放到Tomcat服務(wù)器上

Jpg   html   css    png   gif    ....靜態(tài)資源  ---->放到Nginx服務(wù)器上 .action結(jié)尾的都是動態(tài)的資源     ------------------------->放到Tomcat的服務(wù)器上

「動靜分離的實(shí)現(xiàn):」

  • 在/usr/local目錄下創(chuàng)建webapp文件夾

  • 在webapp目錄下創(chuàng)建css、html、js、img文件夾

  • 編寫HTML的內(nèi)容并將html文件放到webapp目錄下

  1. <!DOCTYPE html> 

  2. <html> 

  3.  <head> 

  4.   <meta charset="utf-8" /> 

  5.   <title></title> 

  6.   <link rel="stylesheet" type="text/css" href="/css/main.css"/> 

  7.   <script src="/js/main.js" type="text/javascript" charset="utf-8"></script> 

  8.  </head> 

  9.  <body> 

  10.   <img src="/img/bbb.jpg"/> 

  11.   <br /> 

  12.   <a href="/Dynamic_Resource/qianyu.action">點(diǎn)擊我訪問動態(tài)資源</a> 

  13.   

  14.  </body> 

  15. </html> 


  • 將圖片放到img目錄下,將css放到css目錄下,將js文件放到j(luò)s的目錄下

  • 編寫動態(tài)資源的這個(gè)工程

package com.qy.servlet;  import java.io.IOException; import java.io.PrintWriter;  import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;  public class qianyuServlet extends HttpServlet {   public void doGet(HttpServletRequest request, HttpServletResponse response)    throws ServletException, IOException {             this.doPost(request, response);  }   public void doPost(HttpServletRequest request, HttpServletResponse response)    throws ServletException, IOException {    response.setContentType("text/html;charset=utf-8");   PrintWriter writer=response.getWriter();   writer.write("this is dynamic resource test");   writer.flush();   writer.close();   } }
  • 編寫配置文件    /conf/nginx.xml文件

#虛擬一個(gè)動靜分離的機(jī)器    server {      listen     9999;      server_name localhost;       #表示的是動態(tài)資源訪問的機(jī)器        location / {             proxy_pass   http://10.7.182.54:8080;       }     #表示的是非  css和js文件訪問的地址     location ~ .*\.(htm|html|gif|jpg|jpeg|png|bmp|swf|ioc|rar|zip|txt|flv|mid|doc|ppt|pdf|xls|mp3|wma)$         {             root /usr/local/webapp;             expires 30d;         }       #表示的是css和js的訪問地址       location ~ .*\.(js|css)?$   {          root /usr/local/webapp;          expires 1h;
  • 測試

7、虛擬主機(jī)

「虛擬主機(jī)配置:」

server {        listen     90;        server_name localhost;        location / {           root qianyu;           index qianyu.html;        }       #做一個(gè)反向代理       #表示的是 如果你訪問的后綴是 .jpg結(jié)尾的話那么 就訪問下面的另外的服務(wù)器         location ~ \.jpg$ {             proxy_pass   http://10.7.182.110:8080;         } }

到此,相信大家對“Nginx的概念是什么”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

分享名稱:Nginx的概念是什么
網(wǎng)站網(wǎng)址:http://muchs.cn/article46/ghsshg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、網(wǎng)頁設(shè)計(jì)公司、網(wǎng)站導(dǎo)航、標(biāo)簽優(yōu)化、云服務(wù)器

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化