mac下安裝nginx

前言: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,大功告成啦!

相關文章
相關標籤/搜索