nginx一個server配置多個location


如果想要使用nginx部署多個前端項目或者一些靜態資源的話。

我們可以使用nginx作為一台服務器使用。

1.使用不同的端口號來映射不同的資源,這樣在請求url上就必須帶有端口號

2.同一個80端口號,配置不同的location,每個location對應一個資源,例如使用80端口,location / 訪問網站; location /tmp 訪問靜態文件

方式一:

http {
    server {
        listen       80;
        server_name  ip;

        location ~/group([0-9])/M00/{
                root /data/fastdfs/data;
                ngx_fastdfs_module;
        }

        location /tmp/ {
            root /root/java;
        }
    }
}

方式二:

http {
    server {
        listen       80;
        server_name  ip;

        location ~/group([0-9])/M00/{
                root /data/fastdfs/data;
                ngx_fastdfs_module;
        }

        location /tmp/ {
            alias /root/java/tmp/;
        }
    }
}

root與alias主要區別在於nginx如何解釋location后面的uri,這會使兩者分別以不同的方式將請求映射到服務器文件上。

root:root路徑+location路徑     即:/root/java/tmp/

alias:使用alias路徑替換location路徑 即:/root/java/tmp/

alias是一個目錄別名的定義,root則是最上層目錄的定義。

還有一個重要的區別是alias后面必須要用“/”結束,否則會找不到文件的,而root則可有可無

部署前端網站實例舉例:(參考)注:前端項目放在/root/www/ 文件夾下

# 前端網站配置實例
http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;

    keepalive_timeout  65;
    server {
        listen 80;
        server_name (ip或者域名);


        location / {
            root   /root/www/admin;
            try_files $uri $uri/ /index.html;
        }

        location /pc {
            root   /root/www;
            try_files $uri $uri/ /index.html;
                                 
        }

        location /shop {
            root   /root/www;
            try_files $uri $uri/ /index.html;
                                 
        }
   }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM