最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PHP程序員玩轉(zhuǎn)Linux系列 nginx初學(xué)者引導(dǎo)

 更新時間:2017年04月12日 16:45:57   作者:陶士涵  
這篇文章主要為大家詳細介紹了PHP程序員玩轉(zhuǎn)Linux系列文章,帶大家初步認識一下nginx,具有一定的參考價值,感興趣的小伙伴們可以參考一下

PHP程序員玩轉(zhuǎn)Linux系列文章:

1.PHP程序員玩轉(zhuǎn)Linux系列-怎么安裝使用CentOS

2.PHP程序員玩轉(zhuǎn)Linux系列-lnmp環(huán)境的搭建

3.PHP程序員玩轉(zhuǎn)Linux系列-搭建FTP代碼開發(fā)環(huán)境

4.PHP程序員玩轉(zhuǎn)Linux系列-備份還原MySQL

5.PHP程序員玩轉(zhuǎn)Linux系列-自動備份與SVN

6.PHP程序員玩轉(zhuǎn)Linux系列-Linux和Windows安裝nginx

翻譯自官網(wǎng)文檔

nginx有一個master進程和很多個worker進程.master進程的主要目的是讀取和執(zhí)行配置文件,維持worker進程.worker進程真正處理請求.nginx基于事件模型和操作系統(tǒng)來分配worker進程,配置文件中的worker進程數(shù)一般配置成CPU的內(nèi)核數(shù).默認的配置文件名是nginx.conf,目錄地址一般在/usr/local/nginx/conf, /etc/nginx, 或者/usr/local/etc/nginx

開始,關(guān)閉和重載配置

nginx 開啟

nginx -s reload 重新載入配置文件

nginx -s quit 優(yōu)雅的退出

nginx -s reopen 重新打開日志文件

靜態(tài)內(nèi)容服務(wù)

打開配置文件,里面已經(jīng)包含了一個server塊的例子

http {
 server {
 }
}

默認的nginx配置文件nginx.conf里面,使用include指令包含了/etc/nginx/conf.d/此目錄下后綴為.conf的所有配置文件

http {
 include /etc/nginx/mime.types;
 default_type application/octet-stream;

 log_format main '$remote_addr - $remote_user [$time_local] "$request" '
   '$status $body_bytes_sent "$http_referer" '
   '"$http_user_agent" "$http_x_forwarded_for"';

 access_log /var/log/nginx/access.log main;

 sendfile on;
 #tcp_nopush on;

 keepalive_timeout 65;

 #gzip on;

 include /etc/nginx/conf.d/*.conf;
}

/etc/nginx/conf.d/目錄下,編輯default.conf文件,通常會有很多的配置文件,每個配置文件中都有一個server塊,nginx通過他們監(jiān)聽的端口和server_name來區(qū)分,它還會對請求頭和server塊里面location指令參數(shù)比較.

server {
 location / {
 root /var/www/html;
 }
}

這個location塊指定了"/"前綴,比較請求的URI,對于匹配到的URI,這個URI會被拼接到root指令指定路徑的后面.換句話說,在本地文件系統(tǒng)中去構(gòu)成路徑,就是去請求/var/www/html.

如果這里有很多l(xiāng)ocation指令,nginx會選擇最長前綴的.上面的location塊提供了一個最短前綴,只有當其他所有的location都沒有匹配到,才會使用它.

下一步,增加第二個localtion塊

server {
 location / {
 root /var/www/html;
 }
 location /images/ {
 root /data;
 }
}

當請求以/images/開始,第二個location將會匹配到 (location / 也會匹配到這個請求,但是他的前綴比第二個短)

現(xiàn)在它已經(jīng)可以作為web服務(wù)的配置文件正常工作了,監(jiān)聽80端口.在本地機器輸入http://localhost就可以訪問到該服務(wù).當請求URI以/images/開頭,服務(wù)器會響應(yīng)/data/images目錄下的文件.舉例:當請求是http://localhost/images/example.png,nginx會響應(yīng)/data/images/example.png文件.如果該文件不存在,nginx會響應(yīng)404錯誤.

當請求的URI不以/images/開頭,該請求會被映射到/var/www/html目錄.舉例:請求的URI是http://localhost/some/example.html,nginx會響應(yīng)/var/www/html/some/example.html文件.

應(yīng)用新的配置,開啟nginx或者發(fā)送reload信號給nginx的master進程,執(zhí)行以下命令:

nginx -s reload

萬一有不可預(yù)料的錯誤發(fā)生,去access.log error.log中找原因,這兩個文件的目錄在/usr/local/nginx/logs或者/var/log/nginx

配置簡單的反向代理服務(wù)

nginx最常用的功能就是作為反向代理服務(wù)器,意味著這個服務(wù)要接收請求,把請求引到被代理的服務(wù),從那里取回響應(yīng),發(fā)送給客戶端.

我們將配置基本的反向代理服務(wù)器,這個服務(wù)處理來自本地目錄的圖片文件的請求,并把其他的所有請求發(fā)給代理服務(wù)器.在這個例子中,兩個服務(wù)都會被定義在一個nginx實例中.

首先,定義一個代理服務(wù)器,在nginx配置文件中新添加一個server塊,如下:

server {
 listen 8080;
 root /data/up1;

 location / {
 }
}

這個簡單的服務(wù)監(jiān)聽8080端口(之前,我們沒有使用過listen指令,因為默認是監(jiān)聽的80端口),映射所有的請求到本地文件系統(tǒng)的/data/up1目錄.創(chuàng)建這個目錄,在里面放入index.html文件.注意root指令放在了server上下文了.當location塊下沒有root指令時,這個root指令將會被使用.

下一步,使用上一步中的服務(wù)配合,修改一下作為反向代理服務(wù)器配置.在第一個location塊中,添加一個proxy_pass指令,在參數(shù)中指明協(xié)議名和代理服務(wù)的端口(在本例,它是http://localhost:8080)

server {
 location / {
  proxy_pass http://localhost:8080;
 }

 location ~ \.(gif|jpg|png)$ {
  root /data/images;
 }
}

在第二個location塊中,參數(shù)是個正則表達式,匹配所有后綴是.gif.jpg或者.png的請求,使用正則表達式,應(yīng)該在前面加上~ .符合的請求將會被映射到/data/images目錄下

配置FastCGI代理服務(wù)

nginx可以用作去路由請求到FastCGI服務(wù),這樣就可以運行一些各種框架和PHP的應(yīng)用

最基本的nginx配置,使用fastcgi_pass指令替換proxy_pass指令,fastcgi_param指令設(shè)置傳遞給FastCGI服務(wù)器的參數(shù).假定FastCGI服務(wù)器運行在localhost:9000.把上一部分中的反向代理配置例子拿過來,修改參數(shù)為localhost:9000.在PHP中,SCRIPT_FILENAME參數(shù)被用作確定腳本名稱,QUERY_STRING 被用作傳遞請求參數(shù),配置如下:

server {
 location / {
 fastcgi_pass localhost:9000;
 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
 fastcgi_param QUERY_STRING $query_string;
 }

 location ~ \.(gif|jpg|png)$ {
 root /data/images;
 }
}

現(xiàn)在就創(chuàng)建了一個服務(wù),這個服務(wù)將路由出了靜態(tài)圖片文件之外的所有請求到被代理的服務(wù)器.這個被代理的服務(wù)器是通過FastCGI協(xié)議運行在localhost:9000上的.

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • JVM上高性能數(shù)據(jù)格式庫包Apache Arrow入門和架構(gòu)詳解(Gkatziouras)

    JVM上高性能數(shù)據(jù)格式庫包Apache Arrow入門和架構(gòu)詳解(Gkatziouras)

    Apache Arrow是是各種大數(shù)據(jù)工具(包括BigQuery)使用的一種流行格式,它是平面和分層數(shù)據(jù)的存儲格式,今天給大家介紹JVM上高性能數(shù)據(jù)格式庫包Apache Arrow入門和架構(gòu)介紹,感興趣的朋友一起看看吧
    2021-05-05
  • linux cgroups詳細介紹

    linux cgroups詳細介紹

    cgroups(Control Groups) 是 linux 內(nèi)核提供的一種機制,這種機制可以根據(jù)需求把一系列系統(tǒng)任務(wù)及其子任務(wù)整合(或分隔)到按資源劃分等級的不同組內(nèi),從而為系統(tǒng)資源管理提供一個統(tǒng)一的框架。這篇文章主要介紹了linux cgroups 簡介,需要的朋友可以參考下
    2018-08-08
  • linux記錄用戶登錄日志與命令執(zhí)行日志方式

    linux記錄用戶登錄日志與命令執(zhí)行日志方式

    文章介紹了在/etc/profile文件末尾增加代碼并執(zhí)行source使其生效后,不同用戶會在/var/log/history目錄下以用戶名為目錄名的子目錄中,進入對應(yīng)目錄后有以用戶登錄時間及IP為名字的文件,文件內(nèi)容為用戶執(zhí)行命令的日志信息
    2024-12-12
  • shell腳本設(shè)置防止暴力破解ssh

    shell腳本設(shè)置防止暴力破解ssh

    大家好,本篇文章主要講的是shell腳本設(shè)置防止暴力破解ssh,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2022-01-01
  • 解決CentOS7虛擬機無法上網(wǎng)并設(shè)置CentOS7虛擬機使用靜態(tài)IP上網(wǎng)

    解決CentOS7虛擬機無法上網(wǎng)并設(shè)置CentOS7虛擬機使用靜態(tài)IP上網(wǎng)

    這篇文章主要介紹了解決CentOS7虛擬機無法上網(wǎng)并設(shè)置CentOS7虛擬機使用靜態(tài)IP上網(wǎng),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • lftp 貼心好友 備份服務(wù)器bash腳本

    lftp 貼心好友 備份服務(wù)器bash腳本

    作為linux系統(tǒng)管理員,經(jīng)常需要同時管理多臺機器 備份各機器的配置文件就要靠腳本了,簡單明了
    2009-09-09
  • Shell中的單中括號和雙中括號的用法詳解

    Shell中的單中括號和雙中括號的用法詳解

    shell中的中括號在條件測試中是使用最頻繁的,無論是中括號還是雙中括號,可用于一些條件的測試:算術(shù)比較、文件屬性測試、字符串比較。這篇文章主要介紹了Shell中的單中括號和雙中括號的用法詳解,需要的朋友可以參考下
    2022-12-12
  • CentOS如果更改yum更新源詳解

    CentOS如果更改yum更新源詳解

    平時在安裝或更新CentOS軟件時,yum方式是最簡單方便的,而為避免從國外站點安裝更新速度過慢,需要更改yum更新源,那么CentOS怎么修改yum更新源呢?今天小編與大家分享下CentOS修改yum更新源的具體操作步驟,有需要的朋友不妨了解下。
    2016-10-10
  • Linux系列教程之虛擬機中安裝Centos7.0

    Linux系列教程之虛擬機中安裝Centos7.0

    這篇文章主要為大家詳細介紹了Linux系列教程之虛擬機中安裝Centos7.0的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-02-02
  • Linux服務(wù)器升級GLIBC失敗導(dǎo)致shell命令不可用的情況怎么處理

    Linux服務(wù)器升級GLIBC失敗導(dǎo)致shell命令不可用的情況怎么處理

    在某些linux系統(tǒng)里面本身自帶的glibc版本過低,如果你直接更新系統(tǒng)的glibc版本會導(dǎo)致系統(tǒng)崩潰,shell中的大部分命令(ls,cat,rm,cp,ln,scp,vi,yum等)都執(zhí)行報錯,嘗試新的ssh連接時提示拒絕連接,筆者最近不幸遇到了這個問題
    2024-11-11

最新評論

西乡县| 南投市| 陇西县| 望奎县| 育儿| 淳化县| 双流县| 翼城县| 伊吾县| 靖边县| 襄垣县| 饶河县| 廊坊市| 泰来县| 永丰县| 新疆| 六枝特区| 全州县| 兰州市| 越西县| 翁牛特旗| 上林县| 嵩明县| 遂平县| 梅州市| 平邑县| 柳河县| 定襄县| 密山市| 贵港市| 吴江市| 兴和县| 迭部县| 建阳市| 革吉县| 万宁市| 高淳县| 乌海市| 鱼台县| 垦利县| 桐庐县|