Mac 下 Nginx、PHP、MySQL 和 PHP-fpm 的安装和配置

首先先装一个交 homebrew 一个类似于npm 的包管理器 可以用来安装 nginx 和MySQL
安装命令 brew install 软件名 就好了 可能你在安装过程中 你会遇到各种各样的问题
祝你好运吧。我搞了好久,不断的查资料。

1. 安装 Mac 的包管理器 - homebrew

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

如果出现安装不成功,首先检查一下是不是自己网有问题如果网没问题,但是就是打不开。那就只能手动安装
去github 把这个仓库的文件夹全部下载下来。

Homebrew的安装建议直接在官方Git下载后手动安装:

1、下载Homebrew Git上所有文件 https://github.com/Homebrew/brew

2、把Homebrew文件夹中的文件复制到/usr/local/目录下,如果没有的文件夹请自行创建。

3 怎么检测自己的homebrew 是不是安装好了直接 在终端 输入 brew -v 就好了

brew 常用命令

安装软件:brew install 软件名,例:brew install wget
搜索软件:brew search 软件名,例:brew search wget
卸载软件:brew uninstall 软件名,例:brew uninstall wget

更新所有软件:brew update
更新具体软件:brew upgrade 软件名 ,例:brew upgrade git
显示已安装软件:brew list
查看软件信息:brew info/home 软件名 ,例:brew info git / brew home git
PS:brew home指令是用浏览器打开官方网页查看软件信息
查看哪些已安装的程序需要更新: brew outdated
显示包依赖:brew reps
显示帮助:brew help##

2. brew install nginx 直接开始安装 nginx

安装完 测试是否成功 直接在浏览器输入localhost:8080 看有没有出现
在这里插入图片描述
如果出现这个恭喜你 成功了。 这才是第一步 ,接下来开始配置nginx 因为我们要服务器端能够运行 php 文件
1. 打开 nginx.config 文件

命令行输入这个

vim /usr/local/etc/nginx/nginx.conf  

找到 server 的 location 配置,给 index 加一个 index.php

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

并打开 server 下被注释的 location ~.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;
}

并修改 fastcgi_param 参数

fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;

创建 index.php

<?php
echo "Hello World!";
?> 

在 /usr/local/var/www 目录下,删除 index.html,创建 index.php
这个时候还不能访问php站点,因为还没有开启php-fpm。

3.使用mac 系统自带的php-fam

Mac OSX 10.9的系统自带了PHP、php-fpm,省去了安装php-fpm的麻烦。 这里需要简单地修改下php-fpm的配置,否则运行php-fpm会报错。

$ sudo cp /private/etc/php-fpm.conf.default /private/etc/php-fpm.conf
$ vim /private/etc/php-fpm.conf  

修改php-fpm.conf文件中的error_log项【32行】,默认该项被注释掉,这里需要去注释并且修改为error_log = /usr/local/var/log/php-fpm.log。如果不修改该值,运行php-fpm的时候会提示log文件输出路径不存在的错误

在之前nginx配置文件default.conf中设置的root项对应的文件夹下创建测试文件index.php: 可以把index.html 删除了 测试一下看是不是能够成功。

启动服务

$ sudo php-fpm

4.安装MySQL

1.直接使用brew install mysql
2. 怎么启动服务器呢

sudo /usr/local/mysql/support-files/mysql.server start

2.安装完最头疼的是就是修改MySQL的默认密码,注意一定要看自己的mysql版本

这是一种方法 一定要去进入数据库中看看你的mysql 这个库中 user 表中的字段,有的有password 这一列,有的就没有这一列。没有就是这一列 authentication_string 这一列就是密码。

mysql> use mysql
mysql> update user set authentication_string=password('HEpan693640.') where user='root';
mysql> flush privileges;
mysql> quit

这个方法是针对MySQL新版本的

  use mysql;
  ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';

4.php 连接数据库

这个是直接在index.php可以直接测试 看php 是否连接成功
注意在mac下 127.0.0.1 和localhost 这是两种不同的连接方式和windows 不一样 ,一个是tcp 一个是scoket

    $servername="127.0.0.1";
    $username="root";
    $password="";
   
    //创建连接 
    $conn = mysqli_connect($servername, $username, $password);
    echo  $conn

如果打印出来是个对象,表示你连接成功了,不然的话就是连接失败。

问题1
mac上连接mysql数据库时报错:SQLSTATE[HY000] [2002] No such file or directory 【在php.ini文件中找到extension=php_mysqli.dll一行不需要取消注释,否则启动php-fpm或报错: Unable to load dynamic library】

查看是否有php.ini文件

 cd/etc 
ls

没有php.ini文件执行下面命令

cp sudo cp php.ini.default php.ini

编辑php.ini文件

$ vim php.ini

在php.ini文件中,找到以下三项,并做修改后如下

1013行    pdo_mysql.default_socket= /tmp/mysql.sock
1162行    mysql.default_socket = /tmp/mysql.sock
1221行    mysqli.default_socket =/tmp/mysql.sock

重启nginx和php-fpm,在浏览器中输入localhost:8080即可进行检验

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值