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