mac下安裝nginx


mac下安裝nginx

 

前言:nginx的強大不必多言,所以很自然很應當的我也來玩一玩。但是網上許多安裝和配置都太那啥了,在這里真的想說一句帶有引戰性質但我真的無意引戰的言論:現在的好多程序員的文筆實在是爛,寫的教程讓人着實難懂啊,該不會語文都是體育老師教的吧。

當前系統環境:

安裝工具:

homebrew(還沒用過的小伙伴可以點鏈接進行了解或者自行百度)

步驟:

  1、打開終端,習慣性命令:

brew update
//結果:Already up-to-date.

 

  2、終端繼續執行命令:

brew search nginx   //查詢要安裝的軟件是否存在

  3、這里我們多執行一步“廢”命令,不過有利於我們后面的配置:

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。

  4、正式開始安裝:

brew install nginx

  5、查看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)

   6、啟動nginx,終端輸入如下命令:

nginx

  沒有報錯即為啟動成功。
  7、訪問驗證:

    打開瀏覽器訪問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,大功告成啦!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM