linux运维、架构之路-Nginx服务
一、Nginx服務(wù)
1、介紹
? ? ? ? Nginx軟件常見的使用方式或架構(gòu)為:LNMP(linux nginx mysql php),Nginx三大主要功能,web網(wǎng)站服務(wù),反向代理負(fù)載均衡(nginx lvs haproxy),nginx緩存服務(wù)
2、特點(diǎn)
①支持高并發(fā):能支持幾萬并發(fā)連接(特別是靜態(tài)小文件業(yè)務(wù)環(huán)境)
②資源消耗少:在3萬并發(fā)連接下,開啟10個Nginx線程消耗的內(nèi)存不到200MB
③可以做HTTP反向代理及加速緩存、即負(fù)載均衡功能,
內(nèi)置對RS節(jié)點(diǎn)服務(wù)器健康檢查功能,這相當(dāng)于專業(yè)的Haproxy軟件或LVS的功能。
④具備Squid等專業(yè)緩存軟件等的緩存功能。
⑤支持異步網(wǎng)絡(luò)I/O事件模型epoll(Linux 2.6+)(繪圖說明同步和異步)
總結(jié):高并發(fā)-->資源消耗少-->功能多樣(web服務(wù)/負(fù)載均衡/支持緩存)-->通訊模型先進(jìn)(epoll)
3、企業(yè)功能應(yīng)用
①作為web服務(wù)軟件
②反向代理或負(fù)載均衡服務(wù)
③前端業(yè)務(wù)數(shù)據(jù)緩存服務(wù)
4、常見提供動態(tài)服務(wù)軟件
①PHP(FastCGI):大中小型網(wǎng)站都會使用,動態(tài)網(wǎng)頁語言PHP程序的解析容器,可以配合Apache解析動態(tài)程序,不過,這里的PHP不是FastCGI守護(hù)進(jìn)程模式,而是mod_php5.so模塊形式,也可以配合Nginx解析動態(tài)程序,此時的PHP常用FastCGI守護(hù)進(jìn)程模式提供服務(wù)。
②Tomcat:中小企業(yè)動態(tài)Web服務(wù)主流,互聯(lián)網(wǎng)JAVA容器主流(如JSP、do)
③Resin:大型動態(tài)Web主流,互聯(lián)網(wǎng)JAVA容器主流(如JSP、do)
④IIS,微軟windows下的Web服務(wù)軟件(如asp、aspx)
二、Nginx編譯安裝
1、安裝Nginx依賴包
yum install -y pcre-devel openssl-devel2、編譯安裝
mkdir -p /server/tools/ cd /server/tools/ wget -q http://nginx.org/download/nginx-1.10.3.tar.gz useradd www -s /sbin/nologin -M tar xf nginx-1.10.3.tar.gz cd nginx-1.10.3 ./configure --prefix=/application/nginx-1.10.3 --user=www --group=www --with-http_stub_status_module --with-http_ssl_module make && make install ln -s /application/nginx-1.10.3/ /application/nginx /application/nginx/sbin/nginx lsof -i:803、?Nginx重要目錄結(jié)構(gòu)
| conf | nginx服務(wù)配置文件信息 |
| html | web服務(wù)的站點(diǎn)目錄 |
| logs | nginx服務(wù)相關(guān)日志文件保存的目錄 |
| sbin | nginx服務(wù)相關(guān)命令保存目錄 |
4、相關(guān)命令使用
/application/nginx/sbin/nginx #啟動服務(wù) /application/nginx/sbin/nginx -t #語法檢查 /application/nginx/sbin/nginx –s reload #優(yōu)雅重啟服務(wù) /application/nginx/sbin/nginx –s stop #停止服務(wù) /application/nginx/sbin/nginx –V #查看Nginx軟件編譯參數(shù)5、Nginx配置文件
[root@web01 conf]# egrep -v "#|^$" nginx.conf.default >nginx.conf #最小化學(xué)習(xí)nginx配置文件三、虛擬主機(jī)的搭建
1、?創(chuàng)建多域名虛擬主機(jī)站點(diǎn)目錄
mkdir /application/nginx/html/{www,bbs,blog} –p2、配置文件增加多虛擬主機(jī)
[root@web01 html]# cat ../conf/nginx.conf worker_processes 1; events {worker_connections 1024; } http {include mime.types;default_type application/octet-stream;sendfile on;keepalive_timeout 65;server {listen 80;server_name www.etiantian.org;location / {root html/www;index index.html index.htm;}}server {listen 80;server_name bbs.etiantian.org;location / {root html/bbs;index index.html index.htm;}}server {listen 80;server_name blog.etiantian.org;location / {root html/blog;index index.html index.htm;}} }3、優(yōu)雅重啟Nginx服務(wù)
[root@web01 html]# /application/nginx/sbin/nginx -s reload4、本地域名解析測試
[root@web01 html]# for name in www bbs blog ;do echo 10.0.0.8 ${name}.etiantian.org >/application/nginx/html/$name/index.html ;done #創(chuàng)建不同的首頁文件 for name in www bbs blog; do cat /application/nginx/html/$name/index.html;done#檢查 10.0.0.8 www.etiantian.org 10.0.0.8 bbs.etiantian.org 10.0.0.8 blog.etiantian.org 利用curl命令測試Nginx配置多域名虛擬主機(jī)是否成功 [root@web01 html]# for name in www bbs blog;do curl $name.etiantian.org;done 10.0.0.8 www.etiantian.org 10.0.0.8 bbs.etiantian.org 10.0.0.8 blog.etiantian.org5、Nginx錯誤頁面
error_page 500 502 503 504 /50x.html; #出現(xiàn)對應(yīng)的http狀態(tài)碼使用50x.html回應(yīng) location = /50x.html{ #location 區(qū)塊開始,訪問50x.htmlroot html; #指定對應(yīng)的站點(diǎn)目錄為html }6、其它擴(kuò)展知識小結(jié)
①利用vim復(fù)制命令,復(fù)制創(chuàng)建多個server主機(jī)標(biāo)簽;即x,ycopyz---10,17copy17
②nginx配置文件編輯技巧,可以利用%在server一對花括號之間進(jìn)行切換
③304狀態(tài)碼的意義說明
304狀態(tài)碼是瀏覽器緩存造成的,可以利用裝包工具進(jìn)行查看獲取(抓包工具進(jìn)行理解http訪問過程)
取消緩存的方式為:在瀏覽器設(shè)置中進(jìn)行清除緩存;或者采用瀏覽器強(qiáng)制刷新功能進(jìn)行瀏覽器緩存的刷新
④wireshark抓包軟件使用
啟動軟件---選擇需要進(jìn)行轉(zhuǎn)包的網(wǎng)卡---開始進(jìn)行抓包
vim批量編輯方法:
ctrl+v進(jìn)入批量編輯模式
上下箭頭選中批量操作的行
shift+i 編輯選中的第一行
按ESC結(jié)束編輯,多行同時編輯完成
轉(zhuǎn)載于:https://www.cnblogs.com/yanxinjiang/p/7511528.html
總結(jié)
以上是生活随笔為你收集整理的linux运维、架构之路-Nginx服务的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【demo练习二】:WPF依赖属性的练习
- 下一篇: shell编程-变量