本文是用Mac系统下搭建的环境,使用Linux的童鞋也不要在意,因为很相似,只有下载安装的方式有一点区别。直接进入正文:

1、首先我们需要下载Homebrew,Homebrew简称brew,是Mac OSX上的软件包管理工具,能在Mac中方便的安装软件或者卸载软件,可以说Homebrew相当于Linux下的apt-get、yum,它的官方网址是 http://brew.sh ,打开终端输入:

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

Homebrew使用

搜索软件:brew search 软件名,如 brew search wget

安装软件:brew install 软件名,如 brew install wget

卸载软件:brew remove 软件名,如 brew remove wget

2、安装好后我们下载并安装Nginx,打开终端输入:

brew install nginx

安装好了后我们可以看到:

ok,我们现在直接启动nginx:

$ sudo nginx

输入:ps aux | grep nginx ,可以看到nginx进程已启动:

现在我们再打开浏览器访问127.0.0.1(或localhost)可以看到下面的效果:

这时候我们想让这个页面显示成我们想要显示的页面,怎么办呢?

打开nginx.conf文件,终端输入:

vi /usr/local/etc/nginx/nginx.conf

找到以下代码并修改成如下代码:

server {
listen 8080;
server_name localhost; charset koi8-r; access_log /usr/local/etc/nginx/logs/host.access.log main; location / {
root /Users/Evai/web; #你存放的PHP页面路径
index index.php;
}
}

继续往下找并修改,这段代码是解析php文件的:

location ~ \.php$ {
root /Users/Evai/web; #你存放的php页面路径
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

保存好文件后,重新加载配置,输入:

nginx -s reload

nginx 常用命令:

#启动 nginx
sudo nginx
# 重新加载配置 | 重启 | 停止 |退出
nginx -s reload|reopen|stop|quit
#测试配置是否有语法错误
nginx -t

3、接下来是安装PHP,PHP在mac下默认安装了,但是不好控制版本,所以我们用brew可以再mac下安装最新版本,甚至是多个版本,我装了php5.6,完整安装路径如下:

brew update
brew tap homebrew/dupes
brew tap josegonzalez/homebrew-php
brew install php56 --with-fpm --without-apache --without-snmp --without-apache --with-debug --with-fpm --with-intl --with-homebrew-curl --with-homebrew-libxslt --with-homebrew-openssl --with-imap --with-mysql --with-tidy

接下来在 ~/.bashrc 文件里加入以下环境变量:

export PATH="/usr/local/bin:/usr/local/sbin:$PATH"

同时将php-fpm加入开机启动:

ln -sfv /usr/local/opt/php56/*.plist ~/Library/LaunchAgents
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.php56.plist

运行 php -v 查看:

4、最后是安装Mysql,一样的方法:

brew install mysql
unset TMPDIR
mysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp
sudo chown -R 777 /usr/local/var/mysql/

第一句是安装,后面的是确保正常使用。可以通过以下命令启动或停止:

mysql.server start
mysql.server stop

启动后默认应为空密码,可以通过mysqladmin设置一个密码:

mysqladmin -uroot password "你的密码"

最后将Mysql加入开机启动:

cp /usr/local/Cellar/mysql/5.6.22/homebrew.mxcl.mysql.plist ~/Library/LaunchAgents/

结束,环境配置完成!

Mac OS + Nginx + Mysql + PHP 本地环境搭建的更多相关文章

  1. mac OS X下Java项目环境搭建+IntelliJ IDEA Jrebel插件安装与破解+Office 2016破解版安装

    一.mac OS X下Java项目环境搭建 因为某些原因新入手了台最新版的MacBook Pro,意味着今天要花一天时间安装各种软件以及项目环境搭建╮(╯▽╰)╭ 项目环境搭建步骤: 1.安装jdk ...

  2. CentOS 7 yum nginx MySQL PHP 简易环境搭建

    用centos自带的yum源来安装nginx,mysql和php,超级方便,省去编译的麻烦,省去自己配置的麻烦,还能节省非常多的时间. 我们先把yum源换成国内的阿里云镜像源(当然不换也可以),先备份 ...

  3. Qt在Mac OS X下的编程环境搭建

    尊重作者,支持原创,如需转载,请附上原地址:http://blog.csdn.net/libaineu2004/article/details/46234079 在Mac OS X下使用Qt开发,需要 ...

  4. CentOS 7 yum nginx MySQL PHP7 简易环境搭建(精)

    用centos自带的yum源来安装nginx,mysql和php,超级方便,省去编译的麻烦,省去自己配置的麻烦,还能节省非常多的时间. 我们先把yum源换成国内的阿里云镜像源(当然不换也可以),先备份 ...

  5. Qt在Mac OS X下的编程环境搭建(配置Qt库和编译器,有图,很清楚)

    尊重作者,支持原创,如需转载,请附上原地址:http://blog.csdn.net/libaineu2004/article/details/46234079 在Mac OS X下使用Qt开发,需要 ...

  6. Windows下Nginx+Mysql+Php(wnmp)环境搭建

    前言 最近想在windows下使用nginx搭建web环境,本来想用套件(WNMP)一键安装,但后来放弃了,觉得还是自己动手,丰衣足食的好,而且套件的局限性太大.所以后来就各种搜索,看到前辈写关于wn ...

  7. MAC os x 系统java开发环境搭建教程

    https://jingyan.baidu.com/article/3d69c55147a3baf0cf02d7ca.html

  8. 搭建windows环境下(nginx+mysql+php)开发环境

    搭建windows环境下(nginx+mysql+php)开发环境   1. 所需准备应用程序包        1.1 nginx 程序包nginx-1.0.4.zip或其他版本(下载地址: http ...

  9. nginx+uwsgi+django开发环境搭建

    Nginx+uWSGI+Djangoi开发环境搭建 Django简介,环境搭建 uWSGI简介,安装与配置 Nginx安装与配置 Nginx+uWSGI+Django原理解析 1.django简介,环 ...

随机推荐

  1. 使用SourceTree

    SourceTree是个git的GUI软件. 教程将“使用Git”那个小节可视化,更为直观. 第一次启动的时候选择忽略,然后直接进入界面.  填入git地址与注册邮箱即可 例如mindset这本书的g ...

  2. spring--事务原理

    Spring支持以下7种事务传播行为. 传播行为 XML文件 propagation值 含义 PROPAGATION_REQUIRED REQUIRED 表示当前方法必须在一个具有事务的上下文中运行. ...

  3. Python执行系统命令的方法

    Python中执行系统命令常见方法有两种: 两者均需 import os (1) os.system # 仅仅在一个子终端运行系统命令,而不能获取命令执行后的返回信息 system(command) ...

  4. hdu 4700 那个啥树

    思路:我也不知道叫什么树,但是构造过程能理解. 我们可以将先将边按降序排序,那么就用kruskaer构造生成树.构造好的生成树也就是满足条件的图,因为点i,j的最大流量就是生成树上点i到点j的路径上的 ...

  5. MVC中的Routing

    Routing ASP.NET Routing模块的责任是将传入的浏览器请求映射为特有的MVC controller actions. public static void RegisterRoute ...

  6. Set集合——HashSet、TreeSet、LinkedHashSet(2015年07月06日)

    一.Set集合不同于List的是: Set不允许重复 Set是无序集合 Set没有下标索引,所以对Set的遍历要通过迭代器Iterator 二.HashSet 1.HashSet由一个哈希表支持,内部 ...

  7. Jquery实现循环删除Reaper某一行

    一.实现的效果图:(点击删除图标,juery实现删除整行) 二.MVC开发模式 SQLServer层 #region 删除 /// <summary> /// 根据自动编号删除快递线路信息 ...

  8. MVC System.Web.Mvc.ModelClientValidationRule”同时存在

    错误 2280 类型“System.Web.Mvc.ModelClientValidationRule”同时存在于“C:\Program Files\Microsoft ASP.NET\ASP.NET ...

  9. 网络HTTP、JSON、XML解析等 复习

    一.一个HTTP请求的基本要素1.请求URL:客户端通过哪个路径找到服务器 2.请求参数:客户端发送给服务器的数据* 比如登录时需要发送的用户名和密码 3.返回结果:服务器返回给客户端的数据* 一般是 ...

  10. AMQ学习笔记 - 19. 问题解决 - 控制Atomikos的日志输出

    概述 在使用Atomikos为ActiveMQ提供JTA支持时,Atomikos在控制台打印了繁琐的日志.这里介绍如何控制Atomikos日志输出的粒度. 解决方案 基于以下三个事实: Atomiko ...