Linux系列 初識ngnix——ngnix安裝及配置表內容詳解、讓nginx支持並顯示國家及其城市

Nginx(engine x)是一個高性能的HTTP和反向代理服務器,也是一個IMAP/POP3/SMTP服務器。php

功能:html

1.高性能的HTTP Server,解決c10k的問題前端

2.高性能的反向代理服務器,給網站加速nginx

3.作爲LB集羣的前端一個負載均衡器web

nginx的優點  IO多路複用vim

理論:後端

1.最傳統的多進程併發模型 (每進來一個新的I/O流會分配一個新的進程管理。)服務器

2.I/O多路複用 (單個線程,經過記錄跟蹤每一個I/O流(sock)的狀態,來同時管理多個I/O流 。)發明它的緣由,是儘可能多的提升服務器的吞吐能力。在同一個線程裏面, 經過撥開關的方式,來同時傳輸多個I/O流。併發

技術:負載均衡

spoll——特色:異步、非阻塞

$ pstree |grep nginx

|-+= 81666 root nginx: master process nginx

| |--- 82500 nobody nginx: worker process

| \--- 82501 nobody nginx: worker process

1個master進程,2個work進程

每進來一個request,會有一個worker進程去處理。但不是全程的處理,處理到什麼程度呢?處理到可能發生阻塞的地方,好比向上遊(後端)服務器轉發request,並等待請求返回。那麼,這個處理的worker不會這麼一直等着,他會在發送完請求後,註冊一個事件:「若是upstream返回了,告訴我一聲,我再接着幹」。因而他就休息去了。這就是異步。此時,若是再有request 進來,他就能夠很快再按這種

方式處理。這就是非阻塞和IO多路複用。而一旦上游服務器返回了,就會觸發這個事件,worker纔會來接手,這個request纔會接着往下走。這就是異步回調。

nginx 部署 yum 

阿里雲的epel源  或者  去官方:http://www.nginx.org

Mainline version: 主線版,即開發版

Stable version: 最新穩定版,生產環境上建議使用的版本

Legacy versions: 遺留的老版本的穩定版

可是你去官方下載的是源碼包,須要你本身進行配置。。。。。。epel源則不須要

或者我祭出個人祖傳終極大殺器網址你面全是rpm包!!!:http://nginx.org/packages/mainline/rhel/7/x86_64/RPMS/

yum - y install 你wget的包

而後安裝nginx     

yum -y install nginx.x86_64 nginx-mod-http-geoip.x86_64  

nginx-mod-http-geoip.x86_64      這個包是提供若是須要之後顯示用戶IP的的國家、城市的模塊,這個包只是一個能夠顯示用戶IP國家、城市的模塊。缺失這些國家、城市的信息,因此也要安裝相應的庫。下面是國家、城市的庫:

wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz

gzip -d 你下載的這兩個包       //解壓下載的包並刪除壓縮包,能夠跟參數不刪。和tar xf 用着同樣就是能多個刪除壓縮包的動做:

mv GeoIP.dat GeoLiteCity.dat /etc/nginx/  

而後進配置表進行添加國家、城市信息:  vim /etc/nginx/nginx.conf

nginx -t 測試一下看哪裏有問題。

而後service nginx reload           //從新加載數據。不會致使用戶掉線重連。 

加下來就能夠運行nginx了

systemctl start nginx

將 vim /etc/nginx/nginx.conf  中server{   } 內容複製一下

粘貼在在 vim   /etc/nginx/con.f/aaa.conf   進行修改爲下面這樣 

server {  

        listen       8000;  

        server_name  www.wangdada.com *.sina.com;  

  

        location / {  

            root         /data/webroot;  

            index       index.html index.php;  

           allow  10.18.42.0/24;  

            allow 127.0.0.1;  

            deny all;  

        }  

}  

nginx -t                                          //模擬運行查看錯誤

listen    8000;                                 //端口號      

root      /data/webroot;                 //網頁存儲目錄,data 和 webroot 都是目錄,網頁內容放在/data/webroot/下

index    index.html                        //是 /data/webroot/下的網頁文件。

allow                                               //設置可訪問的ip ,  

deny all;                                         //allow的結束語。 拒絕全部,除allow所設置的IP 

service nginx reload                   //從新加載

systemctl start nginx                 //開啓

相關文章
相關標籤/搜索