• 事实上这个过程跟Linux下安装都几乎相同,仅仅是部分命令有区别,大同小异。

    网上看到非常多教程都是用 brew 之类的包管理器安装,可是 Mac 自带了 php , 难道还要再装一个第三方的?强迫症果断不能忍,于是就想利用自带的 php-fpm 来搭建。没想到一搭建就是两个小时,在这里把过程整理一下备用。同一时候也方便须要的人。

    由于是调试环境,所以没有注重安全方面,有些东西直接 chmod 777 了 要用于ws的话还是改改吧。

    下载 nginx 源码 并開始编译

    tar zxvf nginx.tar.gz
    cd nginx−1.7.4
    ./configure

    运行报错:

    ./configure: error: the HTTP rewrite module requires the PCRE library.
    You can either disable the module by using −−without−http_rewrite_module
    option, or install the PCRE library into the system, or build the PCRE library
    statically from the source with nginx by using −−with−pcre=<path> option.

    Rewrite 须要 PCRE 库的支持 。 下载pcre库后进行编译安装

    tar xvzf pcre.tar.gz
    cd pcre-8.35
    ./configure
    make
    sudo make install

    又一次编译nginx

    cd ..
    ./configure
    make
    sudo make install

    创建一个符号链接让开关easy一些

    sudo ln -s /usr/local/nginx/sbin/nginx /usr/local/bin/nginx

    有了 web 服务,接着尝试启动系统自带的php-fpm

    php-fpm

    运行报错

    ERROR: failed to open configuration file '/private/etc/php-fpm.conf': No such file or directory (2)

    找不到配置文件,为了省事就直接把.default复制,然后赋予权限

    sudo cp /private/etc/php-fpm.conf.default /private/etc/php-fpm.conf
    sudo chmod 777 /private/etc/php-fpm.conf
    sudo php-fpm

    尝试启动报错:

    ERROR: failed to open error_log (/usr/var/log/php-fpm.log): No such file or directory (2)

    找不到目录就新建

    sudo mkdir /usr/var
    sudo mkdir /usr/var/log
    sudo php-fpm

    此时PHP正常启动,只是还是须要完好一下 ,放置一下配置文件,改动一下权限,假设开公网訪问的话“中奖”就杯具了。这样的东西还是不要用 su 运行好一点。

    cp /etc/php.ini.default  /etc/php.ini
    sudo chmod 777 /etc/php.ini
    sudo killall php-fpm
    php-fpm

    此时PHP正常启动 有两个notice 能够无论他

    NOTICE: [pool www] 'user' directive is ignored when FPM is not running as root
    NOTICE: [pool www] 'group' directive is ignored when FPM is not running as root

    改动 nginx 配置文件 使其能够处理php

    location ~ \.php$ {
    root /path/to/wwwroot;
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME /path/to/wwwroot$fastcgi_script_name;
    }

    启动 nginx

    sudo nginx

    接下来就是 mysql 了

    从官方下载 ( 下载DMG的话安装更简单的,但是我手贱下载了tar )http://dev.mysql.com/downloads/mysql/

    tar zxvf mysql.tar.gz
    cd mysql-*
    mkdir /User/typcn/mysql
    mv * /User/typcn/mysql/
    cd /User/typcn/mysql
    sudo chown -R _mysql .
    #赋予权限
    sudo chgrp -R _mysql .
    sudo scripts/mysql_install_db --user=_mysql --datadir=/User/typcn/mysql/data
    #运行安装
    sudo chown -R root .
    sudo chown -R _mysql data
    subl my.cnf

    编辑Mysql 配置文件

    basedir = /path/to/mysql
    datadir = /path/to/mysql/data
    port = 3306
    server_id = 1
    socket = /tmp/mysql.sock
    user = _mysql

    用脚本管理Mysql

    sudo ln -s /User/typcn/mysql/support-files/mysql.server /usr/local/bin/mysql
    subl support-files/mysql.server

    改动配置文件

    basedir=/path/to/mysql
    datadir=/path/to/data
    mysqld_pid_file_path=/path/to/mysql.pid

    好吧。我承认pid什么的放tmp是个坏习惯。

    sudo mysql start

    如今訪问 localhost 试试吧

在 Mac 上搭建 Nginx PHP Mysql 开发环境的更多相关文章

  1. Win7搭建nginx+php+mysql开发环境以及websocket聊天实例测试

    Win7搭建nginx+php+mysql开发环境以及websocket聊天实例测试一.下载相关安装包 1.下载nginx最新版本(nginx1.3.13版之后才支持websocket协议) 下载地址 ...

  2. 图文教程:在Mac上搭建Titanium的iOS开发环境

    http://mobile.51cto.com/web-317170_all.htm 跨平台开发工具Titanium的兴起之路:HTML 5是最大威胁 比较Titanium和PhoneGap两大iOS ...

  3. react-native —— 在Mac上搭建React Native Android开发环境

    需要:JDK,Android SDK,Node.js   1.安装JDK 去Java官网下载列表选择Mac OS X x64版   2.安装Android SDK 虽然现在谷歌推荐使用Android ...

  4. Mac上通过docker配置PHP开发环境

    这篇文章介绍的内容是关于Mac上通过docker配置PHP开发环境,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 更多PHP相关知识请关注我的专栏PHP​zhuanlan.zhihu. ...

  5. Mac下搭建Apache+PHP+MySql运行环境

    https://www.cnblogs.com/xiaovw/p/8854896.html 前言 我们在Mac上搭建Apache+PHP+MySql环境是非常方便的,因为Mac预装的有Apache和P ...

  6. 《从0到1学习Flink》—— Mac 上搭建 Flink 1.6.0 环境并构建运行简单程序入门

    准备工作 1.安装查看 Java 的版本号,推荐使用 Java 8. 安装 Flink 2.在 Mac OS X 上安装 Flink 是非常方便的.推荐通过 homebrew 来安装. brew in ...

  7. Mac下搭建Cocos2d-x-3.2的开发环境

    配置:OS X 10.9.4 + Xcode 6.0 + Cocos2d-x-3.2 摘要:本文目标为在Xcode成功运行HelloWorld程序. 一.下载必要项 1.从官网下载Cocos2d-x- ...

  8. 转:WIN7上搭建Windows Phone 8 开发环境——VMware Workstation下Win8 “无法安装Hyper-V, 某个虚拟机监控程序正在运行”问题解决的办法

    转自:http://www.cnblogs.com/shaddock2013/p/3155024.html 最近在试着在Windows 7上搭建Windows Phone 8的开发调试环境,使用的是V ...

  9. WIN7上搭建Windows Phone 8 开发环境——VMware Workstation下Win8 “无法安装Hyper-V, 某个虚拟机监控程序正在运行”问题解决的办法

    最近在试着在Windows 7上搭建Windows Phone 8的开发调试环境,使用的是VMware Workstation + Win8 Pro的虚拟环境, 在漫长的WPexpress_full下 ...

随机推荐

  1. docker基本概念2

    1 docker 容器,容器可以被创建.启动.停止.删除.暂停等 容器是镜像的一个运行实例,不同的是,他有额外的可写文件层.提供了独立的应用环境. 容器的实质是进程,与宿主机进程不同的是有自己的独立的 ...

  2. 远程调试Hadoop

    远程调试对应用程序开发十分有用,那如何调试Hadoop源码?这里介绍如何用IDE远程调试Hadoop源码.本文以IntelliJ IDEA作为IDE,以调试Jobhistory WEB UI代码为例进 ...

  3. Oracle删除重复记录只保留一条数据的几种方法

    1. 问题描述 BBSCOMMENT表为BBSDETAIL的从表,记录商户评价信息.因为数据倒腾来倒腾去的,有很多重复数据.表结构如下: COMMENT_ID NOT NULL NUMBER --主键 ...

  4. cocos2d-x笔记-CCGLProgram

    引擎提供了CCGLProgram类来处理着色器相关操作,对当前绘图程序进行了封装,其中使用频率最高的应该是获取着色器程序的接口: const GLuint getProgram(); 该接口返回了当前 ...

  5. 利用 FormData 对象发送 Key/Value 对的异步请求

    使用Key/Value对和FormData能够轻易地通过XMLHttpRequest指定要传递什么数据,它是一个非常强大的发送数据到服务器的方法. 基础 通常的方法是你创建一个 FormData 对象 ...

  6. 使用自定义的按钮替换默认的<input type='file'>

    可以通过让默认的input type = 'file'按钮透明度变为0,并且让它刚好覆盖在自定义的按钮上,来实现此效果: 将它写成一个jQuery插件: (function($){ $.fn.brow ...

  7. webstrom中的快捷键

    1. ctrl + shift + n: 打开工程中的文件,目的是打开当前工程下任意目录的文件. 2. ctrl + j: 输出模板 3. ctrl + b: 跳到变量申明处 4. ctrl + al ...

  8. LeetCode: Symmetric Tree 解题报告

    Symmetric Tree Given a binary tree, check whether it is a mirror of itself (ie, symmetric around its ...

  9. LeetCode: Count and Say 解题报告

    Count and Say The count-and-say sequence is the sequence of integers beginning as follows:1, 11, 21, ...

  10. LeetCode: Sort Colors 解题报告

    Sort ColorsGiven an array with n objects colored red, white or blue, sort them so that objects of th ...