搜尋
首頁運維Nginx使用nginx提供靜態內容服務

使用nginx提供靜態內容服務

Nov 30, 2019 pm 02:37 PM
nginx

使用nginx提供靜態內容服務

一個重要的Web伺服器任務是提供檔案(如圖片或靜態HTML頁面)。

根據請求,檔案將從不同的本機目錄提供:/data/www(可能包含HTML檔案)和/ data/images(包含映像)。這將需要編輯配置文件,並使用兩個位置區塊在http區塊內設定伺服器區塊。 ( 建議學習:nginx使用 )

首先,建立/data/www目錄,並將一個包含任何文字內容的index.html檔案放入其中,並建立​​/ data/images目錄並在其中放置一些圖像。 建立兩個目錄-

[root@localhost ~]# mkdir -p /data/www
[root@localhost ~]# mkdir -p /data/images
[root@localhost ~]#

分別在上面建立的兩個目錄中放入兩個檔案:/data/www/index.html 和/data/images/logo.png,/data /www/index.html檔案的內容就一行,如下-

<h2 id="nbsp-New-nbsp-Static-nbsp-WebSite-nbsp-Demo"> New Static WebSite Demo.</h2>

接下來,開啟設定檔(/usr/local/nginx/conf/nginx.conf)。預設的設定檔已經包含了伺服器區塊的幾個範例,大部分是註解掉的。現在註解掉所有這樣的區塊,並啟動一個新的伺服器區塊:

http {
    server {
    }
}

通常,設定檔可以包括伺服器監聽的連接埠和伺服器名稱區分的幾個server區塊。當nginx決定哪個伺服器處理請求後,它會根據服務器區塊內部定義的location指令的參數測試請求頭中指定的URI。

將下列location區塊新增至伺服器(server)區塊:

http {
    server {
        location / {
            root /data/www;
        }
    }
}

該location區塊指定與請求中的URI相比較的「/」前綴。對於匹配請求,URI將被加入到root指令中指定的路徑(即/data/www),以形成本機檔案系統上所請求檔案的路徑。如果有幾個匹配的location塊,nginx將選擇具有最長前綴來匹配location塊。上面的location塊提供最短的前綴長度為1,因此只有當所有其他location塊不能提供匹配時,才會使用該塊。

接下來,新增第二個location區塊:

http {
    server {
        location / {
            root /data/www;
        }
        location /images/ {
            root /data;
        }
    }
}

它將是以/images/(位置/也匹配這樣的請求,但具有較短前綴,也就是「/images/」比「/」長)的請求來匹配。

server區塊的最終配置應如下所示:

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

這已經是一個在標準連接埠80上偵聽並且可以在本機上存取的伺服器( http://localhost/ )的工作配置。回應以/images/開頭的URI的請求,伺服器將從/data/images目錄發送檔案。例如,回應http://localhost/images/logo.png請求,nginx將發送服務上的/data/images/logo.png檔案。如果檔案不存在,nginx將發送一個指示404錯誤的回應。不以/images/開頭的URI的請求將會對應到/data/www目錄。例如,當回應http://localhost/about/example.html請求時,nginx將發送/data/www/about/example.html檔案。

要套用新配置,如果尚未啟動nginx或透過執行下列命令將重載訊號傳送到nginx的主程序:

[root@localhost ~]# /usr/local/nginx/sbin/nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@localhost ~]# /usr/local/nginx/sbin/nginx -s reload

如果錯誤或例外導致無法正常工作,可以嘗試查看目錄/usr/local/nginx/logs或/var/log/nginx中的access.log和error.log檔案中尋找原因。

開啟瀏覽器或使用CURL存取Nginx伺服器如下所示-

使用nginx提供靜態內容服務

#完整的nginx.conf檔案設定內容如下:

#user  nobody;
worker_processes  1;
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;
#pid        logs/nginx.pid;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    #log_format  main  &#39;$remote_addr - $remote_user [$time_local] "$request" &#39;
    # &#39;$status $body_bytes_sent "$http_referer" &#39;
    # &#39;"$http_user_agent" "$http_x_forwarded_for"&#39;;
    #access_log  logs/access.log  main;
    sendfile        on;
    #tcp_nopush     on;
    #keepalive_timeout  0;
    keepalive_timeout  65;
    #gzip  on;
    ## 新服务(静态网站)
    server {
        location / {
            root /data/www;
        }
        location /images/ {
            root /data;
        }
    }
}

以上是使用nginx提供靜態內容服務的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
NGINX的優點:速度,效率和控制NGINX的優點:速度,效率和控制May 12, 2025 am 12:13 AM

NGINX受歡迎的原因是其在速度、效率和控制方面的優勢。 1)速度:採用異步、非阻塞處理,支持高並發連接,靜態文件服務能力強。 2)效率:內存使用低,負載均衡功能強大。 3)控制:通過靈活的配置文件管理行為,模塊化設計便於擴展。

NGINX與Apache:社區,支持和資源NGINX與Apache:社區,支持和資源May 11, 2025 am 12:19 AM

NGINX和Apache在社區、支持和資源方面的差異如下:1.NGINX的社區雖然規模較小,但活躍度和專業性高,官方支持通過NGINXPlus提供高級功能和專業服務。 2.Apache擁有龐大且活躍的社區,官方支持主要通過豐富的文檔和社區資源提供。

NGINX單元:應用程序服務器簡介NGINX單元:應用程序服務器簡介May 10, 2025 am 12:17 AM

NGINXUnit是一個開源的應用服務器,支持多種編程語言和框架,如Python、PHP、Java、Go等。 1.它支持動態配置,可以在不重啟服務器的情況下調整應用配置。 2.NGINXUnit支持多語言應用,簡化了多語言環境的管理。 3.通過配置文件,可以輕鬆部署和管理應用,如運行Python和PHP應用。 4.它還支持高級配置,如路由和負載均衡,幫助管理和擴展應用。

使用NGINX:優化網站性能和可靠性使用NGINX:優化網站性能和可靠性May 09, 2025 am 12:19 AM

NGINX可通过以下方式提升网站性能和可靠性:1.作为Web服务器处理静态内容;2.作为反向代理服务器转发请求;3.作为负载均衡器分配请求;4.作为缓存服务器减轻后端压力。通过配置优化如启用Gzip压缩和调整连接池,NGINX能显著提高网站性能。

NGINX的目的:服務Web內容等NGINX的目的:服務Web內容等May 08, 2025 am 12:07 AM

nginxserveswebcontentandactsasareverseproxy,loadBalancer和more.1)效率高效的servesstaticContentLikeHtmlandImages.2)itfunctionsasareverseproxybalancer,and andginxenhanceperforfforfforfforfforfforffrenfcaching.4)

NGINX單元:簡化應用程序部署NGINX單元:簡化應用程序部署May 07, 2025 am 12:08 AM

NGINXUnit通過動態配置和多語言支持簡化應用部署。 1)動態配置無需重啟服務器即可修改。 2)支持多種編程語言,如Python、PHP、Java。 3)採用異步非阻塞I/O模型,提升高並發處理性能。

NGINX的影響:Web服務器及其他NGINX的影響:Web服務器及其他May 06, 2025 am 12:05 AM

NGINX起初解決C10K問題,現已發展為處理負載均衡、反向代理和API網關的全能選手。 1)它以事件驅動和非阻塞架構聞名,適合高並發。 2)NGINX可作為HTTP和反向代理服務器,支持IMAP/POP3。3)其工作原理基於事件驅動和異步I/O模型,提升了性能。 4)基本用法包括配置虛擬主機和負載均衡,高級用法涉及復雜負載均衡和緩存策略。 5)常見錯誤包括配置語法錯誤和權限問題,調試技巧包括使用nginx-t命令和stub_status模塊。 6)性能優化建議包括調整worker參數、使用gzip壓縮和

NGINX故障排除:診斷和解決常見錯誤NGINX故障排除:診斷和解決常見錯誤May 05, 2025 am 12:09 AM

Nginx常見錯誤的診斷與解決方法包括:1.查看日誌文件,2.調整配置文件,3.優化性能。通過分析日誌、調整超時設置和優化緩存及負載均衡,可以有效解決404、502、504等錯誤,提高網站穩定性和性能。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境