1,Nginx
2嫉髓,Nginx的三大主要功能
1)網(wǎng)頁(yè)功能:
自身是靜態(tài)web服務(wù)观腊,apache邑闲,lighttp,IIS梧油。
還支持動(dòng)態(tài)web服務(wù)PHP(fastchi_pass)
JAVA(proxy_pass)
Python(uwsgi_pass)
memcache(memcache_pass)
2)負(fù)載均衡/反向代理(以前只支持http苫耸,現(xiàn)在支持tcp/udp協(xié)議)
3)緩存服務(wù)器
3,特點(diǎn)
最大特點(diǎn)靜態(tài)小文件高并發(fā)儡陨,占用資源少褪子。軟件本身小。
4骗村,Nginx主要應(yīng)用場(chǎng)景:
1)靜態(tài)web服務(wù)器:使用Nginx運(yùn)行HTML嫌褪、JS、CSS胚股、小圖片等靜態(tài)數(shù)據(jù)(此功能類似lighttpd軟件)笼痛。
2)配個(gè)運(yùn)行動(dòng)態(tài)web服務(wù)器:
Nginx結(jié)合FastCGI運(yùn)行PHP等動(dòng)態(tài)程序(例如使用fastcgi_pass方式)。
Nginx結(jié)合proxy_pass支持Java動(dòng)態(tài)程序(tomcat/resin服務(wù))琅拌。
Nginx結(jié)合uwsgi_pass支持python缨伊。
3)反向代理/負(fù)載均衡(http負(fù)載均衡)
4)做web緩存服務(wù)器(把文件放入內(nèi)存里)。
5进宝,反向代理與負(fù)載均衡
正向代理:代替局域網(wǎng)內(nèi)pc倘核,請(qǐng)求外部的應(yīng)用服務(wù)器。
反向代理:代替外部的用戶請(qǐng)求內(nèi)部的應(yīng)用服務(wù)器即彪。
負(fù)載均衡:轉(zhuǎn)發(fā)、效率高活尊,做個(gè)甩手掌柜隶校。
6,為什么Nginx總體性能比Apache高蛹锰?
Nginx使用最新的epoll和kqueue(freebsd)異步網(wǎng)絡(luò)I/O模型深胳,而Apache則使用的是傳統(tǒng)的select模型。目前Linux下能夠承受高并發(fā)訪問(wèn)的Squid铜犬、Memcached軟件都采用的是epoll模型舞终。
Apache則使用的是傳統(tǒng)的select模型,Nginx使用高并發(fā)的epoll模型癣猾。
通俗易懂:
select模型:伙伴去宿舍找你敛劝,一個(gè)一個(gè)找,效率很低纷宇。
epoll模型:伙伴去宿舍找你夸盟,先問(wèn)宿管大媽,看看在哪間宿舍像捶,然后直奔具體宿舍上陕。效率高桩砰。
select模型:小孩撒尿,如果尿尿拉出來(lái)释簿,帶著尿尿亚隅。
epoll模型:小孩撒尿,事先告訴所有小孩庶溶,如果要尿尿煮纵,你就站出來(lái)。
7渐尿,軟件安裝
1醉途,rpm安裝:安裝簡(jiǎn)單,速度快砖茸,依賴多隘擎,解決依賴?yán)щy繁瑣。
2凉夯,yum安裝:安裝簡(jiǎn)單货葬,速度快,自動(dòng)解決依賴劲够,不能選擇軟件版本或軟件存放路徑震桶。
3,編譯安裝:速度慢征绎,安裝復(fù)雜蹲姐,需要GCC編譯器,可以自定義安裝(版本人柿、軟件路徑)
4柴墩,將源碼制作成rpm,然后放到y(tǒng)um倉(cāng)庫(kù)凫岖,實(shí)現(xiàn)yum自動(dòng)安裝江咳。第一次制作復(fù)雜,速度慢哥放,后面使用起來(lái)安裝速度快歼指,可以自定義安裝(版本、軟件路徑)
5甥雕,二進(jìn)制安裝
8踩身,nginx安裝(下面二選一)
8.1,yum安裝(安裝完啟動(dòng)systemctl start nginx社露,然后開(kāi)機(jī)自啟)
1)epel源:版本低
2)nginx官方源:版本高
8.2惰赋,編譯安裝
pcre:URL重寫(xiě)軟件,即實(shí)現(xiàn)偽靜態(tài)需要這個(gè)軟件
安裝步驟
mkdir -p /server/tools(創(chuàng)建存放目錄)
cd /server/tools
wget http://nginx.org/download/nginx-1.16.0.tar.gz(下載壓縮包)
yum install pcre pcre-devel -y(安裝依賴包)
yum install openssl openssl-devel -y(安裝依賴包)
tar xf nginx-1.16.0.tar.gz (解壓)
cd nginx-1.16.0/
useradd -s /sbin/nologin www -M 并查看一下這個(gè)用戶id www
./configure --user=www --group=www --prefix=/application/nginx-1.16.0/ --with-http_stub_status_module --with-http_ssl_module --with-pcre
或者
useradd nginx -u 1111 -s /sbin/nologin -M 并查看一下這個(gè)用戶id nginx
./configure --user=nginx --group=nginx --prefix=/application/nginx-1.16.0/ --with-http_stub_status_module --with-http_ssl_module --with-pcre
make&&make install
ln -s /application/nginx-1.16.0/ /application/nginx(創(chuàng)建軟鏈接)
/application/nginx/sbin/nginx (啟動(dòng)服務(wù))
netstat -lntup|grep nginx
8.3,編譯安裝配置
[root@web02 /application/nginx]# tree
.
├── conf
│ ├── fastcgi.conf #和動(dòng)態(tài)服務(wù)的接口配置參數(shù)赁濒,配合php
│ ├── fastcgi.conf.default
│ ├── fastcgi_params
│ ├── fastcgi_params.default
│ ├── koi-utf
│ ├── koi-win
│ ├── mime.types #媒體類型
│ ├── mime.types.default
│ ├── nginx.conf #主配置文件
│ ├── nginx.conf.default
│ ├── scgi_params
│ ├── scgi_params.default #和動(dòng)態(tài)服務(wù)的接口配置參數(shù)
│ ├── uwsgi_params
│ ├── uwsgi_params.default #和動(dòng)態(tài)服務(wù)的接口配置參數(shù)轨奄,配合Python
│ └── win-utf
├── fastcgi_temp
├── html #默認(rèn)站點(diǎn)目錄。
│ ├── 50x.html
│ └── index.html #默認(rèn)的首頁(yè)拒炎,10.0.0.8不指定文件挪拟,默認(rèn)加載index.html首頁(yè)。
├── logs
│ ├── access.log #訪問(wèn)日志
│ ├── error.log #Nginx錯(cuò)誤日志击你。
│ └── nginx.pid #進(jìn)程號(hào)對(duì)應(yīng)文件玉组。
├── sbin
│ └── nginx #啟動(dòng)命令。
8.4丁侄,yum安裝路徑
[root@web01 ~]# rpm -ql nginx
/etc/logrotate.d/nginx
/etc/nginx
/etc/nginx/conf.d
/etc/nginx/conf.d/default.conf
/etc/nginx/fastcgi_params
/etc/nginx/koi-utf
/etc/nginx/koi-win
/etc/nginx/mime.types
/etc/nginx/modules
/etc/nginx/nginx.conf
/etc/nginx/scgi_params
/etc/nginx/uwsgi_params
/etc/nginx/win-utf
/usr/sbin/nginx
/usr/sbin/nginx-debug
/usr/share/nginx/html
/usr/share/nginx/html/50x.html
/usr/share/nginx/html/index.html
/var/cache/nginx
/var/log/nginx
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者