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

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

ngnix安裝 nginx配置表內容

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

功能:

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

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

3.做為LB集群的前端一個負載均衡器

nginx的優勢 IO多路復用

理論:

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 //開啟


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