作者:三十三重天
博客:http://www.zhouhuibo.club
通過學習和分享的程序,將自己作業中的問題和技術總結輸出,希望菜鳥和老鳥都能通過自己的文章識訓新的知識,并付諸實施,
引言
使用Nginx布署靜態檔案服務,Nginx服務得先有才能進行后續的事情,如果有同學不會部署的,可以參考我的上一篇文章yum安裝Nginx全流程指南,已經部署好的同學可以直接看下面的內容了,
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可以看到如圖所示內容,添加紅框中的配置到檔案中

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
歡迎關注公眾號 程式員工具集 ???? 致力于分享優秀的開源專案、學習資源 、常用工具,
回復關鍵詞“關注禮包”,送你一份最全的程式員技能圖譜,

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/270698.html
標籤:其他
上一篇:HO引擎近況20210315
