macos nginx安裝與配置

安裝

1. 安裝Homebrew

打開終端,輸入

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

這個步驟可能比較漫長,傻瓜式安裝就可以

確定mac是否安裝了brew,直接輸入brew命令,看見返回信息,就說明已經安裝了

2.依賴Homebrew安裝Nginx

終端輸入

brew install nginx

繼續(xù)需要漫長的等待
可以使用 nginx -v來查看當前安裝的版本,也可以驗證 Nginx 是否安裝成功

3.啟動Nginx

終端輸入

nginx

輸入這個命令后,終端沒有任何新的提示。打開瀏覽器,輸入 localhost:8080 如果出現一下界面,就說明安裝成功,否者重復上面的步奏

安裝成功

到這里,nginx的安裝已經基本完成。下面就是配置相關的設置了

配置

常用目錄

/usr/local/Cellar/nginx/1.12.2_1 (ngnix安裝目錄,后面的是當前安裝的版本號,根據實際情況可能不同)
/usr/local/var/www (服務器默認路徑)
/usr/local/etc/nginx (nginx配置文件所在位置)

常用命令

啟動: nginx
退出: nginx -s quit 、nginx -s stop
重新加載: nginx -s reload
如果命令前面加 sudo 表示使用超級管理員的身份啟動

配置nginx進入配置文件目錄 /usr/local/etc/nginx 打開nginx.conf 文件

可以看到很多配置信息

#user  nobody;
# 在配置文件的頂級main部分,代表worker角色的工作進程的個數
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 {
# 寫在events部分。每一個worker進程能并發(fā)處理(發(fā)起)的最大連接數
    worker_connections  1024;
}

http {
    # 文件擴展名與文件類型映射表
    include       mime.types;
    # 設定默認文件類型
    default_type  application/octet-stream;
     # 為Nginx服務器設置詳細的日志格式
    #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 記錄了哪些用戶,哪些頁面以及用戶瀏覽器、ip和其他的訪問信息
    # access log 路徑
    #access_log  logs/access.log  main;

    # 開啟高效文件傳輸模式,sendfile指令指定nginx是否調用sendfile函數來輸出文件,對于普通應用設為 on,如果用來進行下載等應用磁盤IO重負載應用,可設置為off,以平衡磁盤與網絡I/O處理速度,降低系統的負載。注意:如果圖片顯示不正常把這個改成off。
    sendfile        on;
    #tcp_nopush     on;

    #心跳檢測,用于重連等操作
    #keepalive_timeout  0;
    keepalive_timeout  65;
    #gzip  on;

    # 這個是常修改的配置
    # 虛擬主機配置
    server {
        # 監(jiān)聽端口
        listen       8080;
        # 域名設定,可以有多個
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            # 訪問當前端口時,默認映射查找的文件目錄地址
            # 默認為 /usr/local/var/www
            # 如果自己配置 service 修改root 地址為你的文件所在目錄
            root   html; 
            # 定義路徑下默認訪問的文件名
            index  index.html index.htm;
        }

        # 錯誤頁面配置

        #error_page  404              /404.html;
        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        } 
    }


    # 配置信息文件夾,會加載這個文件夾下的所有配置文件
    include servers/*;
}

配置文件默認訪問的是8080端口,如果我們想訪問其他的端口,我們在 nginx.conf 文件中進行配置即可

1.配置虛擬主機

就是在一臺服務器啟動多個網站。
如何區(qū)分不同的網站:1.域名不同 2.端口不同

1.1 通過端口區(qū)分不同虛擬機

/usr/local/etc/nginx/nginx.conf 可以配置多個server,配置多個虛擬主機。

比如我新增的配置如下

server {
        # 監(jiān)聽 81 端口
        listen       81;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            # 訪問   /Users/LXX/HBuilderProjects/Html5Test 文件
            root   /Users/LXX/HBuilderProjects/Html5Test;
            # 默認訪問  Canvas.html;
            index  Canvas.html;
        }
    }

保存配置文件后,讓nginx重新加載配置文件 nginx -s reload
在瀏覽器中輸入http://localhost:81/ 即可訪問到指定的文件

訪問81端口

1.2 通過域名區(qū)分虛擬主機

先掌握幾個關鍵名詞

  • 域名:就是網站 如 www.baidu.com
  • Dns服務器:把域名解析為ip地址。保存的就是域名和ip的映射關系。
    一個域名對應一個ip地址,一個ip地址可以被多個域名綁定。

本地測試可以修改hosts文件。
mac電腦的hosts文件位置 /private/etc/hosts 如果要修改hosts 文件,需要先拷貝hosts 文件到其他位置,修改完成后再復制到/private/etc文件夾下
可以配置域名和ip的映射關系,如果hosts文件中配置了域名和ip的對應關系,不需要走dns服務器。

  1. 修改hosts文件

192.168.14.101 www.taibai.com
192.168.14.101 www.baide.com

2.增加虛擬主機

server {
        listen       80;
        server_name  www.taibai.com;
        location / {
            root    /Users/LXX/HBuilderProjects/TestHtml;
            index  CSS.html;
        }
    }
 server {
        listen       80;
        server_name  www.baide.com;
        location / {
            root    /Users/LXX/HBuilderProjects/TestHtml;
            index  index.html index.htm;
        }
    }

2.實現反向代理

3.負載均衡
未完待續(xù)

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容