Mac Os下搭建MNMP环境

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


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

Homebrew网址
https://brew.sh/index_zh-cn.html

通过以下命令
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 
进行安装

安装Nginx

brew install nginx
WX20171213-184418@2x.png
sudo nginx //启动nginx服务 默认127.0.0.1:8080端口
sudo nginx -s reload|reopen|quit //重新加载|重启|退出
WX20171213-184720@2x.png
WX20171213-184800@2x.png

安装PHP
由于Mac上默认安装过PHP,在10.12.6下默认为5.6
所以需要安装PHP7.0

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  // 查看php版本,此时因为有默认PHP存在 所以还是显示先前的版本,需要下图的配置
WX20171213-190805@2x.png

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


安装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]     //是否重载表格数据,选择是

似乎这个安全安装只能进行一次。很难过。

此时基本环境搭配完成,等使用时在进行进一步的配置


1.25更新:
今天使用mysql的时候发现密码忘记了,试了很多种办法。
最终实现如下:

mysql.server stop  //关闭mysql服务
//然后运行mysqld_safe
./mysqld_safe --skip-grant-tables &
//若提示进程以及存在则使用命令终止进程
ps -A|grep mysql  //查看有关进程
kill -9 xxx //xxx表示进程号
WX20180125-201014@2x.png

image.png
此时重复./mysqld_safe --skip-grant-tables & 命令
回车后再输入mysql 进入数据库
直接输入
update mysql.user set authentication_string=password('123456') where user='root' and Host='localhost'
进行更改密码,提示成功后 退出数据库,并重启数据库即可
image.png

2.5更新
在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;
        }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容