Linux系列 初識ngnix——ngnix安裝及配置表內容詳解、讓nginx支持並顯示國家及其城市
功能:
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支持並顯示國家及其城市