虽然比较喜欢玩下新语言, 但是php还是常会用到的. lnmp很多人都听过, 但是不能用在Mac上面, 另外还有个mnpp但在osx 10.8.3下面跑不起来.
所以自己手动一步步安装, 整理了方便安装的bash脚本, 暂且叫mnmp吧, 实际上也是Mac+nginx+mysql+php, 也许有点标题党, 见谅见谅~ 不过总体上能为准备装mnmp的同学省掉不少弯路, 因为我参考一些文章安装时也碰到几个问题卡住了.

安装:

把: https://github.com/kairyou/mac-bash-scripts的脚本下载下来.
安装前请确认安装了homebrew, 就不提了. 开始安装:
bash切换到setup-mnmp.sh目录, 然后执行:sh setup-mnmp.sh 就等着自动安装吧.

必要的一些配置:

nginx:
vim /usr/local/etc/nginx/nginx.conf
http {...} 里面最后面加上: include vhost/*.conf; (大概是倒数第三行的位置)
vim /usr/local/etc/nginx/vhost/default.conf , 添加类似下面的内容:

  1. server {
  2. listen       8080;
  3. server_name  dev.local;
  4. root   /Users/leon/Workspace;
  5. index  index.html index.htm index.php;
  6. autoindex on;
  7. autoindex_exact_size off;
  8. autoindex_localtime on;
  9. #error_page  404 /404.html;
  10. error_page   500 502 503 504  /50x.html;
  11. location = /50x.html {root html;}
  12. location ~ .*\.(php|php5)?$ {
  13. fastcgi_pass 127.0.0.1:9000;
  14. fastcgi_index index.php;
  15. include fastcgi.conf;
  16. }
  17. location / {
  18. if (!-e $request_filename){
  19. rewrite ^/sitemap.xml$ /sitemap.php; # rewrite
  20. }
  21. }
  22. access_log off;
  23. }

sudo sh -c "echo '127.0.0.1 dev.local' >> /etc/hosts"
上面的nginx配置和命令是绑定http://dev.local作为域名, 绑定到/Users/leon/Workspace目录(域名和目录根据自己的需要修改吧).

php-fpm:
vim /usr/local/etc/php/5.6/php-fpm.conf, 找到并修改下面3行, 后面两个是要注释掉的:
error_log = /tmp/php-fpm.log
;user = _www
;group = _www
另外php.ini的路径: /usr/local/etc/php/5.6/php.ini, 如果有额外需求自己修改.

mysql:
基本不需要配置了, 配置文件在/usr/local/opt/mysql/my-new.cnf 如果没有就是 my.cnf.
默认不需密码, 如果需要可以执行: mysql_secure_installation 一步步来, 本地开发意义不大.

启动重启service脚本:

设置权限: chmod +x ./mnmp.sh
然后运行: ./mnmp.sh start | stop | restart 即可.
推荐加到profile里面, 比如: echo "alias mnmp='/Users/你的路径/mnmp.sh'" >> ~/.bash_profile
source ~/.bash_profile
因为我不需要开机启动, 如果有需要开机启动的可以参考gist.github.com/mystix/3041577最下面的那几行.
然后就可以直接: mnmp start 这样用了.

Ps: 如果遇到类似这样的错误: "xxx" failed (13: Permission denied), 需要设定下权限:
chmod 755 $HOME && chmod 755 $HOME/Documents/

phpmyadmin:(可选)
下载: www.phpmyadmin.net/home_page/downloads.php
解压到nginx的conf指定的目录, config.sample.inc.php重命名为config.inc.php, 修改$cfg['Servers'][$i]['AllowNoPassword'] = true;
Ps: 如果phpmyadmin报错:The mcrypt extension is missing. 可以关掉mnmp, 执行下:brew install php54-mcrypt
之后打开: http://dev.local:8080/phpmyadmin 应该就OK了.

Mac下配置mnmp环境的更多相关文章

  1. Mac下配置Maven环境变量

    Mac下配置Maven环境变量 1.先到Apache官网下载maven压缩包.下载地址:http://maven.apache.org/download.cgi 2.Maven是用Java开发的,所以 ...

  2. mac下配置开发环境

    常用命令 显示隐藏文件 1 defaults write com.apple.finder AppleShowAllFiles -boolean true ; killall Finder 关闭隐藏文 ...

  3. Mac 下配置 adb 环境

    使用 adb 命令可以很直接的观察你的应用 第一步 打开终端,敲入命令:sudo vi .bash_profile(如果有密码就为本机登录密码, 如果没有这个文件就会创建一个新的). 第二步 在文件中 ...

  4. Mac下配置git环境和客户端SourceTree+Git常用命令大全(Mac 10.12)

    前言: 如果不想折腾,直接下载GitHub桌面端,高度集成git,不需要学习git的任何命令. https://desktop.github.com/ 一.配置git环境 1.上官网https://g ...

  5. Mac下配置Hive环境

    在配置Hive环境之前,需要Hadoop环境. 安装Hive 点击下载 下载结束后,会有一个.tar文件,使用以下命令解压该文件. tar -zxvf 要解压的tar包 解压完成后如下 修改Hive配 ...

  6. Mac下配置Hadoop环境

    下载Hadoop(我下载的是2.8.0版本) 点击此处下载 下载后,使用 tar -zxvf tar包名 解压tar包,解压完成后有这样一个文件出现 修改Hadoop的配置文件 需要修改的配置文件在H ...

  7. mac下配置android环境变量

    下面我将一下mac环境下的配置步骤: 1.在本地目录(home directory)中创建文件.bash_profile2.在文件中写入以下内容:export PATH=${PATH}:/Users/ ...

  8. JavaWeb学习笔记(一)Mac 下配置Tomcat环境

     最近,想鼓捣与服务器端的交互,只能自己搭建环境了. 上个周一鼓捣了一点,周五再鼓捣,发现忘得已经差不多了.好记性不如烂笔头,还是记录下来比较好. 首先,去Tomcat的官网,下载Mac版的Tomca ...

  9. 在Mac下配置Maven环境

    下载Maven安装文件,(http://maven.apache.org/download.html)如:apache-maven-3.5.0-bin.zip,然后解压到本地目录. 打开 .bash_ ...

随机推荐

  1. 将ros中suscriber和publisher写入class中

    相比于笨拙的全局变量和全局函数,将suscriber和publisher成一个class,形式更加简洁和容易管理,一个节点就是一个类 参考资料 http://answers.ros.org/quest ...

  2. 函数名后加const

    通过把类成员函数声明为const   以表明它们不修改类对象. 任何不会修改数据成员的函数都应该声明为const类型.如果在编写const成员函数时,不慎修改了数据成员,或者调用了其它非const成员 ...

  3. AC日记——[HAOI2007]覆盖问题 bzoj 1052

    1052 思路: 二分答案: 二分可能的长度: 然后递归判断长度是否可行: 先求出刚好覆盖所有点的矩形: 可行的第一个正方形在矩形的一个角上: 枚举四个角上的正方形,然后删去点: 删去一个正方形后,递 ...

  4. Codeforces Beta Round #4 (Div. 2 Only) C. Registration system【裸hash/map】

    C. Registration system time limit per test 5 seconds memory limit per test 64 megabytes input standa ...

  5. python 字符串最长公共前缀

      编写一个函数来查找字符串数组中的最长公共前缀. 如果不存在公共前缀,返回空字符串 "". 示例 1: 输入: ["flower","flow&qu ...

  6. JavaScript 函数调用的 this词法

    函数调用时的this实际上是在函数被调用时发生绑定,它指向什么完全取决于函数在哪里被调用. 特例:当函数作为构造函数被调用时,即使用new 来构造一个新对象,会自动执行以下操作: [1]创建一个新对象 ...

  7. Codeforces 757 E Bash Plays with Functions

    Discription Bash got tired on his journey to become the greatest Pokemon master. So he decides to ta ...

  8. bean装配--auto

    1,Dao package com.songyan.autoZhuangpei; public interface UserDao { public void say(); } package com ...

  9. [读书笔记] CSS揭秘-背景与边框

    半透明边框 默认情况下,背景会延伸到边框所在的区域下层.可以通过background-clip属性调整该默认行为. border: 10px solid rgba(0,0,0,.2) backgrou ...

  10. docker开发之pyudev模块用法

    一.实现功能:获取docker_id #docker数据源: [root@docker scripts]# docker ps -a CONTAINER ID IMAGE COMMAND CREATE ...