前面在 圖文解說Nginx–基礎入門 詳細講述了nginx的一些基礎知識,接下來我們就來看看這個強大的服務器是怎麼進行安裝和配置的。
Nginx的安裝
Nginx可以有多種安裝的方式,我們在這就講解兩種安裝方式
官網下載安裝
Nginx官網下載鏈接 其實這個方法在mac下安裝比較麻煩,windows系統的獨自可以考慮這種方式比較方便,mac系統的可以考慮下面這個方法
brew安裝nginx
1、先安裝homebrew。homebrew官網 終端執行以下命令:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
出現如下提示表示安裝完成了。
Installation successful!
2、安裝Nginx,在終端執行
brew install nginx
安裝過程中會自己安裝依賴:
$ brew install nginx
Warning: You have Xcode 8 installed without the CLT;
this causes certain builds to fail on OS X El Capitan (10.11).
Please install the CLT via:
sudo xcode-select --install
==> Installing dependencies for nginx: openssl, pcre
==> Installing nginx dependency: openssl
安裝完成之後會出現以下提示表示安裝成功了
The default port has been set in /usr/local/etc/nginx/nginx.conf to 8080 so that
nginx can run without sudo.
nginx will load all files in /usr/local/etc/nginx/servers/.
To have launchd start nginx now and restart at login:
brew services start nginx
Or, if you don't want/need a background service you can just run:
nginx
==> Summary
🍺 /usr/local/Cellar/nginx/1.17.9: 7 files, 972.3K
注意:這裏我們可以看到nginx的默認安裝目錄/usr/local/Cellar/nginx/1.17.9
,其實所有通過brew安裝的東西都會出現在這個目錄下,之後讀者在安裝其他軟件的時候也可在該目錄下尋找對應的文件
3.鑑於安裝過程中出現的Warning,爲避免將來掉坑,運行
sudo xcode-select --install
終端會出現提示
xcode-select: note: install requested for command line developer tools
nginx的配置
nginx的配置文件是在 /usr/local/etc/nginx
config文件目錄 /usr/local/etc/nginx/nginx.conf
其實nginx的具體配置要根據項目的需求來配置,這裏筆者只是給大家舉一個例子,如果之前從未接觸過nginx的讀者可先去閱讀 圖文解說Nginx–基礎入門 瞭解Nginx的作用和背景之後再來使用,下面附上自己的nginx配置文件,有需要的讀者可自取
鏈接: Nginx相關配置文件鏈接 密碼:tur7
啓動nginx服務
1.啓動nginx服務命令
brew services start nginx
成功後,使用瀏覽器打開 http://localhost:8080
如果打開頁面如下,證明安裝完成,可以使用了。
2.nginx常用命令
nginx #啓動nginx
nginx -s quit #快速停止nginx
nginx -V #查看版本,以及配置文件地址
nginx -v #查看版本
nginx -s reload|reopen|stop|quit #重新加載配置|重啓|快速停止|安全關閉nginx
nginx -h #幫助
Nginx操作可能遇到的問題
加載配置文件
由於項目需要,修改了配置文件時是可以通過nginx -s reload
來重新加載配置文件,但是筆者在實際操作時就遇到如下問題:
當時也是找了各種方法都無法解決,網上有很多方法其實並無作用,後來發現這個問題其實很簡單,造成這個問題的原因就是當前的用戶沒有足夠的權限,無法執行該操作,如果讀者是自己使用,而不是與團隊使用的話,這個問題的解決方法其實很簡單,只需要給當前用戶加一個root權限,終端執行命令 sudo nginx -s reload
之後輸入開機時的密碼即可成功執行。
Nginx重啓
如果我們在做一個前後端分離的項目時用到了nginx,在我們在配置完nginx並使用之後,可能會關閉終端,或是關閉電腦,然後當你再一次啓動項目,訪問端口的時候你會發現界面不見了,然後怎麼刷新也沒有辦法看到數據,這個時候你不知道咋辦的時候,其實最有可能的原因就是的你的nginx出現問題了,因爲你的項目是一個前後端分離的項目,需要nginx進行端口間的轉發,如果nginx出現了問題就會導致你訪問對應端口時看不到數據,這時候我們想那就去啓動nginx把,但是你會發現出現瞭如下的問題:
這時你肯定心想,呀這麼多報錯,怎麼辦,咋解決,不用着急,我們一個一個解決,先看第一排的錯誤,一看,咦好眼熟,就是我們剛剛碰到的錯誤啊,用戶權限不夠,參照上一個解決方法,加一個sudo權限,一執行哎呀你發現第一個錯誤沒有了,但是還是有好多錯誤呀,其實這些錯誤就是說明一個問題,就是你的nginx已經啓動了
那爲什麼啓動了還是出現問題了呢,這個時候我們需要通過 ps -ef|grep nginx
查看一下後臺運行的nginx服務器
接下來我們可以通過如下命令直接將nginx進程和他的子進程kill掉,之後再重新啓動nginx,這樣就能夠解決問題了
//從容停止Nginx:
kill -QUIT 主進程號
//快速停止Nginx:
kill -TERM 主進程號
//強制停止Nginx:
pkill -9 nginx
重啓nginx的方式
kill -HUP 主進程號或進程號文件路徑
或者使用
cd /usr/local/nginx/1.17.9/bin
sudo ./nginx -s reload
注意:每個同學的nginx版本可能是不一樣的,一定要安裝自己的版本進入對應的目錄下執行命令