Mac OS下搭建MNMP环境

2,111 阅读2分钟

MNMP是指Mac+Nginx+MySQL+PHP

  • Mac在这里是指Mac系统
  • Nginx是一个高性能的HTTP和反向代理服务器
  • MySQL是一个小型关系型数据库管理系统。
  • PHP是一种在服务器端执行的嵌入HTML文档的脚本语言

安装Homebrew

在Mac下需要一个Homebrew,类似于Ubuntu下的apt-get,通过brew命令,快速安装软件包。

Homebrew网址 brew.sh/index.html

通过以下命令进行安装

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

安装Nginx

brew install nginx
sudo nginx // 启动nginx服务 默认127.0.0.1:8080端口
sudo nginx -s reload|reopen|quit //重新加载|重启|退出

安装PHP

brew update

// 添加三方仓库
brew tap homebrew/dupes
brew tap homebrew/versions
brew tap homebrew/homebrew-php

brew options php70 // 查看安装选项
brew install php70 (--with-x 根据需要在安装选项中选择)

php -v

在命令行中输入如下命令:

sudo vim ~/.bash_profile

然后,在文件的最后加上:

export PATH=/usr/local/php5-7.0.7-20160526-160257/bin:$PATH;

注意: 这是以安装的PHP7.0的路径来配置的,你需要进到/usr/local中查看你所安装的PHP路径。

最后,运行命令:

source ~/.bash_profile

配置完成,再试试 php -v显示的就是最新安装的PHP版本了

在 /usr/local/var/www中添加测试文件测试即可

在nginx和php以及mysql安装成功后,忘记了php-fpm,所以无法访问php,此时在~目录下输入php70-fpm start 有些人会报出命令不存在。这是因为环境变量的问题。 网上很多都是用ln设置软连接的方式,而我选择了更直接了当的方式,去/etc的目录下更改paths文件,添加上你php70-fpm可执行文件的路径即可。 打开php-fpm服务后即可访问php文件。

如果出现File not Found,则将nginx.conf更改如下

再此之前此处的注释应该是全部取消掉的
将fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; 
替换成fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
location ~ \.php$ {
            root           html;   //更改你的根目录即可
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /$document_root$fastcgi_script_name;
            include        fastcgi_params;
        }

安装MySQL

brew install mysql
输入以下命令进行安全安装
mysql_secure_installation
Enter current password for root (enter for none):  //默认没有密码,直接回车即可
> Change the root password? [Y/n]      //是否更改root密码,选择是,然后输入并确认密码
> Remove anonymous users? [Y/n]       //是否删除匿名用户,选择是
> Disallow root login remotely? [Y/n]     //是否禁止远程登录,选择是
> Remove test database and access to it? [Y/n]   //是否删除test数据库,选择是
> Reload privilege tables now? [Y/n]     //是否重载表格数据,选择是

重置MySQL密码:

mysql.server stop  //关闭mysql服务
//然后运行mysqld_safe
./mysqld_safe --skip-grant-tables &
//若提示进程以及存在则使用命令终止进程
ps -A|grep mysql  //查看有关进程
kill -9 xxx //xxx表示进程号
此时重复./mysqld_safe --skip-grant-tables & 命令
回车后再输入mysql 进入数据库
直接输入
update mysql.user set authentication_string=password('123456') where user='root' and Host='localhost'
进行更改密码,提示成功后 退出数据库,并重启数据库即可