麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 服務器 > Linux服務器 > 正文

PHP程序員玩轉Linux系列 nginx初學者引導

2024-09-05 23:03:45
字體:
來源:轉載
供稿:網友

 

翻譯自官網文檔

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

開始,關閉和重載配置

nginx 開啟

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

nginx -s quit 優雅的退出

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

靜態內容服務

打開配置文件,里面已經包含了一個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通過他們監聽的端口和server_name來區分,它還會對請求頭和server塊里面location指令參數比較.

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

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

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

下一步,增加第二個localtion塊

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

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

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

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

應用新的配置,開啟nginx或者發送reload信號給nginx的master進程,執行以下命令:

nginx -s reload

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

配置簡單的反向代理服務

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

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

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

server { listen 8080; root /data/up1; location / { }}

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

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

server { location / {  proxy_pass http://localhost:8080; } location ~ /.(gif|jpg|png)$ {  root /data/images; }}

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

配置FastCGI代理服務

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

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

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; }}

現在就創建了一個服務,這個服務將路由出了靜態圖片文件之外的所有請求到被代理的服務器.這個被代理的服務器是通過FastCGI協議運行在localhost:9000上的.

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 精品国产91一区二区三区 | 在线观看免费视频麻豆 | 超碰人人做人人爱 | 精国品产一区二区三区有限公司 | 369看片你懂的小视频在线观看 | 国产91精品久久久久久久 | 国产欧美精品综合一区 | 中文字幕亚洲一区二区三区 | 在线看毛片的网站 | 日本一道aⅴ不卡免费播放 久久久久久久高清 | 一级黄色国产视频 | 国产一级二级在线播放 | 中文字幕亚洲视频 | 成人男女视频 | 毛片视频免费观看 | 87成人免费看片 | 久久久久女人精品毛片九一 | 一本视频在线观看 | 欧美色大成网站www永久男同 | 激情av在线 | 特级黄色影院 | 国内精品久久久久久久星辰影视 | 国产精品亚洲三区 | 亚洲性在线视频 | av免费av| 久久亚洲一区二区三区成人国产 | 91九色蝌蚪国产 | 中文字幕欧美在线 | 国产成人高清在线观看 | 欧美高清第一页 | 欧美一级免费高清 | 色操网| 欧美视频一二三区 | 黄色片视频在线观看 | 一分钟免费观看完整版电影 | 久久亚洲成人网 | 久久一区二区三区av | 国产精品久久久久久久久久久久久久久久 | 欧美a区| h视频在线观看免费 | 国产乱淫av片免费观看 |