linux运维、架构之路-Nginx服务
一、Nginx服務
1、介紹
? ? ? ? Nginx軟件常見的使用方式或架構為:LNMP(linux nginx mysql php),Nginx三大主要功能,web網站服務,反向代理負載均衡(nginx lvs haproxy),nginx緩存服務
2、特點
①支持高并發:能支持幾萬并發連接(特別是靜態小文件業務環境)
②資源消耗少:在3萬并發連接下,開啟10個Nginx線程消耗的內存不到200MB
③可以做HTTP反向代理及加速緩存、即負載均衡功能,
內置對RS節點服務器健康檢查功能,這相當于專業的Haproxy軟件或LVS的功能。
④具備Squid等專業緩存軟件等的緩存功能。
⑤支持異步網絡I/O事件模型epoll(Linux 2.6+)(繪圖說明同步和異步)
總結:高并發-->資源消耗少-->功能多樣(web服務/負載均衡/支持緩存)-->通訊模型先進(epoll)
3、企業功能應用
①作為web服務軟件
②反向代理或負載均衡服務
③前端業務數據緩存服務
4、常見提供動態服務軟件
①PHP(FastCGI):大中小型網站都會使用,動態網頁語言PHP程序的解析容器,可以配合Apache解析動態程序,不過,這里的PHP不是FastCGI守護進程模式,而是mod_php5.so模塊形式,也可以配合Nginx解析動態程序,此時的PHP常用FastCGI守護進程模式提供服務。
②Tomcat:中小企業動態Web服務主流,互聯網JAVA容器主流(如JSP、do)
③Resin:大型動態Web主流,互聯網JAVA容器主流(如JSP、do)
④IIS,微軟windows下的Web服務軟件(如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重要目錄結構
| conf | nginx服務配置文件信息 |
| html | web服務的站點目錄 |
| logs | nginx服務相關日志文件保存的目錄 |
| sbin | nginx服務相關命令保存目錄 |
4、相關命令使用
/application/nginx/sbin/nginx #啟動服務 /application/nginx/sbin/nginx -t #語法檢查 /application/nginx/sbin/nginx –s reload #優雅重啟服務 /application/nginx/sbin/nginx –s stop #停止服務 /application/nginx/sbin/nginx –V #查看Nginx軟件編譯參數5、Nginx配置文件
[root@web01 conf]# egrep -v "#|^$" nginx.conf.default >nginx.conf #最小化學習nginx配置文件三、虛擬主機的搭建
1、?創建多域名虛擬主機站點目錄
mkdir /application/nginx/html/{www,bbs,blog} –p2、配置文件增加多虛擬主機
[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、優雅重啟Nginx服務
[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 #創建不同的首頁文件 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配置多域名虛擬主機是否成功 [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; #出現對應的http狀態碼使用50x.html回應 location = /50x.html{ #location 區塊開始,訪問50x.htmlroot html; #指定對應的站點目錄為html }6、其它擴展知識小結
①利用vim復制命令,復制創建多個server主機標簽;即x,ycopyz---10,17copy17
②nginx配置文件編輯技巧,可以利用%在server一對花括號之間進行切換
③304狀態碼的意義說明
304狀態碼是瀏覽器緩存造成的,可以利用裝包工具進行查看獲取(抓包工具進行理解http訪問過程)
取消緩存的方式為:在瀏覽器設置中進行清除緩存;或者采用瀏覽器強制刷新功能進行瀏覽器緩存的刷新
④wireshark抓包軟件使用
啟動軟件---選擇需要進行轉包的網卡---開始進行抓包
vim批量編輯方法:
ctrl+v進入批量編輯模式
上下箭頭選中批量操作的行
shift+i 編輯選中的第一行
按ESC結束編輯,多行同時編輯完成
轉載于:https://www.cnblogs.com/yanxinjiang/p/7511528.html
總結
以上是生活随笔為你收集整理的linux运维、架构之路-Nginx服务的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【demo练习二】:WPF依赖属性的练习
- 下一篇: shell编程-变量