nginx部署靜態網站

實驗環境

  • 服務器:centos7.5 1核1G
  • Nginx版本:nginx-1.14.2

主題

  1. 部署靜態文件
  2. 根據不一樣url請求路徑,定向到不一樣的系統文件夾

部署靜態文件

假設nginx安裝在「/usr/local/nginx」目錄,建立文件夾"/root/web/html",上傳index.html到該目錄下,index.html的代碼以下:html

<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>index</title>
</head>
<body>
<span>Hello Nginx</span>
</body>
</html>

修改"/usr/local/nginx/conf/nginx.conf"文件,在http節點下新增server節點,因爲80端口已經被使用,那麼就使用8080端口,配置以下:nginx

server {
    listen 8080;
    server_name localhost;
    
    location / {
            root /root/web/html;
    }
}

檢測nginx.conf文件的正確性,經過nginx指令web

 ./nginx -t

輸出以下,說明nginx配置文件正確centos

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 

從新加載nginx配置文件瀏覽器

./nginx -s reload;

經過瀏覽器訪問「http://ip:8080,輸出:Hello Nginx服務器

根據不一樣url請求路徑,定向到不一樣的系統文件夾

建立文件夾"/root/web/images", 並在該文件夾下上傳一張圖片「1.jpg", 將url以/images/爲前綴的定向到該文件夾,修改nginx配置文件「/usr/local/nginx/conf/nginx.conf」,添加以下節點:url

 location /images/ {
    root /root/web;
 }

完整配置以下:centos7

server {
    listen 8080;
    server_name localhost;

    location / {
            root /root/web/html;
    }

    location /images/ {
            root /root/web;
    }
}

從新加載nginx配置文件spa

./usr/loca/nginx/sbin/nginx -s reload;

訪問http://139.9.50.226:8080/images/1.jpg,顯示圖片, nginx將該請求映射到"/root/web/images/1.jpg"文件。代理

特別須要注意:

location /images/ {
    root /root/web;
}

該location的做用是將匹配的url的/images/...部分加在root對應的路徑後面,nginx映射到文件系統中。

在使用nginx的過程當中,常常將該location配置成:

location /images/ {
    root /root/web/images; //設置路徑:/root/web/images/images/
}

特別須要注意nginx是否須要加上匹配的前綴,在反向代理的使用過程當中,也須要特別注意 

相關文章
相關標籤/搜索