1. 程式人生 > 其它 >mac安裝nginx

mac安裝nginx

homebrew 安裝 Nginx

推薦 Mac 電腦上內建 homebrew 工具安裝。

安裝 Nginx:

brew install nginx

解除安裝 Nginx:

brew uninstall nginx

Homebrew
Homebrew是一款Mac OS平臺下的軟體包管理工具,擁有安裝、解除安裝、更新、檢視、搜尋等很多實用的功能。簡單的一條指令,就可以實現包管理,而不用你關心各種依賴和檔案路徑的情況,十分方便快捷。

援引官方的一句話:又提示缺少套件啦?別擔心,Homebrew 隨時守候。Homebrew —— OS X 不可或缺的套件管理器。

二、Homebrew安裝

  1. 要求
    Intel CPU

OS X 10.9 or higher

Xcode命令列工具

$ xcode-select --install
支援shell (sh或者bash)

  1. 安裝和解除安裝
    安裝

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
解除安裝

$ cd brew --prefix
$ rm -rf Cellar
$ brew prune
$ rm git ls-files
$ rm -r Library/Homebrew Library/Aliases Library/Formula Library/Contributions
$ rm -rf .git
$ rm -rf ~/Library/Caches/Homebrew
三、Homebrew基本使用
安裝任意包

$ brew install
示例:安裝node

$ brew install node
解除安裝任意包

$ brew uninstall
示例:解除安裝git

$ brew uninstall git
查詢可用包

$ brew search
檢視已安裝包列表

$ brew list
檢視任意包資訊

$ brew info
更新Homebrew

$ brew update
檢視Homebrew版本

$ brew -v
Homebrew幫助資訊

$ brew -h
四、注意
在Mac OS X 10.11系統以後,/usr/local/等系統目錄下的檔案讀寫是需要系統root許可權的,以往的Homebrew安裝如果沒有指定安裝路徑,會預設安裝在這些需要系統root使用者讀寫許可權的目錄下,導致有些指令需要新增sudo字首來執行,比如升級Homebrew需要:

$ sudo brew update
如果你不想每次都使用sudo指令,你有兩種方法可以選擇:

對/usr/local 目錄下的檔案讀寫進行root使用者授權

$ sudo chown -R $USER /usr/local
示例:

$ sudo chown -R gaojun /usr/local
(推薦)安裝Homebrew時對安裝路徑進行指定,直接安裝在不需要系統root使用者授權就可以自由讀寫的目錄下

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

啟動 Nginx

啟動
啟動 Nginx:
sudo nginx 或 sudo brew services start nginx
停止 Nginx:
sudo nginx -s stop 或 sudo brew services stop nginx
熱重啟 Nginx:
sudo nginx -s reload
強制停止 Nginx:
sudo pkill -9 nginx
修改配置
經常要用到的幾個檔案路徑:

/usr/local/etc/nginx/nginx.conf (nginx配置檔案路徑)
/usr/local/var/www (nginx伺服器預設的根目錄)
/usr/local/Cellar/nginx/1.17.9 (nginx的安裝路徑)
/usr/local/var/log/nginx/error.log (nginx預設的日誌路徑)

nginx 預設配置檔案簡介:

# 首尾配置暫時忽略
server {  
        # 當nginx接到請求後,會匹配其配置中的service模組
        # 匹配方法就是將請求攜帶的host和port去跟配置中的server_name和listen相匹配
        listen       8080;        
        server_name  localhost; # 定義當前虛擬主機(站點)匹配請求的主機名

        location / {
            root   html; # Nginx預設值
            # 設定Nginx伺服器返回的文件名
            index  index.html index.htm; # 先找根目錄下的index.html,如果沒有再找index.htm
        }
}
# 首尾配置暫時忽略

server{ } 其實是包含在 http{ } 內部的。每一個 server{ } 是一個虛擬主機(站點)。
上面程式碼塊的意思是:當一個請求叫做localhost:8080請求nginx伺服器時,該請求就會被匹配進該程式碼塊的 server{ } 中執行。
當然 nginx 的配置非常多,用的時候可以根據文件進行配置。

英文文件:http://nginx.org/en/docs/
中文文件:https://blog.redis.com.cn/doc/

https://www.php.cn/nginx/424631.html
https://www.php.cn/nginx/
https://juejin.cn/post/6844904129987526663
https://www.cnblogs.com/bhlsheji/p/4026296.html
https://www.cnblogs.com/Torres-tao/p/16260843.html