使用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
(如果需要)修改預設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
瀏覽器再更新一次就可以了