国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Nginx編譯安裝及配置文件詳解

這篇具有很好參考價值的文章主要介紹了Nginx編譯安裝及配置文件詳解。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

寫在前面

Centos版本:Centos 7.6 - 64bit
Nginx版本:1.20.2

一、什么是Nginx

Nginx (engine x) 是一款輕量級的Web 服務器 、反向代理服務器及電子郵件(IMAP/POP3)代理服務器。

二、Nginx用在哪些地方

2.1 靜態(tài)資源服務

動靜分離:為了加快網(wǎng)站的解析速度,可以把動態(tài)頁面和靜態(tài)頁面由不同的服務器來解析,加快解析速度,降低原來單個服務器的壓力。本質(zhì)上是通過本地文件系統(tǒng)來提供服務;

Nginx編譯安裝及配置文件詳解
一般來說,都需要將動態(tài)資源和靜態(tài)資源分開,由于 Nginx 的高并發(fā)和靜態(tài)資源緩存等特性,經(jīng)常將靜態(tài)資源部署在 Nginx 上。如果請求的是靜態(tài)資源,直接到靜態(tài)資源目錄獲取資源,如果是動態(tài)資源的請求,則利用反向代理的原理,把請求轉(zhuǎn)發(fā)給對應后臺應用去處理,從而實現(xiàn)動靜分離。
使用前后端分離后,可以很大程度提升靜態(tài)資源的訪問速度,即使動態(tài)服務不可用,靜態(tài)資源的訪問也不會受到影響。

2.2 正向代理和反向代理(負載均衡)
正向代理

正向代理就是客戶端將自己的請求先發(fā)給代理服務器,通過代理服務器將請求轉(zhuǎn)發(fā)給服務器。我們常用的VPN就是一種代理服務器。比如:你想要訪問國外的某個網(wǎng)站,你的客戶端就需要連接上一個可以連訪問外網(wǎng)的服務器。正向代理代理的是客戶端。

反向代理

反向代理,反向代理代理的是服務器。在有多個服務器的情況下,為了能讓客戶端訪問到的ip地址都為同一個網(wǎng)站,就需要使用反向代理。比如:一開始單臺機器可以對外提供服務,在用戶請求暴增的情況下,就需要多個機器對外提供相同的服務,此時就需要使用nginx作為反向代理,用戶只需要訪問特定的服務器,nginx會自動根據(jù)各個機器的負載情況,將請求轉(zhuǎn)發(fā)到不同的機器。

2.3 負載均衡策略
  • 輪詢:按照順序?qū)⒄埱筠D(zhuǎn)發(fā)到后臺機器
  • 加權(quán)輪詢:根據(jù)機器性能的不同,為每個機器設置不同的權(quán)重。比如:可以為內(nèi)存大、性能強勁的機器分配較大的權(quán)重,使其處理更多的請求。
  • ip hash綁定服務器:對客戶端ip進行hash操作,并對機器個數(shù)取余,使其分配到固定的機器。缺點:不易于水平擴展。
  • 一致性哈希:水平擴展友好

三、Nginx安裝

3.1 安裝編譯環(huán)境及第三方依賴

Nginx的配置及運行需要pcre、zlib等軟件包的支持,因此需要安裝這些軟件包的開發(fā)包,以便提供相應的庫和頭文件。

yum install gcc-c++ // 安裝編譯環(huán)境
yum install zlib zlib-devel openssl openssl-devel pcre pcre-devel  
3.2 下載nginx安裝包
wget http://nginx.org/download/nginx-1.20.0.tar.gz

tar -zxvf nginx-1.20.0.tar.gz  // 解壓

cd nginx-1.20.0     // 進入解壓目錄

./configure  --prefix=/usr/local/nginx // --prefix 指定安裝目錄,可以不寫
make
sudo make install
3.3 Nginx安裝默認目錄

Nginx編譯安裝及配置文件詳解
其中sbin下就是nginx的可執(zhí)行程序。logs目錄下是日志:包括Nginx訪問日志和錯誤日志,及Nginx運行時的主進程的的進程號會保存在mginx.pid文件中。
Nginx編譯安裝及配置文件詳解

html目錄下是靜態(tài)網(wǎng)頁:
Nginx編譯安裝及配置文件詳解

conf目錄下是nginx的核心配置,主要關注 nginx.conf即可。Nginx最小的配置如下:

# 配置用戶及用戶組
user  root;
#啟動多少個子進程(worker),通常設置成和cpu的數(shù)量相等
worker_processes  1;  

events {
    worker_connections  1024;
}

http {
    include       mime.types;  #告訴瀏覽器以什么格式去接收和解析文件
    default_type  application/octet-stream;
    
    sendfile        on;  #開啟零拷貝
    
	keepalive_timeout 65;
	
	# 虛擬主機 vhost
    server {
        listen       80;
        server_name  localhost; # 域名或者主機名

        location / {
            root   html;
			index  index.html index.htm;
        }
		#如果服務端發(fā)生錯誤,會顯示50x.html
		#http://www.baidu.com/50x.html
        error_page   500 502 503 504  /50x.html;
        # 去html目錄下找 50x.html,html是相對路徑,可以修改
        location = /50x.html {
            root   html;
        }

    }
}
3.3.1 啟動nginx
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

Nginx編譯安裝及配置文件詳解##### 3.3.2 停止nginx

/usr/local/nginx/sbin/nginx -s stop
3.3.3 重新加載nginx
/usr/local/nginx/sbin/nginx -s reload
3.3.4 配置文件分析
全局模塊

配置影響nginx全局的指令。一般有運行nginx服務器的用戶組,nginx進程pid存放路徑,日志存放路徑,配置文件引入,允許生成worker process數(shù)等。

user  nobody;  				#配置用戶或者組,默認為nobody
worker_processes  1; 	 		#允許生成的進程數(shù),默認為1
error_log  logs/error.log;		#制定日志路徑,級別。這個設置可以放入全局塊,
			#http塊,server塊,級別以此為:debug|info|notice|warn|error|crit|alert|emerg
error_log  logs/error.log  notice;
error_log  logs/error.log  info;
pid        logs/nginx.pid;    #指定nginx進程運行文件存放地址
events塊配置

events塊:配置影響nginx服務器或與用戶的網(wǎng)絡連接。有每個進程的最大連接數(shù),選取哪種事件驅(qū)動模型處理連接請求,是否允許同時接受多個網(wǎng)路連接,開啟多個網(wǎng)絡連接序列化等。

設置網(wǎng)絡連接的序列化

Nginx是多進程的,當某一時刻只有一個網(wǎng)絡連接達到時,多個睡眠的進程會被同時叫醒(這種現(xiàn)象叫“驚群”),但是只有一個進程可以獲得連接。如果每次喚醒的進程數(shù)太多,會影響系統(tǒng)的性能。為了解決這一問題,Nginx配置中有一條指令accpet_mutex,當其設置為開啟的時候,將會對多個Nginx的進程接收連接進行序列化,防止多個進程對連接的爭搶。語法為:

accept_mutex on | off;  // #設置網(wǎng)路連接序列化,防止驚群現(xiàn)象發(fā)生,默認為on

設置是否允許同時接收多個連接

每個Nginx服務器的worker_process 都有能力同時接收多個新到達的連接,但是這需要在配置文件中進行設置,語法為:

multi_accept on | off;  // 默認為off,關閉  即每個worker一次只能接收一個新到達的網(wǎng)絡連接,并且只能在events塊中進行配置

事件驅(qū)動模型的選擇

Nginx提供了多種事件驅(qū)動模型來處理網(wǎng)絡消息,語法為:

use method; // method可以為:select poll epoll kqueue等等
定義MIME_Type

在瀏覽器中,可以顯示html、XML、GIF等多種類型的文本、媒體等資源,瀏覽器為了區(qū)分這些資源,需要使用MIME Type。

Nginx編譯安裝及配置文件詳解
我們可以看到再http全局塊中如上配置,inclue 表示從外部引用了 mime.types 文件。這個文件在 /etc/mime.types
Nginx編譯安裝及配置文件詳解

推薦一個零聲學院免費教程,個人覺得老師講得不錯,
分享給大家:[Linux,Nginx,ZeroMQ,MySQL,Redis,
fastdfs,MongoDB,ZK,流媒體,CDN,P2P,K8S,Docker,
TCP/IP,協(xié)程,DPDK等技術(shù)內(nèi)容,點擊立即學習:文章來源地址http://www.zghlxwxcb.cn/news/detail-417058.html

到了這里,關于Nginx編譯安裝及配置文件詳解的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • Centos服務器編譯安裝Nginx-1.24.0

    1、下載源碼包 2、安裝依賴 這些依賴根據(jù)需求安裝,也可以./config的時候根據(jù)報錯提示一個一個安裝 問題:yum install libmcrypt libmcrypt-devel mcrypt mhash -y 報錯:No package libmcrypt available. 解決方法:yum install epel-release //擴展包更新包 3、創(chuàng)建用戶組 4、解壓文件 并生成配置文件 5、編

    2024年02月14日
    瀏覽(58)
  • centos源碼編譯安裝nginx1.25.3腳本

    centos源碼編譯安裝nginx1.25.3腳本

    Nginx是常見的反向代理服務器,以為經(jīng)常要安裝,所以做了一個install-nginx.sh 腳本,一個命令安裝nginx 這個腳本會把nginx安裝到 /usr/local/nginx 目錄下面 安裝好之后記得創(chuàng)建快捷方式啦 然后啟動nginx,只需要執(zhí)行 nginx就可以啦 檢測nginx是否啟動成功,可以 執(zhí)行`ps aux|grep nginx` 如果

    2024年01月18日
    瀏覽(47)
  • CentOS安裝配置Nginx

    CentOS安裝配置Nginx

    一、從官網(wǎng)nginx.org下載Nginx: 說明: 1)因為這是一個stable穩(wěn)定版本。 2)Mainline version: 開發(fā)版;Stable version: 穩(wěn)定版;Legacy versions: 早期版本; 3)我們肯定是要找最新的穩(wěn)定版本。 二、上傳到Linux中: 不需要使用上傳的方法,可以通過先復制鏈接地址,然后通過wget命令進行

    2024年02月08日
    瀏覽(16)
  • Centos7.9服務器編譯安裝Nginx1.24.0和php8.3

    Centos7.9服務器編譯安裝Nginx1.24.0和php8.3

    服務器nginx原版本有安全漏洞,需要升級,由于原始是yum源安裝,通過yum直接升級,無法正常升級完成,故而需要卸載yum源,重新編譯安裝。 1、查看原來nginx版本,ps查看原來nginx進程,運行狀態(tài): 查看nginx版本號為1.20:

    2024年02月20日
    瀏覽(27)
  • Nginx網(wǎng)站服務詳解(編譯安裝及系統(tǒng)服務添加)

    Nginx網(wǎng)站服務詳解(編譯安裝及系統(tǒng)服務添加)

    目錄 一、Nginx的相關知識 1)Nginx的簡介 Nginx: Apache: 2)Apache與Nginx的區(qū)別? Nginx對比Apache的優(yōu)勢:? apache相對于nginx的優(yōu)點?: 3)Nginx的進程?? Nginx有兩個進程: Nginx 是如何實現(xiàn)高并發(fā)的?? 同步和異步 阻塞與非阻塞 Nginx為什么不使用多線程? 二、編譯安裝Nginx服務 1)初

    2024年02月07日
    瀏覽(20)
  • centos安裝nginx實操記錄(加安全配置)

    centos安裝nginx實操記錄(加安全配置)

    配了一個負責均衡,如不需要,可將 server localhost: 多余的去掉 http中的配置 nginx 版本信息隱藏 隱藏Nginx后端服務X-Powered-By頭 屏蔽非常見蜘蛛(爬蟲) 分析網(wǎng)站日志發(fā)現(xiàn),一些奇怪的 UA 總是頻繁的來訪問,而這些 UA 對網(wǎng)站毫無意義,反而給服務器增加壓力,可以直接將其屏

    2024年02月09日
    瀏覽(17)
  • CentOS7---Nginx安裝并配置虛擬主機

    CentOS7---Nginx安裝并配置虛擬主機

    源碼包的獲取:http://nginx.org/download/ 實驗環(huán)境:和企業(yè)環(huán)境類似,關閉防火墻,禁用selinux,使用靜態(tài)IP地址 Tengine是由淘寶網(wǎng)發(fā)起的Web服務器項目。它在Nginx的基礎上,針對大訪問量網(wǎng)站的需求,添加了 很多高級功能和特性。Tengine的性能和穩(wěn)定性已經(jīng)在大型的網(wǎng)站如淘寶網(wǎng),

    2023年04月16日
    瀏覽(26)
  • Nginx配置文件配置詳解

    Nginx配置文件配置詳解

    官方文檔 location 指令是 nginx 中最關鍵的指令之一,location 指令的功能是用來匹配不同的 URI 請求,進而對請求做不同的處理和響應,這其中較難理解的是多個 location 的匹配順序,本文會作為重點來解釋和說明。 開始之前先明確一些約定,我們輸入的網(wǎng)址叫做請求 URI,nginx

    2024年02月05日
    瀏覽(24)
  • centos 安裝 nginx配置ssl 和 獲取用戶真實ip

    安裝所需環(huán)境 nginx 是用 C語言開發(fā)的,建議在Linux上使用,如果是windows用戶,也可以使用windows版本。 一. gcc 安裝 安裝 nginx 需要先將官網(wǎng)下載的源碼進行編譯,編譯依賴 gcc 環(huán)境,如果有 gcc 環(huán)境,則不需要安裝,命令: yum install gcc-c++ 二. PCRE pcre-devel 安裝 PCRE(Perl Compatible

    2024年02月13日
    瀏覽(23)
  • Nginx 配置文件詳解

    Nginx(發(fā)音為\\\"engine X\\\")是一款高性能的開源Web服務器軟件,也是一款常用的反向代理服務器和負載均衡器。Nginx的靈活性和高性能使其成為許多網(wǎng)站和應用程序的首選服務器。在使用Nginx時,理解其配置文件是非常重要的。本篇博客將詳細介紹Nginx配置文件的各個部分以及常用

    2024年02月17日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包