2019 年 10 月 8 日,苹果公司正式发布了新一代 macOS,版本为 Catalina (11.15)。
macOS Catalina 预装了 Ruby (2.6.3)、PHP (7.3.9)、Perl (5.18.4)、Python (2.7.16) 等常用的脚本语言,以及 Apache (2.4.41) Web 服务器。
需要注意的是,在新版本中,zsh 已取代 bash 成为新版操作系统中的默认 shell。需要个性化配置 zsh 的同学,可以参考少数派的这篇文章:让你的 Mac 提前用上 macOS Catalina 的 Shell——Oh My Zsh 配置指南。本文不再复述。
以下是我的 MNMP(macOS-nginx-MySQL-PHP)的安装过程。
本教程用使用了三处代替:
- 使用 iTerm2 代替了系统自带的命令行终端
- 使用 nginx 代替了系统自带的 Apache
- 使用 自行安装的 PHP7.4 代替了系统自带的 PHP7.3.9
安装 iTerm2
推荐 iTerm2,iTerm2 功能强大,可以替代系统默认的命令行终端。下载解压后,将 iTerm2 直接拖入 “应用程序” 目录。
安装 PhpStorm
推荐 JetBrains PhpStorm 作为集成开发工具。
安装 Xcode
Xcode 是苹果出品的包含一系列工具及库的开发套件。通过 AppStore 安装最新版本的 Xcode (9.0)。我们一般不会用 Xcode 来开发后端项目。但这一步也是必须的,因为 Xcode 会附带安装一些如 Git 等必要的软件。
安装 Command Line Tools for Xcode
这一步会帮你安装许多常见的基于 Unix 的工具。Xcode 命令行工具作为 Xcode 的一部分,包含了 GCC 编译器。在命令行中执行以下命令即可安装:
1 | xcode-select --install # 安装 Xcode Command Line Tools |
当 Xcode 和 Xcode Command Line Tools 安装完成后,你需要启动 Xcode,并点击同意接受许可协议,然后关闭 Xcode 就可以了。这一步骤也是必须的,否则 Xcode 包含的一系列开发工具都将不可用。
新版的Xcode已经自带Command Line Tools,不必单独安装。
安装 Homebrew
Homebrew 作为 macOS 不可或缺的套件管理器,用来安装、升级以及卸载常用的软件。在命令行中执行以下命令即可安装:
1 | /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" # 使用系统自带的 ruby 安装 Homebrew |
安装后可以修改 Homebrew 源,国外源一直不是很给力,这里我们将 Homebrew 的 git 远程仓库改为中国科学技术大学开源软件镜像:
1 | cd "$(brew --repo)" |
安装 PHP 7.4
安装 PHP7.4.*
来代替系统自带的 PHP7.3:
1 | brew install php |
启动 php 服务:
1 | brew services start php |
替换系统自带的 php-fpm:
1 | echo 'export PATH="/usr/local/opt/php/sbin:$PATH"' >> ~/.zshrc |
查看版本信息:
1 | php -v |
安装 MySQL
推荐 MySQL 8.0 作为数据库服务器:
1 | brew install mysql@5.7 #指定MySQL版本 |
当然,你也可以选择安装 PostgreSQL 或者 MariaDB。
安装完成后,启动 MySQL:
1 | brew services start mysql@5.7 |
进入 MySQL 服务器:
1 | mysql -u root -p |
如果报错:ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2)
使用mysql.server restart
命令重启MySQL
设置 root 密码、安全等级等参数:
1 | mysql_secure_installation |
然后会输出以下内容:
1 | Enter current password for root (enter for none): //默认没有密码,直接回车即可 |
按照步骤提示一步一步来即可。
使用
ps -ef|grep mysql
可查看MySQL的安装位置和数据保存位置--basedir=/usr/local/opt/mysql@5.7
# 安装位置--datadir=/usr/local/var/mysql
# 数据位置
安装 Redis
安装 redis 服务器:
1 | brew install redis |
安装完成后,启动 Redis:
1 | brew services start redis |
使用 redis 客户端:
1 | redis-cli |
安装 nginx
这里我们选择 nginx 代替系统自带的 Apache,作为我们的 Web 服务器:
1 | brew install nginx |
启动 nginx 服务:
1 | brew services start nginx |
查看已安装的 brew services(查看运行状态也是这条命令):
1 | brew services list |
配置 nginx.conf 文件
通过以下命令可以查看 nginx.conf 文件的位置:
1 | nginx -h |
输出:
1 | nginx version: nginx/1.17.3 |
打开配置文件:
1 | vi /usr/local/etc/nginx/nginx.conf |
在文件末尾可以看到:
1 | include servers/*; |
它将同目录下的 servers 目录里的文件都包含了进来,由此,我们可以在 servers 文件里创建开发项目的配置信息:
1 | cd /usr/local/etc/nginx/servers/ |
将以下配置信息,写入 test.conf 文件中:
1 | server { |
在上述的 /home/www/php-project
的目录下,我们创建一个 index.php 文件:
1 | vim /home/www/php-project/index.php |
写入内容:
1 |
|
重启 nginx:
1 | brew services restart nginx |
打开浏览器,访问 http://localhost:8099
,即可访问到关于 PHP 配置的信息。
安装 Composer
Composer 是 PHP 用来管理依赖(dependency)关系的工具。你可以在自己的项目中声明所依赖的外部工具库(libraries),Composer 会帮你安装这些依赖的库文件。
安装并替换镜像:
1 | curl -sS https://getcomposer.org/installer | php |
安装 PHP 扩展
以 php-redis 扩展为例,有下载源码包来进行安装或者 pecl install 安装:
1 | wget https://pecl.php.net/get/redis-5.1.0.tgz # 下载源码包 |
扩展安装完成后,我们还需最后一步,修改 php.ini
文件,并重启 PHP 服务:
1 | vi /usr/local/etc/php/7.4/php.ini # 追加 extension=redis.so |
或者使用 pecl 安装:
1 | pecl install redis |
详细步骤可参考官方文档:phpredis install