mac使用Homebrew安装redis、mysql并配置

安装Homebrew

Homebrew是一款Mac OS平台下的软件包管理工具,拥有安装、卸载、更新、查看、搜索等很多实用的功能。简单的一条指令,就可以实现包管理,而不用你关心各种依赖和文件路径的情况,十分方便快捷。
提示:如果系统转变了sell类型,可能会导致brew 指令command not found的问题,具体参考我之前的文章 mac在使用zsh后各种问题解决

安装Homebrew

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

校验安装

brew -v                  
Homebrew 2.4.13
Homebrew/homebrew-core (git revision 81b05; last commit 2020-08-23)
Homebrew/homebrew-cask (git revision 70c2bf; last commit 2020-08-23)

Homebrew基本使用

brew install <packageName>
brew uninstall <packageName>
brew services start <packageName>
brew services stop <packageName>
#如安装 node
brew install node
#如卸装 node
brew uninstall node
#如开启redis服务
brew services start redis
#如停止redis服务
brew services stop redis

安装redis

安装了Homebrew之后你会发现,所有的软件包管理起来是如此简单;

开始安装

brew install redis
# 最后控制台出现,后证明安装成功
==> Summary
/usr/local/Cellar/redis/版本号

查看安装redis后的路径及配置文件位置

  • Homebrew安装的软件会默认在**/usr/local/Cellar/**路径下
  • redis的配置文件redis.conf存放在**/usr/local/etc**路径下

启动redis

方式一:窗口关闭redis自动关闭,适合不需要后台运行的

redis-server /usr/local/etc/redis.conf

方式二:窗口关闭redis服务不会停止

brew services start redis

redis配置

1、对于喜欢使用终端的修改方式

cd /usr/local/ect/
vim redis.conf

2、对于不习惯使用中断vi命令的,可以直接通过右键Finder(访达)–>前往文件夹 --> 输入/usr/local/ect/ 找到redis.conf使用文本编辑器编辑即可

修改运行模式

redis默认是前台启动,我们实际开发是以守护进程的方式运行,找到daemonize no并修改成yes

修改局域网可访问

很多时候我们安装的redis也会开放给其他局域网的同事进行连接,修改

bind 127.0.0.1   成为  bind 0.0.0.0 

(如果指定某ip访问可以设置对应ip,注意生产环境切勿直接0.0.0.0 将允许所有ip连接)

开启redis的key过期推送

常用的开发过程中,我们很多时候需要用到redis的key过期的消息通知,比如未支付订单过期、活动时间过期等等,找到

notify-keyspace-events Ex //注释打开

安装mysql8

开始安装

博主电脑上安装的是8.0.19 版本~以下配置均针对该版本进行,其余较低版本或许存在配置差异;

brew install mysql
#或指定版本号 如8.0.19
brew install mysql@8.0.19
#安装后查看Mysql版本
mysql -V        
mysql  Ver 8.0.19 for osx10.15 on x86_64 (Homebrew)

启动服务

#启动
brew services start mysql
#重启
brew services restart mysql
#停止
brew services stop mysql

登录mysql并设置root密码

通过brew新安装的mysql,root用户默认没有密码,提示输入密码时直接回车即可

mysql -u root -p
# 修改root密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '密码';

设置外部访问

该配置文件在 /usr/local/etc/mysql.cnf ,通过终端或访达打开后看到如下配置,将127.0.0.1 修改为0.0.0.0 即可

# Default Homebrew MySQL server config
[mysqld]
# Only allow connections from localhost
bind-address = 0.0.0.0
mysqlx-bind-address = 0.0.0.0 

至此,通过本篇文章向大家介绍了Homebrew对我们常用的一些工具的安装,相信大家一定会爱上这款工具,诸如:git、node等等都可以直接使用brew install 指令进行安装啦~

<think>好的,用户想在Mac配置PHP项目所需的Nginx、PHP、MySQLRedis环境。我需要根据提供的引用内容来组织回答。首先,用户可能有两种选择:使用Docker安装或者本地直接安装。引用里提到了两种方法,比如引用[2]和引用[3]是关于Docker的,而引用[1]和引用[4]是本地安装的步骤。我应该分两部分来回答:Docker方式和本地安装方式。 Docker方式可能更方便,尤其是对于不想在本地安装太多服务或者需要环境隔离的情况。需要详细说明每个步骤,比如安装Docker,然后拉取镜像,运行容器,确保各个服务之间的连接,比如PHP和MySQLRedis的链接。引用[2]和[3]中的命令可能需要整理,比如启动MySQLRedis、PHP容器,然后配置Nginx。特别要注意Nginx的配置文件中fastcgi_pass指向PHP容器的名称和端口,比如myphp:9000,这需要确保容器名称正确,且网络连接正常。此外,数据持久化也是需要考虑的,使用-v参数挂载本地目录到容器中,这样数据不会丢失。 本地安装的话,用户需要分别安装每个服务。比如通过Homebrew安装Nginx、PHP、MySQLRedis,然后逐一配置。引用[1]提到在php.ini中添加extension=redis来启用Redis扩展,这需要用户安装php-redis扩展,可能通过pecl安装配置Nginx的时候,需要修改server块,处理PHP请求,将fastcgi_pass指向本地的PHP-FPM端口,通常是127.0.0.1:9000。MySQL安装后需要初始化,设置root密码,可能修改身份验证方式,比如使用mysql_native_password,避免新版本的问题。 用户可能遇到的问题包括服务启动失败,端口冲突,扩展未正确加载,或者配置文件错误。需要提醒他们检查服务状态,查看日志,以及确认配置文件的路径是否正确。比如PHP的php.ini位置可能因版本不同而不同,可以用php --ini来查找。另外,权限问题也是常见的,比如/usr/local/etc/nginx下的目录权限,或者MySQL的数据目录权限。 还要注意不同安装方式的优缺点。Docker更干净,容易管理,适合开发多个项目,但可能需要学习Docker的基本操作。本地安装更直接,适合长期使用或生产环境,但可能遇到依赖冲突。 最后,生成相关问题时要覆盖两种安装方式,可能的问题包括性能比较、常见错误解决、多版本管理、数据备份和迁移,以及如何添加其他扩展等。</think>### 分步配置指南 #### 方法一:使用Docker快速搭建(推荐) 1. **安装Docker** - 从[Docker官网](https://www.docker.com/)下载安装Docker Desktop for Mac。 2. **启动MySQL容器** ```bash docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql ``` - 参数说明:`-p 3306:3306` 映射端口,`-e MYSQL_ROOT_PASSWORD=root` 设置root密码[^2]。 3. **启动Redis容器** ```bash docker run --name redis -p 6379:6379 -d redis ``` 4. **启动PHP-FPM容器** ```bash docker run --name myphp -v /本地项目路径:/var/www/html -d php:8.0-fpm ``` - 通过`-v`挂载本地PHP项目目录到容器内[^3]。 5. **配置Nginx容器** - 创建`nginx.conf`文件: ```nginx server { listen 80; server_name localhost; location ~ \.php$ { fastcgi_pass myphp:9000; # 关联PHP容器 fastcgi_param SCRIPT_FILENAME /var/www/html$fastcgi_script_name; include fastcgi_params; } } ``` - 启动Nginx: ```bash docker run --name nginx -p 80:80 -v /本地nginx配置目录:/etc/nginx/conf.d --link myphp:php -d nginx ``` `--link`确保Nginx与PHP容器通信。 #### 方法二:本地手动安装 1. **安装Homebrew** ```bash /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" ``` 2. **安装Nginx** ```bash brew install nginx brew services start nginx # 启动服务 ``` 3. **安装PHP 8.0及扩展** ```bash brew install php@8.0 brew install php-redis # Redis扩展 echo 'extension=redis' >> /usr/local/etc/php/8.0/php.ini # 启用扩展[^1] ``` 4. **安装MySQL** ```bash brew install mysql brew services start mysql mysql_secure_installation # 初始化安全设置[^4] ``` 5. **安装Redis** ```bash brew install redis brew services start redis ``` 6. **配置Nginx支持PHP** - 编辑`/usr/local/etc/nginx/servers/php_project.conf`: ```nginx server { listen 80; root /Users/你的用户名/项目路径; location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; # PHP-FPM默认端口 include fastcgi_params; } } ``` - 重启Nginx:`brew services restart nginx` #### 验证步骤 1. **PHP连接MySQL测试** ```php <?php $conn = new mysqli("localhost", "root", "root"); if ($conn->connect_error) die("MySQL连接失败"); echo "MySQL连接成功"; ``` 2. **PHP连接Redis测试** ```php <?php $redis = new Redis(); $redis->connect('127.0.0.1', 6379); echo "Redis连接状态:" . $redis->ping(); ``` ### 常见问题解决 - **PHP扩展未加载**:检查`php.ini`路径是否正确,使用`php --ini`查看加载的配置文件。 - **端口冲突**:通过`lsof -i :端口号`查找占用进程终止。 - **Docker容器互通失败**:使用`docker network create`创建自定义网络,替代`--link`。
评论 24
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Micro麦可乐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值