【Nginx】—— nginx安裝、配置以及操作可能遇到的問題


前面在 圖文解說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安裝的東西都會出現在這個目錄下,之後讀者在安裝其他軟件的時候也可在該目錄下尋找對應的文件nginx
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
如果打開頁面如下,證明安裝完成,可以使用了。
nginx成功界面
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把,但是你會發現出現瞭如下的問題:
nginx啓動
這時你肯定心想,呀這麼多報錯,怎麼辦,咋解決,不用着急,我們一個一個解決,先看第一排的錯誤,一看,咦好眼熟,就是我們剛剛碰到的錯誤啊,用戶權限不夠,參照上一個解決方法,加一個sudo權限,一執行哎呀你發現第一個錯誤沒有了,但是還是有好多錯誤呀,其實這些錯誤就是說明一個問題,就是你的nginx已經啓動了
在這裏插入圖片描述
那爲什麼啓動了還是出現問題了呢,這個時候我們需要通過 ps -ef|grep nginx 查看一下後臺運行的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目錄
注意:每個同學的nginx版本可能是不一樣的,一定要安裝自己的版本進入對應的目錄下執行命令

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章