Nginx配置靜態文件服務從入門到精通

經過學習和分享的過程,將本身工做中的問題和技術總結輸出,但願菜鳥和老鳥都能經過本身的文章收穫新的知識,並付諸實施。
linux

引言

使用Nginx佈署靜態文件服務,Nginx服務得先有才能進行後續的事情。若是有同窗不會部署的,能夠參考個人上一篇文章yum安裝Nginx全流程指南。已經部署好的同窗能夠直接看下面的內容了。nginx

Nginx 場景介紹

Nginx的配置繁多且複雜,可是實際的使用場景其實無非就是這麼幾個程序員

  • 正向代理
  • 反向代理
  • 負載均衡
  • 動靜分離

針對不一樣的應用場景有不一樣的配置文件,在將來我會針對不一樣的場景依次說明並給出對應的配置文件。在此留個坑,哈哈。vim

開始配置

回到當前主題,咱們是要配置一個靜態文件服務供客戶端訪問。瀏覽器

1、linux系統定義一個訪問目錄

在home目錄新建一個files文件夾,裏面存放文件供客戶端訪問服務器

mkdir -p /home/files負載均衡

2、Nginx 添加一個Location將剛纔的目錄暴露出去

若是你是用yum安裝nginx的,那在etc/nginx/nginx.conf目錄下會有一個文件default.confide

default.conf是默認配置文件,暴露80端口,默認頁面爲index.hmtl工具

cat default.conf能夠看到如圖所示內容,添加紅框中的配置到文件中學習

image-20210315195913846

    location /download {
        alias   /home/files/;
        autoindex on;
    }

這一段的意思是增長127.0.0.1:80/download的解析,路徑指向/home/files文件夾。 autoindex on;表明開啓目錄瀏覽

3、檢驗配置並重啓Nginx

一、檢驗配置文件是否正確

nginx -t

二、重啓nginx

nginx -s reload

其餘配置項

server {
        listen       80;

     location /download {
         #轉到的Nginx文件目錄
         alias /home/files;
         #打開目錄瀏覽功能
         autoindex on;
         #默認爲on,顯示出文件的確切大小,單位是bytes
         #顯示出文件的大概大小,單位是kB或者MB或者GB
         autoindex_exact_size off;
         #默認爲off,顯示的文件時間爲GMT時間。
         #改成on後,顯示的文件時間爲文件的服務器時間
         autoindex_localtime on;
         #讓瀏覽器不保存臨時文件
         add_header Cache-Control no-store;
         #避免中文亂碼
         charset utf-8,gbk;
         #但願請求文件是下載而不是顯示內容
         #add_header Content-Disposition attachment; 
        }
}

部署過程當中出現的問題

404

若是出現404錯誤,大機率多是配置文件出錯。

有多是location後多加一個左斜槓/

也有能夠是指向的目錄地址不存在

403

403 Forbidden  表明被禁止的,通常是三種狀況致使的

一、目錄權限不足

檢查目錄權限。權限不足就將權限加上

chmod -R 755 /home/files

二、nginx.conf用戶權限問題

vim /etc/nginx/nginx.conf

把 user 用戶名 改成 user root 或 其它有高權限的用戶名稱便可

3 、Centos中的selinux配置未關閉

查看SELinux狀態:

若是SELinux status參數爲enabled即爲開啓狀態

/usr/sbin/sestatus -v

如何關閉?

一、臨時關閉(不用重啓機器):

setenforce 0

二、永久關閉(要重啓機器)

vim /etc/selinux/config

將SELINUX=enforcing改成SELINUX=disabled

END

歡迎關注公衆號 程序員工具集  致力於分享優秀的開源項目、學習資源 、經常使用工具。

回覆關鍵詞「關注禮包」,送你一份最全的程序員技能圖譜。

wechat.png

相關文章
相關標籤/搜索