1. 程式人生 > >Nginx配置靜態檔案服務從入門到精通

Nginx配置靜態檔案服務從入門到精通

> 作者:三十三重天 > > 部落格:[http://www.zhouhuibo.club](www.zhouhuibo.club) **通過學習和分享的過程,將自己工作中的問題和技術總結輸出,希望菜鳥和老鳥都能通過自己的文章收穫新的知識,並付諸實施。** ## 引言 使用Nginx佈署靜態檔案服務,Nginx服務得先有才能進行後續的事情。如果有同學不會部署的,可以參考我的上一篇文章[yum安裝Nginx全流程指南](https://zhouhuibo.club/posts/60770.html)。已經部署好的同學可以直接看下面的內容了。 ## Nginx 場景介紹 Nginx的配置繁多且複雜,**但是**實際的使用場景其實無非就是這麼幾個 * 正向代理 * 反向代理 * 負載均衡 * 動靜分離 >針對不同的應用場景有不同的配置檔案,在未來我會針對不同的場景依次說明並給出對應的配置檔案。在此留個坑,哈哈。 ## 開始配置 回到當前主題,我們是要配置一個靜態檔案服務供客戶端訪問。 ### 一、linux系統定義一個訪問目錄 在home目錄新建一個files資料夾,裡面存放檔案供客戶端訪問 > mkdir -p /home/files ### 二、Nginx 新增一個Location將剛才的目錄暴露出去 如果你是用yum安裝nginx的,那在`etc/nginx/nginx.conf`目錄下會有一個檔案`default.conf` `default.conf`是預設配置檔案,暴露80埠,預設頁面為`index.hmtl` `cat default.conf`可以看到如圖所示內容,新增紅框中的配置到檔案中 ![image-20210315195913846](https://gitee.com/happlyfox/img/raw/master/image-20210315195913846.png) ``` location /download { alias /home/files/; autoindex on; } ``` 這一段的意思是增加`127.0.0.1:80/download`的解析,路徑指向`/home/files`資料夾。` autoindex on;`代表開啟目錄瀏覽 ### 三、檢驗配置並重啟Nginx 1、檢驗配置檔案是否正確 ``` nginx -t ``` 2、重啟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 代表被禁止的,一般是三種情況導致的 #### 1、目錄許可權不足 檢查目錄許可權。許可權不足就將許可權加上 ``` chmod -R 755 /home/files ``` #### 2、nginx.conf使用者許可權問題 ``` vim /etc/nginx/nginx.conf ``` 把 user 使用者名稱 改為 user root 或 其它有高許可權的使用者名稱稱即可 #### 3 、Centos中的selinux配置未關閉 檢視SELinux狀態: 如果SELinux status引數為enabled即為開啟狀態 ``` /usr/sbin/sestatus -v ``` 如何關閉? 1、臨時關閉(不用重啟機器): setenforce 0 2、永久關閉(要重啟機器) ``` vim /etc/selinux/config ``` 將SELINUX=enforcing改為SELINUX=disabled ## END 歡迎關注公眾號 程式設計師工具集