返回

手把手教你:如何在 M1 芯片 Mac 上安装和配置 MNMP 栈

后端

前言

MNMP 栈是 Web 开发中常用的软件组合,包括 MySQL/MariaDB 数据库管理系统、Nginx Web 服务器和 PHP 编程语言。通过将这三个组件集成在一起,你可以轻松搭建一个本地开发环境,用于构建和测试 Web 应用程序。

安装 Homebrew

在开始安装 MNMP 栈之前,我们需要先安装 Homebrew,这是一个开源的软件包管理工具,可以轻松地在 Mac 上安装各种软件。

  1. 打开终端(Terminal)并输入以下命令:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  1. 按照提示输入你的密码。

  2. 安装完成后,运行以下命令更新 Homebrew:

brew update

安装 MySQL/MariaDB

接下来,我们需要安装 MySQL 或 MariaDB 数据库管理系统。这两个数据库系统非常相似,你可以根据自己的喜好选择其中之一。

安装 MySQL

brew install mysql@8.0

安装 MariaDB

brew install mariadb

安装 Nginx

现在,我们需要安装 Nginx Web 服务器。

brew install nginx

安装 PHP

最后,我们需要安装 PHP 编程语言。

brew install php@8.1

配置 MySQL/MariaDB

安装完成后,我们需要配置 MySQL/MariaDB。

  1. 启动 MySQL/MariaDB 服务:
brew services start mysql@8.0

brew services start mariadb
  1. 创建一个新的数据库用户和数据库:
mysql -u root -p
CREATE USER 'your_username'@'localhost' IDENTIFIED BY 'your_password';
CREATE DATABASE your_database;
GRANT ALL PRIVILEGES ON your_database.* TO 'your_username'@'localhost';
FLUSH PRIVILEGES;
  1. 退出 MySQL/MariaDB:
quit

配置 Nginx

接下来,我们需要配置 Nginx。

  1. 复制并编辑 Nginx 的配置文件:
sudo cp /usr/local/etc/nginx/nginx.conf /usr/local/etc/nginx/nginx.conf.bak
sudo nano /usr/local/etc/nginx/nginx.conf
  1. 在配置文件中找到以下部分:
http {
  include mime.types;
  default_type application/octet-stream;

  # ...

  server {
    listen 80;
    server_name localhost;

    # ...
  }
}
  1. server 块中添加以下内容:
location / {
  root /usr/local/var/www/html;
  index index.php index.html;
}
  1. 保存并关闭配置文件。

配置 PHP

最后,我们需要配置 PHP。

  1. 复制并编辑 PHP 的配置文件:
sudo cp /usr/local/etc/php/8.1/php.ini-production /usr/local/etc/php/8.1/php.ini
sudo nano /usr/local/etc/php/8.1/php.ini
  1. 在配置文件中找到以下部分:
extension=mysqli.so
  1. 取消注释并保存配置文件。

测试 MNMP 栈

现在,我们可以测试一下 MNMP 栈是否工作正常。

  1. 创建一个新的 PHP 文件,并将其保存为 index.php
<?php
<?php
$servername = "localhost";
$username = "your_username";
$password = "your_password";
$dbname = "your_database";

// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);

// 检查连接
if ($conn->connect_error) {
  die("连接失败: " . $conn->connect_error);
}

// 查询数据库
$sql = "SELECT * FROM users";
$result = $conn->query($sql);

// 输出结果
if ($result->num_rows > 0) {
  // 输出数据
  while($row = $result->fetch_assoc()) {
    echo "id: " . $row["id"]. " - Name: " . $row["name"]. " " . $row["email"]. "<br>";
  }
} else {
  echo "0 results";
}

// 关闭连接
$conn->close();
?>
  1. index.php 文件复制到 Nginx 的根目录:
sudo cp index.php /usr/local/var/www/html
  1. 重启 Nginx 服务:
brew services restart nginx
  1. 在浏览器中访问 http://localhost

如果一切正常,你应该会看到一个显示数据库中所有用户信息的页面。

总结

恭喜你!你已经成功地在 M1 芯片的 Mac 上安装和配置了 MNMP 栈。现在,你就可以开始使用这个本地开发环境来构建和测试 Web 应用程序了。