前言:nginx的強大沒必要多言,因此很天然很應當的我也來玩一玩。可是網上許多安裝和配置都太那啥了,在這裏真的想說一句帶有引戰性質但我真的無心引戰的言論:如今的好多程序員的文筆實在是爛,寫的教程讓人着實難懂啊,該不會語文都是體育老師教的吧。html
當前系統環境:nginx
安裝工具:程序員
homebrew(還沒用過的小夥伴能夠點連接進行了解或者自行百度)vim
步驟:瀏覽器
一、打開終端,習慣性命令:服務器
brew update
//結果:Already up-to-date.
二、終端繼續執行命令:app
brew search nginx //查詢要安裝的軟件是否存在
三、這裏咱們多執行一步「廢」命令,不過有利於咱們後面的配置:tcp
brew info nginx
運行結果:工具
咱們能夠看到,nginx在本地還未安裝(Not installed),nginx的來源(From),Docroot默認爲/usr/local/var/www,在/usr/local/etc/nginx/nginx.conf配置文件中默認端口被配置爲8080從而使nginx運行時不須要加sudo,nginx將在/usr/local/etc/nginx/servers/目錄中加載全部文件,以及咱們能夠經過最簡單的命令 ‘nginx’ 來啓動nginx。網站
四、正式開始安裝:
brew install nginx
五、查看nginx安裝目錄(是否如info所說):
open /usr/local/etc/nginx/
成功打開nginx目錄,也能夠看到如info所說servers目錄以及nginx.conf的配置文件(後面會用到這個配置文件)。但咱們並無找到nginx被安裝到了哪裏。
終端繼續執行:
open /usr/local/Cellar/nginx //其實這個纔是nginx被安裝到的目錄
會看到一個以當前安裝的nginx的版本號爲名稱的文件夾,這個就是咱們安裝的nginx根目錄啦。進入1.12.2_1/bin 目錄,會看到nginx的可執行啓動文件。
一樣的,咱們在1.12.2_1/目錄下還能夠看到一個名字爲html的快捷方式文件夾(暫且就這麼叫吧),進入該目錄咱們會發現其實它指向的就是/usr/local/var/www目錄,這個在上面咱們查看的info信息中有提到(Dcroot)
六、啓動nginx,終端輸入以下命令:
nginx
沒有報錯即爲啓動成功。
七、訪問驗證:
打開瀏覽器訪問localhost:8080,這裏跟網上的一些教程會有些不同,正常狀況下到這一步就會能看到nginx的歡迎界面啦,然而博主卻遇到了坑爹的狀況(若是你能正常看到nginx歡迎界面,能夠直接跳過這一步了)
想必這個錯誤你們都很熟悉了,我就再也不多作解釋,接下來直接說緣由(該緣由僅爲猜想,由於無從驗證):安裝的nginx會默認在html(也就是/usr/local/var/www)目錄下生成一個歡迎頁面文件,而出現上面這種狀況就是歡迎頁面文件沒有生成(至於爲何沒有生成就不得而知了,一切都是猜想)。
那在解決這個問題以前,咱們先來了解一下nginx的配置文件吧(nginx.conf):
cat /usr/local/etc/nginx/nginx.conf
顯示配置文件的代碼爲:
#user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; #log_format main '$remote_addr - $remote_user [$time_local] "$request" ' # '$status $body_bytes_sent "$http_referer" ' # '"$http_user_agent" "$http_x_forwarded_for"'; #access_log logs/access.log main; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; #gzip on; server {
#偵聽8080端口 listen 8080;
#定義使用 localhost訪問 server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / {
#定義服務器的默認網站根目錄位置 root html;
#定義首頁索引文件的名稱 index index.html index.htm; } ...
...
... (註釋代碼太多,就不所有貼出來了)
include servers/*; }
經過配置文件咱們能夠看到其默認的網站根目錄爲html(即/usr/local/var/www),而默認的索引文件爲index.html 和 index.htm,這下就找到緣由了,原來咱們的根目錄少了首頁索引文件,那就來手動建立一個吧:
cd /usr/local/var/www/ //進入到www目錄下
touch index.html //建立一個新的index.html文件
vim index.html //編輯該文件
將以下代碼寫入index.html文件中:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>title</title> </head> <body> <div> <h1>個人nginx歡迎頁面</h1> </div> </body> </html>
按esc鍵,輸入:wq推出編輯並保存(這個相信你們都會,但仍是強迫症的寫上了)。
回到瀏覽器(localhost:8080)刷新:
OK,大功告成啦!