nginx

1.Nginx的程序架構:
        master/worker
           
一個master進程:
               
負載加載和分析配置文件、管理worker進程、平滑升級
           
一個或多個worker進程
               
處理并響應用戶請求
           
緩存相關的進程:
                cache loader
:載入緩存對象
                cache manager
:管理緩存對象
               
       
特性:異步、事件驅動和非阻塞
           
并發請求處理:通過epoll/select
           
文件IO:高級IO sendfile,異步,mmap
           
2. nginx
模塊:高度模塊化,但其模塊早期不支持DSO機制;近期版本支持動態裝載和卸載;
           
模塊分類:
               
核心模塊:core module
               
標準模塊:
                    HTTP modules

                        Standard HTTP
modules
                        Optional HTTP
modules
                    Mail modules
                    Stream modules

                       
傳輸層代理
                3rd party modules
               
   nginx
的功用:
           
靜態的web資源服務器;(圖片服務器,或js/css/html/txt等靜態資源服務器)
           
結合FastCGI/uwSGI/SCGI等協議反代動態資源請求;
            http/https
協議的反向代理;
            imap4/pop3
協議的反向代理;
            tcp/udp
協議的請求轉發;
           
    nginx
的安裝配置:
       
官方的預制包:
            http://nginx.org/packages/centos/7/x86_64/RPMS/
            Fedora-EPEL:

3.程序環境

            配置文件的組成部分:
               
主配置文件:nginx.conf
                    include
conf.d/*.conf
                fastcgi
, uwsgiscgi等協議相關的配置文件
                mime.types
:支持的mime類型
           
主程序文件:/usr/sbin/nginx
            Unit File
nginx.service
       
       
配置:
           
主配置文件的配置指令:
                directive value [value2
…];
               
               
注意:
                    (1)
指令必須以分號結尾;
                    (2)
支持使用配置變量;
                       
內建變量:由Nginx模塊引入,可直接引用;
                       
自定義變量:由用戶使用set命令定義;
                            set
variable_name value;
                           
引用變量:$variable_name
                                   
                           
           
主配置文件結構:
                main block
:主配置段,也即全局配置段;
                    event {
                        …
                    }
:事件驅動相關的配置;
                http {
                    …
                }
http/https 協議相關的配置段;
                mail {
                    …
                }
                stream {
                    …
                }
           
            http
協議相關的配置結構
                http {
                    …
                    …
:各server的公共配置
                    server {
                        …
                    }
:每個server用于定義一個虛擬主機;
                    server {
                        …
                        listen
                        server_name
                        root
                        alias
                        location
[OPERATOR] URL {
                            …
                            if CONDITION
{
                                …
                            }
                        }
                    }

4.建一個nginx服務器

nginx

nginx

nginxnginx

nginx

nginx

5.性能優化,如果一臺主機只服務nginx,綁定cpu,調優先級及最大調優

nginx

nginx

6.限制條件訪問

nginx

在172.16.254.177上訪問 403

nginx

7.圖片限制訪問

nginx

nginx

nginx

nginx

8.root與alias區別

nginx

nginx

nginx

nginx

nginx

nginx

nginx

nginx

9.錯誤頁面重新定義

nginx

nginx

nginx

nginx

nginx

10.認證登錄設置

nginx

nginx

nginx

nginx

11.狀態頁訪問

nginx

nginx

12. 日志定義

nginx

nginx

13. gzip壓縮模塊

nginx

nginx

 

14。ssl 模塊

(1)在另外臺主機上

nginx

(2)在另外nginx那臺主機上

nginx

nginx

(3)在CA主機上

nginx

nginx

(3)在nginx主機上

nginx

nginx

15.rewirte模塊

nginx

nginx

nginx

nginx

原創文章,作者:yaobinbin,如若轉載,請注明出處:http://www.www58058.com/78228

(0)
yaobinbinyaobinbin
上一篇 2017-06-19
下一篇 2017-06-19

相關推薦

  • 周期性計劃任務crond講解

    crond是Linux或者unix系統的作業調度程序。運用它,在設定的時間段周期性執行某個命令或腳本。下文的例子均在centos 7.3上測試。一、crond組件 如果centos7.3最小化安裝,不一定存在crond服務,需要手動安裝,安裝之后手動啟動并設置以后自行開機啟動。 主要有cronie、cronie-anacron、crontabs三個程序包。 …

    Linux干貨 2017-03-27
  • 馬哥教育網絡班22期+第5周課程練習

    1、顯示當前系統上root、fedora或user1用戶的默認shell; [root@rhel677850 ~]# grep "^\(root\|fedora\|user1\)" /etc/passwd|awk -F: '{print $1,$7}&#039…

    Linux干貨 2016-09-26
  • 馬哥教育21期網絡班—第11周課程+練習—-成長進行時–不退步–下

    3、描述DNS查詢過程以及DNS服務器類別。 DNS查詢過程主機—>查找互聯網上的主機 www.magedu.com—>聯系到自己指向的DNS服務器—>DNS服務器—>找根 .—>根返回給DNS服務器—>DNS找.com—>com返回給DNS—->DNS找ma…

    Linux干貨 2016-09-19
  • 09yum的使用以及簡單配置

    YUM: yellowdog update modifier ,rpm的前端程序,用來解決軟件包相關依賴性,可以在多個庫之間定位軟件包。 yum repository:yum repo,存儲了眾多RPM包,以及包相關的元數據文件,放置于特定目錄repodata下。 yum 訪問的文件服務器主要有三種,ftp,http,file。 yum客戶端配置文件: 【/…

    Linux干貨 2016-11-04
  • RAID磁盤冗余探究

    RAID磁盤冗余探究 RAID的全稱是Redundant Arrays of Inexpensive Disk,可以翻譯為廉價的磁盤冗余陣列。由加利福尼亞大學伯克利分校的一位教授在1988年提出,是一種磁盤管理方式。其產生的初衷是為了降低成本,但是為了達到RAID的功能,其造價并不便宜,所以后來改為Redundant Arrays of Independen…

    2017-08-26
  • 源碼包編譯安裝mariaDB

    前言     MySQL是一個關系型數據庫管理系統,是最流行的關系型數據庫管理系統,由于其體積小、速度快、總體擁有成本低,并且之前是完全開源,所以大受歡迎。但由于后面MySQL賣給了SUN,隨后SUN被Oracle收購,雖然也有開源免費版本,但是很多功能都需要另外購買商業版本,導致現在MySQL使用份額逐漸減少。所以M…

    Linux干貨 2016-02-28
欧美性久久久久