nginx web服务理论与实战
Nginx
LNMP(linux nginx mysql php)也叫LEMP(linux engin x nginx mysql php)
3w并發(fā), 10線程,只需150m內(nèi)存。。。。稍有點(diǎn)夸張,也說明優(yōu)秀。
?
?
?
nginx的一下功能:
a.www web服務(wù)
b.負(fù)載均衡(反向代理)
c.web cache(web緩存)
?
nginx的優(yōu)點(diǎn):
0、配置簡單、靈活。
1、高并發(fā)(靜態(tài)小文件),靜態(tài)1-2w,apache并發(fā)3-5千。
2、占用資源少。
3、功能多,每一個(gè)功能都不是特別強(qiáng)。
4、支持epoll模型。使得nginx可以支持高并發(fā)。
5、配合動態(tài)服務(wù)和apache有區(qū)別
6、利用nginx可以對ip限速,可以限制連接數(shù),apache也有但是第三方。
?
調(diào)用php時(shí)通過fastcgi將需要的php送到fcgi的9000端口解析。FCGI是動態(tài)并發(fā)的瓶頸500-1500,還有mysql也是瓶頸300-1500,但如果sql語句處理不好,并發(fā)更小。
?
日pv2000萬以下,都可以直接用nginx做代理,apache也可作代理,但性能很差,一般沒人用。
nginx的緩存相當(dāng)于vanish、squid。
nginx采用epoll模型(采用目錄方式)
apache采用select模型(采用select,逐個(gè)翻頁找)
?
最終建議,對外業(yè)務(wù)nginx,對內(nèi)apache
?
安裝pcre openssl,yum install 安裝即可。nginx的安裝模塊必須一次搞定,不能像apache那樣后來通過模塊apxs的方式按進(jìn)去。
然后編譯安裝nginx:
useradd nginx -s /sbin/nologin -M
cd /home/weipeng/tools/nginx-1.6.2
./configure \
--user=nginx \
--group=nginx \
--prefix=/application/nginx1.6.2 \
--with-http_stub_status_module \
--with-http_ssl_module
?
make&&make install
ln -s /application/nginx1.6.2 /application/nginx
然后啟動nginx:
1、?/application/nginx/sbin/nginx -t ?檢查語法
2、??/application/nginx/sbin/nginx ??啟動nginx
3、?lsof -i :80 查看啟動端口80
本地curl 192.168.44.20然后瀏覽器訪問即可看到welcome to nginx的網(wǎng)頁。
apache默認(rèn)站點(diǎn)及目錄:DucumentRoot htdocs
nginx默認(rèn)站點(diǎn)擊目錄:root html ?
?
為什么要采用多模塊方式:解耦,即插即用
通過官方http://nginx.org/en/docs/查看模塊的使用幫助。這個(gè)能力必須會了。
?
nginx是以大括號{}方式,apache是以<>的方式。
nginx的參數(shù),默認(rèn)用戶nobody,log級別一般選擇error,只選擇錯(cuò)誤日志,結(jié)尾都有;
?
main標(biāo)簽(整個(gè)配置文件) events(nginx處理連接請求的最大數(shù)量) http標(biāo)簽,server標(biāo)簽(用的最多)
/application/nginx/sbin/nginx -s reload 平滑重啟nginx服務(wù)。
在nginx.conf里添加狀態(tài)碼頁面如下:
server {
????????listen ??????80;
????????server_name ?status.weipeng.com;
???????????stub_status on;
???????????access_log ?off;
}
別名跳轉(zhuǎn),兩種方式:
1、在主名后空格加上別名即可。
2、通過301偽靜態(tài)跳轉(zhuǎn)如下,其也控制某些人惡搞將其域名解析到本網(wǎng)站ip上,雖然網(wǎng)站內(nèi)容是我們的網(wǎng)頁,但域名是別人的,這樣別人的域名就越來越火,比如小明有一個(gè)域名,但沒有做網(wǎng)頁,就是為了養(yǎng)域名知名度,就可以將其DNS解析指向到百度網(wǎng)站ip上以增加域名流量知名度,但如果百度做了301跳轉(zhuǎn),那么跳轉(zhuǎn)后的域名就是百度的就不是小明的域名了:
?server {
????????listen ??????80;
????????server_name ?weipeng.com;
????????location / {
????????????root ??html;
????????????index ?index.html index.htm;
????????????rewrite ^/(.*) http://www.weipeng.com/$1 permanent;
???????????}
?????}
?
nginx可以增加日志,要打開開關(guān),然后在server標(biāo)簽里添加如下:
??root ??html;
??index ?index.html index.htm;
??access_log logs/www_access.log;
?
工作中可能會對nginx的日志進(jìn)行分析,下去查看文檔關(guān)于軟件awstats的詳細(xì)介紹,百度可以搜索到。
?
403:禁止訪問,服務(wù)器拒絕請求。一般都是沒有主頁文件,且不允許展示目錄結(jié)構(gòu)時(shí)。
404:Not Found,服務(wù)器找不到請求的頁面。
500:內(nèi)部服務(wù)器錯(cuò)誤。
502:壞的網(wǎng)關(guān)。
503:服務(wù)器當(dāng)前不可用,可能因?yàn)槌d或停機(jī)維護(hù)。
?
nginx也可采用類似apache方式,分類添加域名采用不同目錄,也就是添加extra目錄,但是與apache不一樣的是,得在主配置文件nginx.conf里添加相關(guān)語句,將extra引入進(jìn)去,方式如下,vi nginx.conf,將里面的server標(biāo)簽刪除掉,然后添加以下雷榮:
??include extra/www.conf;
??include extra/bbs.conf;
??include extra/blog.conf;
轉(zhuǎn)載于:https://blog.51cto.com/liukexing/1967316
總結(jié)
以上是生活随笔為你收集整理的nginx web服务理论与实战的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Day12 前端html
- 下一篇: textAngular字体依赖