使用Homebrew安装PHP、MySql、nginx-Mac

因為後天要上PHP,所以我就先自己試著安裝。

注意:

  • 以下的操作都是實際操作的結果,不是網路文章 copy 來的。
  • 有些檔案路徑有可能因為版本的不同而有所不同。

過去比較典型的安裝是 PHP+MySql+Apache,最近上網看了一些文章,有人使用 nginx ,就想試看看。

nginx

是一個免費的開源軟體,一個非同步框架的 web server,不過它的功用遠不僅止於 web server,它更多的用途是作為反向代理、Http Cache、負載平衡器。另外還有一個 web server就是 Apache。

優點

  • 設置簡易
  • 記憶體消耗低
  • 反向代理&負載平衡

使用 HomeBrew

Homebrew是一種套件管理工具,應用程式的安裝方式不見得簡單,管理起來十分麻煩,通過 Homebrew 可以將應用程式集中管理,不管是要更新還是解安裝,統一使用 Homebrew 提供的指令即可輕易的處理。

安裝 Homebrew

打開終端機,輸入brew -v 看看電腦裡有沒有安裝,如果沒有就輸入下面的指令安裝:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

基本指令

#查看homebrew版本
$ brew -v
#帮助
$ brew -h
#更新版本
$ brew update
#查看已安装列表
$ brew list
#查看 package 訊息
$ brew info <packageName>
#查看可用套件
$ brew search <packageName>
#安装套件
$ brew install <packageName>
	eg: brew install php@7.2
#卸载套件
$ brew uninstall <packageName>
	eg: brew uninstall php@7.2

安装Nginx

安装指令

$ brew install nginx

HuangSP_20220709_172920.jpeg

(如果需要)修改預設8080 端口為 80

$ sudo vim /opt/homebrew/etc/nginx/nginx.conf

Nginx 指令

// 啟動 Nginx
$ nginx

// 關閉 Nginx
$ nginx -s stop

// 重啟 Nginx (這個是用在 Nginx 正在運行時重啟)
$ nginx -s reload

如果在 Nginx 未運行時執行 nginx -s reload 會出現錯誤訊息:

nginx: [error] invalid PID number "" in "/opt/homebrew/var/run/nginx.pid"

查詢 Nginx 文件位置(測試nginx配置文件是否存在語法錯誤

$ nginx -t

安裝Mysq

安裝

$ brew install mysql

啟動

$ mysql.server start

登入mysql

# 首次登入不需要輸入密碼
$ mysql -uroot -p

登入成功會出現 mysql>

mysql密碼修改

$ ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';

修改成功會出現

Query OK, 0 rows affected (0.00 sec)

退出mysql

$ mysql> exit

安裝PHP

查詢可安裝版本

#查询需要的php版本
$ brew search php

安裝

$ brew install php

# 如果有要安裝指定的版本,例如7.2版
$ brew install php@7.2

啟動php-fpm

$ brew services start php

到目前為止,安裝的很順利,沒有什麼問題,但是中間有個流程我省略掉了,就是要設定 “ 將 php 跟 mysql 加入launchctl啟動控制 “ 因為不知道這個設定與否會有什麼影響所以就暫時沒有設定,之後學一段時間後再看看。

測試 nginx

啟動 nginx :

$ nginx

打開瀏覽器,輸入 http://localhost/

測試 PHP 程式是否可以被解析

新增一個 php 的檔案到 www 資料夾內,因為我是用 homebrew 安裝的,所以我的路徑會是在 homebrew 底下。

打開 www 資料夾會看到還有其他兩個 html 檔案,一個是首頁,一個是錯誤頁面。

我的路徑:/opt/homebrew/var/www

我寫一個簡單的 php 程式碼:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>ch02</title>
</head>
<body>
    <?php
    phpinfo();
    ?>
</body>
</html>

打開瀏覽器,輸入 localhost

成功!!

在輸入新增的 php 檔名:

失敗了!!! 出現了 “ File not found “ 的文字

上網搜了一輸~

有個地方要改:

打開 nginx.conf 檔案

找到下面這一段:

改完後存檔

重啟 php-fpm 跟 nginx

瀏覽器再更新一次就可以了