亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

Nginx基礎(chǔ)篇(1)- Nginx的快速搭建和基本參數(shù)

Code4App / 551人閱讀

摘要:什么是多路服用的實(shí)現(xiàn)方式基本原理函數(shù)監(jiān)視的文件描述符分類,分別是和。缺點(diǎn)能夠監(jiān)視文件描述符的數(shù)量存在最大限制。三的快速搭建和基本參數(shù)方式安裝參考創(chuàng)建文件,并輸入如下內(nèi)容可選值有和。

Nginx的快速搭建和基本參數(shù) 一、Nginx簡介 1. Nginx簡述

Nginx是一個(gè)開源且高性能、可靠的HTTP中間件、代理服務(wù)。

2. 常見的HTTP服務(wù)

httpd - Apache

IIS - 微軟

GWE - Google

tomcat - Sun

二、為什么選擇Nginx 1. IO多路復(fù)用epoll 什么是IO多路復(fù)用

多個(gè)描述符的I/O操作都能在一個(gè)線程內(nèi)并發(fā)交替地順序完成,這就叫I/O多路復(fù)用,這里的“復(fù)用”指的是復(fù)用同一個(gè)線程。

什么是epoll
IO多路服用的實(shí)現(xiàn)方式:select、poll、epoll
select

基本原理:
select 函數(shù)監(jiān)視的文件描述符分3類,分別是writefds、readfds、和exceptfds。調(diào)用后select函數(shù)會阻塞,直到有描述符就緒(有數(shù)據(jù) 可讀、可寫、或者有except),或者超時(shí)(timeout指定等待時(shí)間,如果立即返回設(shè)為null即可),函數(shù)返回。當(dāng)select函數(shù)返回后,可以通過遍歷fdset,來找到就緒的描述符。

select缺點(diǎn):
1.能夠監(jiān)視文件描述符的數(shù)量存在最大限制。
2.線性掃描效率低下。

epoll

基本原理:
epoll支持水平觸發(fā)和邊緣觸發(fā),最大的特點(diǎn)在于邊緣觸發(fā),它只告訴進(jìn)程哪些fd剛剛變?yōu)榫途w態(tài),并且只會通知一次。還有一個(gè)特點(diǎn)是,epoll使用“事件”的就緒通知方式,通過epoll_ctl注冊fd,一旦該fd就緒,內(nèi)核就會采用類似callback的回調(diào)機(jī)制來激活該fd,epoll_wait便可以收到通知。

epoll的優(yōu)點(diǎn):
1.沒有最大并發(fā)連接的限制,能打開的FD的上限遠(yuǎn)大于1024(1G的內(nèi)存上能監(jiān)聽約10萬個(gè)端口)。
2.效率提升,不是輪詢的方式,不會隨著FD數(shù)目的增加效率下降。
3.內(nèi)存拷貝,利用mmap()文件映射內(nèi)存加速與內(nèi)核空間的消息傳遞;即epoll使用mmap減少復(fù)制開銷。

2. 輕量級 功能模塊少 代碼模塊化 3. CPU親和性(affinity)好

CPU親和性(affinity)是一種把CPU核心和Nginx工作進(jìn)程綁定方式,把每個(gè)worker進(jìn)程固定在一個(gè)CPU上執(zhí)行,減少CPU的cache miss,獲得更好的性能。

4. sendfile

sendfile可以讓Nginx在傳輸文件時(shí)直接在磁盤和tcp socket之間傳輸數(shù)據(jù)。如果這個(gè)參數(shù)不開啟,會先在用戶空間(Nginx進(jìn)程空間)申請一個(gè)buffer,用read函數(shù)把數(shù)據(jù)從磁盤讀到cache,再從cache讀取到用戶空間的buffer,再用write函數(shù)把數(shù)據(jù)從用戶空間的buffer寫入到內(nèi)核的buffer,最后到tcp socket。

三、Nginx的快速搭建和基本參數(shù)(CentOS7) 1. yum方式安裝【參考】 創(chuàng)建/etc/yum.repos.d/nginx.repo文件,并輸入如下內(nèi)容
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/mainline/OS/OSRELEASE/$basearch/
gpgcheck=0
enabled=1
OS 可選值有 centosrhel。
OSRELEASE 為系統(tǒng)版本,例如 67 分別代表 6.x 和 7.x 的版本。
運(yùn)行 yum install -y nginx 安裝nginx 運(yùn)行 nginx -v 查看nginx版本
[root~]# nginx -v
nginx version: nginx/1.14.0
2. 編譯參數(shù)詳解 查看nginx安裝時(shí)的編譯參數(shù)
nginx -V
[root~]# nginx -V
nginx version: nginx/1.14.0
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC)
built with OpenSSL 1.0.2k-fips  26 Jan 2017
TLS SNI support enabled

configure arguments: 
--prefix=/etc/nginx 
--sbin-path=/usr/sbin/nginx 
--modules-path=/usr/lib64/nginx/modules 
--conf-path=/etc/nginx/nginx.conf 
--error-log-path=/var/log/nginx/error.log 
--http-log-path=/var/log/nginx/access.log 
--pid-path=/var/run/nginx.pid 
--lock-path=/var/run/nginx.lock 
--http-client-body-temp-path=/var/cache/nginx/client_temp 
--http-proxy-temp-path=/var/cache/nginx/proxy_temp 
--http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp 
--http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp 
--http-scgi-temp-path=/var/cache/nginx/scgi_temp 
--user=nginx 
--group=nginx 
--with-compat 
--with-file-aio 
--with-threads 
--with-http_addition_module 
--with-http_auth_request_module 
--with-http_dav_module 
--with-http_flv_module 
--with-http_gunzip_module 
--with-http_gzip_static_module 
--with-http_mp4_module 
--with-http_random_index_module 
--with-http_realip_module 
--with-http_secure_link_module 
--with-http_slice_module 
--with-http_ssl_module 
--with-http_stub_status_module 
--with-http_sub_module 
--with-http_v2_module 
--with-mail 
--with-mail_ssl_module 
--with-stream 
--with-stream_realip_module 
--with-stream_ssl_module 
--with-stream_ssl_preread_module 
--with-cc-opt="-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -fPIC" 
--with-ld-opt="-Wl,-z,relro -Wl,-z,now -pie"
安裝編譯參數(shù)詳解【參考】
編譯選項(xiàng) 作用
--prefix=/etc/nginx 配置文件目錄
--sbin-path=/usr/sbin/nginx 可執(zhí)行文件名稱和所在目錄
--modules-path=/usr/lib64/nginx/modules nginx動(dòng)態(tài)模塊的安裝目錄
--conf-path=/etc/nginx/nginx.conf 主配置文件名稱和所在目錄
--error-log-path=/var/log/nginx/error.log 全局錯(cuò)誤日志文件名稱和所在目錄
--http-log-path=/var/log/nginx/access.log HTTP服務(wù)器的主請求日志文件的名稱和所在目錄
--pid-path=/var/run/nginx.pid nginx.pid所在目錄,這是儲存主進(jìn)程的進(jìn)程ID文件
--lock-path=/var/run/nginx.lock nginx.lock所在目錄
--http-client-body-temp-path=/var/cache/nginx/client_temp
--http-proxy-temp-path=/var/cache/nginx/proxy_temp
--http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp
--http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp
--http-scgi-temp-path=/var/cache/nginx/scgi_temp
執(zhí)行對應(yīng)模塊時(shí)nginx所保留的臨時(shí)文件
--user=nginx
--group=nginx
設(shè)定Nginx進(jìn)程啟動(dòng)的用戶和用戶組
--with-http_random_index_module 目錄中隨機(jī)選擇一個(gè)隨機(jī)主頁
--with-http_stub_status_module Nginx客戶端狀態(tài)
--with-http_sub_module HTTP內(nèi)容替換
--with-cc-opt= 設(shè)置額外的參數(shù)將被添加到CFLAGS變量
--with-ld-opt= 設(shè)置附加參數(shù),鏈接系統(tǒng)庫
3. 安裝目錄詳解 查看nginx所有文件的安裝位置
rpm -ql nginx
[root~]# rpm -ql nginx
/etc/logrotate.d/nginx
/etc/nginx
/etc/nginx/nginx.conf
/etc/nginx/conf.d
/etc/nginx/conf.d/default.conf
/etc/nginx/fastcgi_params
/etc/nginx/scgi_params
/etc/nginx/uwsgi_params
/etc/nginx/koi-utf
/etc/nginx/koi-win
/etc/nginx/win-utf
/etc/nginx/mime.types
/etc/sysconfig/nginx
/etc/sysconfig/nginx-debug
/usr/lib/systemd/system/nginx-debug.service
/usr/lib/systemd/system/nginx.service
/usr/lib64/nginx
/usr/lib64/nginx/modules
/etc/nginx/modules
/usr/sbin/nginx
/usr/sbin/nginx-debug
/usr/share/doc/nginx-1.14.0
/usr/share/doc/nginx-1.14.0/COPYRIGHT
/usr/share/man/man8/nginx.8.gz
/usr/share/nginx
/usr/share/nginx/html
/usr/share/nginx/html/50x.html
/usr/share/nginx/html/index.html
/var/cache/nginx
/var/log/nginx
/usr/libexec/initscripts/legacy-actions/nginx
/usr/libexec/initscripts/legacy-actions/nginx/check-reload
/usr/libexec/initscripts/legacy-actions/nginx/upgrade
默認(rèn)路徑 類型 作用
/etc/logrotate.d/nginx 配置文件 Nginx日志輪轉(zhuǎn),用于logrotate服務(wù)的日志切割
/etc/nginx
/etc/nginx/nginx.conf
/etc/nginx/conf.d
/etc/nginx/conf.d/default.conf
目錄、配置文件 nginx主配置文件
/etc/nginx/fastcgi_params
/etc/nginx/uwsig_params
/etc/nginx/scgi_params
配置文件 cgi配置相關(guān),fastcgi配置
/etc/nginx/koi-utf
/etc/nginx/koi-win
/etc/nginx/win-utf
配置文件 編碼轉(zhuǎn)換映射轉(zhuǎn)化文件
/etc/nginx/mime.types 配置文件 設(shè)置http協(xié)議的Content-Type與擴(kuò)展名對應(yīng)關(guān)系
/usr/lib/systemd/system/nginx-debug.service
/usr/lib/systemd/system/nginx.service
/etc/sysconfig/nginx
/etc/sysconfig/nginx-debug
配置文件 用于配置出系統(tǒng)守護(hù)進(jìn)程管理器管理方式
/usr/lib64/nginx/modules
/etc/nginx/mudules
目錄 Nginx模塊目錄
/usr/sbin/nginx
/usr/sbin/nginx-debug
命令 Nginx服務(wù)的啟動(dòng)管理的終端命令
/usr/share/doc/nginx-1.14.0
/usr/share/doc/nginx-1.14.0/COPYRIGHT
/usr/share/man/man8/nginx.8.gz
文件、目錄 Nginx手冊和幫助文件
/var/cache/nginx 目錄 Nginx緩存目錄
/var/log/nginx 目錄 Nginx日志目錄
四、Nginx常用命令
命令 解釋
nginx [-c <配置文件>] 以指定的配置文件啟動(dòng)nginx
nginx -s quit 正常停止nginx,Nginx在退出前完成已經(jīng)接受的連接請求。
nginx -s stop 快速停止nginx,不管有沒有正在處理的請求。
nginx -s reload [-c <配置文件>] 重載配置文件
nginx -s reopen 重新打開日志文件
nginx -v 查看版本
nginx -V 查看安裝時(shí)的編譯參數(shù)
nginx -t [-c <配置文件>] 檢查配置文件語法是否正確
nginx -s reload 命令加載修改后的配置文件,命令下達(dá)后發(fā)生如下事件

Nginx的master進(jìn)程檢查配置文件的正確性,若是錯(cuò)誤則返回錯(cuò)誤信息,nginx繼續(xù)采用原配置文件進(jìn)行工作(因?yàn)閣orker未受到影響)

Nginx啟動(dòng)新的worker進(jìn)程,采用新的配置文件

Nginx將新的請求分配新的worker進(jìn)程

Nginx等待以前的worker進(jìn)程的全部請求都返回后,關(guān)閉相關(guān)worker進(jìn)程

重復(fù)上面過程,直到全部舊的worker進(jìn)程都被關(guān)閉掉

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/29009.html

相關(guān)文章

  • Nginx基礎(chǔ)1)- Nginx快速搭建基本參數(shù)

    摘要:什么是多路服用的實(shí)現(xiàn)方式基本原理函數(shù)監(jiān)視的文件描述符分類,分別是和。缺點(diǎn)能夠監(jiān)視文件描述符的數(shù)量存在最大限制。三的快速搭建和基本參數(shù)方式安裝參考創(chuàng)建文件,并輸入如下內(nèi)容可選值有和。 Nginx的快速搭建和基本參數(shù) 一、Nginx簡介 1. Nginx簡述 Nginx是一個(gè)開源且高性能、可靠的HTTP中間件、代理服務(wù)。 2. 常見的HTTP服務(wù) httpd - Apache IIS -...

    warmcheng 評論0 收藏0
  • 服務(wù)器部署工具 - 收藏集 - 掘金

    摘要:基本入門前端掘金作者本文屬于翻譯文章,原文鏈接為。如果如何把應(yīng)用放在容器中運(yùn)行掘金本文適合零基礎(chǔ),且希望使用運(yùn)行應(yīng)用的人士。后端掘金使用構(gòu)建網(wǎng)站。 nginx 基本入門 - 前端 - 掘金作者:villainthr 本文屬于翻譯文章,原文鏈接為 nginx Beginner’s Guide。是至今為止見過最好的 nginx 入門文章。額。。。沒有之一。 這篇教程簡單介紹了 nginx ...

    Shonim 評論0 收藏0
  • 一套基礎(chǔ)自動(dòng)化部署搭建過程

    摘要:問題背景公司初創(chuàng)技術(shù)團(tuán)隊(duì),沒有任何基礎(chǔ)設(shè)施的情況下,需要搭建一系列管理以及自動(dòng)化部署等工具所以引發(fā)了下面一系列的部署過程,歷時(shí)兩天,中間也是碰到各種問題,但最終把基本工具全部搭建成功,耶,下面帶大家一起看下此次搭建過程。 問題背景 公司初創(chuàng)技術(shù)團(tuán)隊(duì),沒有任何基礎(chǔ)設(shè)施的情況下,需要搭建一系列code管理以及自動(dòng)化部署等工具....所以引發(fā)了下面一系列的部署過程,歷時(shí)兩天,中間也是碰到各種...

    mzlogin 評論0 收藏0
  • Ubuntu18.04搭建LNMP

    摘要:在上發(fā)布了一遍然后又在這里發(fā)布一遍哈哈以下是地址最近閑來無事,遂下載了,嘗試搭建下,之前有試過搭建寶塔,等,但最后結(jié)果都不怎么好,這次再次嘗試搭建下的開發(fā)環(huán)境,借鑒了很多網(wǎng)友的文章,歷經(jīng)千辛,搭建成功,遂將過程總結(jié)總結(jié),分享出來。 ???在csdn上發(fā)布了一遍,然后又在這里發(fā)布一遍,哈哈,以下是csdn地址: https://blog.csdn.net/sinat_3... ???最近...

    LiveVideoStack 評論0 收藏0

發(fā)表評論

0條評論

最新活動(dòng)
閱讀需要支付1元查看
<