某日,領(lǐng)導(dǎo)把我叫去談話,說是要幫助我快速成長。給我出了這樣一個問題:
使用nginx搭建web服務(wù)器,可以在網(wǎng)頁上列出指定目錄下的文件,可以點擊下載文件。
說實話不是通信專業(yè)科班出身,之前從未接觸過,有點懵逼。于是我開始著手準(zhǔn)備,好在現(xiàn)在網(wǎng)絡(luò)太強大,一晚上對這方面的知識有所了解并完成了考察。
問題一:服務(wù)器的軟件有哪幾種
答:服務(wù)器軟件有 Apache 服務(wù)器、Nginx 服務(wù)器和 WindowsServer 服務(wù)器。
問題二、如何理解靜態(tài)網(wǎng)頁和動態(tài)網(wǎng)頁
答:不需要和后臺進(jìn)行交互的網(wǎng)頁一般可稱為靜態(tài)網(wǎng)頁,比如只能瀏覽和下載的頁面;
需要和后臺進(jìn)行交互的網(wǎng)頁成為動態(tài)服務(wù)器,比如提交表單。
這里我們需要搭建一個基于 Nginx 的靜態(tài)服務(wù)器。分步驟操作:
一、安裝 Nginx
這里我使用的是homebrew 進(jìn)行安裝。
安裝完成以后:
步驟一、首先更新 homebrew
brew update
如果上面操作長時間沒任何動靜,請更換鏡像,參考清華的鏡像 https://mirrors.tuna.tsinghua...
如果你在這一步遇到了這個錯誤:
Another active Homebrew update process is already in progress. Please wait for it to finish or terminate it to continue.
解決辦法:
rm -rf /usr/local/var/homebrew/locks
如果你對 rm -rf不熟悉,建議你直接到 locks 目錄下手動刪除。你放釀成大錯。
更新 homebrew 這一步不可省略,即使你跳過了這一步,直接使用 homebrew 安裝軟件,那么安裝之前還是會先更新,如下圖:

步驟二、查看 nginx 信息
brew info nginx
如果你還沒安裝 nginx,使用該命令會提示你 Not install。如果已經(jīng)安裝會顯示 nginx 一些信息,如下圖:

步驟三、安裝 nginx
brew install nginx
請注意,這個地方特別牛逼,不需要你手動安裝 nginx 的各個依賴庫了,這里全部安裝好,依賴庫主要由:openssl、pcre。我已經(jīng)安裝了 nginx,這里重復(fù)安裝會有提示,如下圖:

如果你是第一次安裝,安裝好之后會告訴你 nginx 配置文件路徑,安裝好之后我們也可以通過查看 nginx 信息獲取 nginx 路徑信息(如圖步驟二),配置文件路徑:/usr/local/etc/nginx/nginx.conf
可以直接通過文本編輯器工具打開編輯該文件,也可以通過 Vim 打開編輯。這里我打開的時候選擇打開方式為“文本編輯”,如圖:

步驟四、啟動 nginx
nginx
在命令行輸入這個命令后什么現(xiàn)象也沒有,在瀏覽器輸入 localhost:8080
那么你就會看到如下頁面:

恭喜你,看到這個網(wǎng)頁說明你的 nginx 安裝成功。其實這個頁面是一個靜態(tài)文件,路徑是:/usr/local/var/www/index.html
在路徑/usr/local/var/www下還有一個文件是:/usr/local/var/www/50x.html如果安裝不成功就會顯示這個文件里的內(nèi)容。
其實還有一個路徑下也有這兩個文件,內(nèi)容相同,隨便修改那一個路徑下的文件內(nèi)容,另一個路徑下的文件也會一起跟著變化:/usr/local/Cellar/nginx/1.15.8/html不知道這兩個路徑分別有什么不同。
這里的端口8080是可以修改的,只要和你本地的端口不沖突就可以,比如可以修改為8181或者9999。我們還可以使用命令行查看當(dāng)前哪些端口被占用了,而我們又很想使用該端口,那么就把占用端口的進(jìn)程結(jié)束掉,使得這個端口空閑下來。
二、搭建靜態(tài)服務(wù)器
搭建這個服務(wù)器的目的是能夠和在同一局域網(wǎng)下的同學(xué)們分享文件,當(dāng)然了我是搭建在我自己的電腦上的,我如果不共享我的電腦,那就只能我自己分享文件給其他同學(xué),只需要給他們一個鏈接,就可以隨意下載了。
比如我把需要分享給其他同學(xué)的文件全都放在一個目錄下。
我在桌面上創(chuàng)建了一個文件夾,命名為 NginxTest。那么這個文件在我電腦(當(dāng)前主機)的路徑就是:/Users/guxuecheng/Desktop/NginxTest
我們在安裝完畢 Nginx 以后,在瀏覽器輸入 localhost:8080網(wǎng)頁上網(wǎng)頁上顯示了 Welcome to nginx!為什么是顯示這個內(nèi)容呢?因為地址 localhost:8080就是指向這個文件的。現(xiàn)在我們希望這個地址指向我們指定的文件 NginxTest,那么就需要在配置文件里修改中這個指向?,F(xiàn)在我們再來分析一下配置文件:

- listen:nginx 使用的端口號,可以修改。
- Server_name: 默認(rèn)是 localhost,那么就只能本地自己訪問,其他人無法訪問?,F(xiàn)在把他修改為本地主機的 IP 地址,那么任何人有了這個 IP 都可以訪問。
- root:默認(rèn)是 html,所以才能顯示/usr/local/Cellar/nginx/1.15.8/html路徑下的兩個文件內(nèi)容?,F(xiàn)在我們需要顯示指定文件的內(nèi)容,那么久填寫指定文件的路徑。
- autoindex on:這個參數(shù)是自己添加的,意思就是允許 nginx 訪問文件夾目錄。如果沒有這個值,會報403。
- autoindex_exact_size off:顯示文件大小。
- autoindex_localtime on:顯示文件創(chuàng)建時間。
- charset utf-8,gbk:解決中文亂碼問題。
配置文件修改結(jié)束記得保存,然后需要重啟 nginx
nginx -s reload
然后在瀏覽器輸入Server_name 的值,也就是你自己填寫的 IP 地址,加上端口號,比如:192.168.13.78:8080就可以訪問并下載 NginxTest 目錄下的 文件了,可以把這個鏈接發(fā)送給你的同學(xué),他們也就可以訪問了,自己訪問還是只需要 localhost:8080就可以:
