M1 Mac 配置&初始化 Nginx+PHP+MySQL环境

环境

  1. Homebrew🍺
  2. Xcode命令行工具
  3. PHP 8.0
  4. Nginx
  5. MySQL

1.安装Xcode命令行工具

执行命令 Xcode-select --install

2.安装Homebrew


访问 Homebrew 官网,点击访问官网
按照指引,安装Homebrew

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

Homebrew常用指令

  • 安装package

brew install 包名

  • 卸载package

brew uninstall 包名

  • 检查package的信息

brew info 包名

  • Homebrew升级

sudo brew update

  • Homebrew搜索package

brew search 包名

  • 检视已安装的package

brew list

3.使用Homebrew安装Nginx

  • 安装Nginx

sudo brew install nginx

  • 启动Nginx

nginx
安装&启动完成后,从浏览器中输入localhost:8080即可访问到Nginx服务器的欢迎页面

  • 关闭Nginx

nginx -s sotp

  • 重启Nginx

nginx -s reload

  • 查看Nginx版本

nginx -v

4.安装PHP 8.0

我作为一个从5.5时代就开始做php开发的开发者,也是第一次使用8.0的稳定版。直接一步到位的原因是:更好的语法&JIT的支持,希望能够在8.0时代获得更好的性能。因此本教程,将会采用8.0版本的PHP进行安装。

  • 使用Homebrew安装PHP

brew install php
如果需要特定版本的php则包名改为`php@指定的版本号`即可

  • 启动&重启

php-fpm

  • 强制关闭php-fpm

sudo pkill -INT -o php-fpm

5.配置PHP

  • 进入php配置文件夹

通过brew info找到php配置文件的位置
brew info php

  • 编辑php.ini文件

vim php.ini

  • 守护PHP进程

默认安装的PHP仅仅会在前台运行,如果此时我们关闭命令窗口的话,php-fpm将会自动关闭,无法继续处理我们的php请求。
开启 `守护模式` 即可解决这一问题

1. 配置php-fpm.conf
vim php-fpm.conf
2. 查找 daemonize
直接键入/daemonize
3. 修改值为yes并且保存
daemonize = yes
虽然注释处,写了默认值应该为yes,但是不知道是什么原因,导致了默认值是no

  • 安装php拓展

通过Homebrew安装的php,自带了pecl。这是一个php拓展的包管理器,后续的拓展安装,仅仅需要通过该管理器安装即可。一般开发用不到,主要是用于实现加密或者网络的时候,可能需要通过该tab来安装

pecl version 查看版本信息

pecl help 可以查看命令帮助

pecl search xdebug 搜索可以安装的扩展信息

pecl install xdebug 安装扩展

pecl install http://pecl.php.net/get/redis-4.2.0.tgz 安装指定版本扩展

6.配置Nginx

  • 通过brew info找到Nginx的配置目录
  • 打开nginx.conf

vim nginx.conf

1. 修改启动端口为80

  • 找到listen关键词
server{ 
    listen 8080; // Nginx需要监听的接口 
    server_name localhost; 
    ...
}
  • 修改为80端口
server{ 
    listen 80; // Nginx需要监听的接口 
    server_name localhost; 
    ...
}

2. 修改默认入口文件
在index这一行中,加入index.php,将其也作为入口文件。

location / { 
    root html; 
    index index.html index.htm index.php;
}

3. 启用php流量转发
找到location ~.php$关键词,将注释删掉(删掉代码前面的’#’),启用php流量转发

location ~ .php$ { 
    root html; 
    fastcgi_pass 127.0.0.1:9000; 
    fastcgi_index index.php; 
    fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; 
    include fastcgi_params;
}

4. 配置php流量转发规则
修改location ~.php$中的fastcgi_param配置项

将其从SCRIPT_FILENAME /scripts$fastcgi_script_name

修改为SCRIPT_FILENAME $document_root$fastcgi_script_name

Nginx常用命令

  • 查看报错文件的路径

nginx -V

nginx version: nginx/1.19.10
built by clang 12.0.0 (clang-1200.0.32.29)
built with OpenSSL 1.1.1k 25 Mar 2021
TLS SNI support enabled
configure arguments: 
...
--error-log-path=/opt/homebrew/var/log/nginx/error.log 
...

找到error-log-path关键字,后面的值即为错误报告的地址。
使用tail -f 文件名查看即可。

  • 检查配置文件正确性

nginx -t

  • 检查Nginx进程运行状态

ps -aux | grep nginx

7.验证PHP环境

  • 启动Nginx服务器
  • 启动php-fpm服务
  • 通过brew info nginx查询网页根目录
  • 在网页根目录下创建index.php

index.php代码:

<?php phpinfo(); ?>
  • 通过浏览器访问http://localhost/index.php

若出现PHP Version + 版本号 以及 php相关的信息则安装完成

php安装成功

8.安装MySQL

我当前的系统版本是BigSur,如果你是Catalina也是兼容的,下载最新版就好了。

  • 点击”No thanks, just start my download.”开始下载即可
  • 下载完成,解压双击运行pkg即可,按照步骤执行即可

管理MySQL

  • 通过访问系统偏好设置的MySQL即可管理MySQL服务
  • 通过GUI管理服务的启停

通过命令行管理MySQL

  • 查看MySQL版本

mysql -v

  • 登录MySQL服务器

mysql -u 用户名 -p
出现`Enter password`后输入你的密码回车,即可登录MySQL服务器。

  • 登出MySQL服务器

exit

通过phpMyAdmin管理MYsql

  • 访问官网下载phpMyAdmin即可,点击访问
  • 下载完成后,将phpmyadmin文件夹拖入网站根目录
  • 通过浏览器访问http://localhost/phpmyadmin即可

常见问题

  • 执行mysql显示command not found: mysql

这是由于没有将mysql指令加入到命令行窗口中的原因

解决方法:

  1. cd ~ 切换到用户目录
  2. 输入vim .bash_profile 打开命令行配置文件
  3. 输入export PATH=$PATH:/usr/local/mysql/bin
  4. 保存文件
  5. 运行source ~/.bash_profile加载配置文件
  6. 此时就可以顺利使用MySQL了

结尾

这篇教程主要目的是为了帮助我记录下Mac系统中配置环境的流程而写。方便我日后如果需要重装或者更换电脑的时候可以快速将环境搭建完成。希望这篇教程也能帮助到你,谢谢。

作者: 7gugu

I'm a phper!

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据