买了个MacBook Pro,现在开始加入Mac阵营了。既然买Mac,咱也就用Mac系统吧,并不是鄙视在Mac上用Windows,但我觉得至少这让自己觉得买了它物有所值。
其实用过一段时间就会发现,Mac很像是Windows和Linux的结合品,既有Windows那使用方便的UI,又具备类Unix系统强大的命令行,同时还有胜过Windows和Linux的绚丽界面,也为开发人员提供了强大的xcode集成开发环境。所以对于开发人员来说,Mac绝对是个值得用的系统。在安装软件方面,比linux方便多了,甚至比windows还方便。刚开始我还装了双系统,弄了个Win7,后来又用虚拟机装了次Windows,但发现自己根本不去用,为了节省硬盘,干脆就把Windows删了。踏踏实实的用Mac。
好了,夸了半天这个系统该进入正题了。
MNMP环境即Mac+Nginx+Mysql+Php。当然其中还涉及辅助的扩展库之类的。
我写这个的目的其实是给初次接触Mac系统的人,所以不会像某些大侠写的环境配置文章那样详细,每个命令都说下是干什么用的,xx的配置方法什么的。需要你对linux有一定使用经验。因为确实没那么多时间,所以无法做到那么详细,如果你初次使用Mac系统,又想配置环境,可以再参照一下其他大侠写的文章,他们的笔墨会着重到环境所需软件本身上面。我会尽量介绍下Mac与Linux上不同的地方和我在装的过程中遇到的问题是怎么解决的。
我的安装方法并不完全是源代码编译,而是多种多样的,有源码编译(php,nginx),有用macports装的(一些php需要的扩展库,比如libevent,gd,libjpeg等等,macports类似ubuntu的apt-get和rh的yum)。还有直接下载的dmg镜像(mysql。dmg镜像文件)有方便的不用自己费劲儿去一个个下载编译,实在有点得不偿失。
安装过程中,我遇到了很多问题,由于网上写mac系统下配置环境的文章本来就少,所以我只能东看一眼,西看一眼,再结合自己的摸索来装。其中有些地方是参照人家在linux下的文章装的,毕竟mac是有freebsd和openbsd的血统,大多数地方都一样。
首先第一步,是安装gcc,gcc是编译器,没它肯定不行。mac的非server版系统,默认是不给你装xcode的,gcc就在xcode里面。找到买电脑时带的系统安装盘,注意,不是那张application,而是系统安装盘,放入光驱,选择装xcode。大概1个多G吧,需要十几分钟的时间。
装好后,请打开终端,英文系统上叫terminal,在你的DOCK条->应用程序->实用工具里面(或者用X11也可以,看你自己喜好,我觉得X11不太好用)。敲gcc -v,如果出现的是command not found,说明环境变量没加上。sudo vi /etc/paths,将/usr/bin,加入最后一行。
然后关闭重新开一下终端,如果gcc -v还是不能显示gcc的编译信息和版本之类的,就去重装下xcode吧。
装好gcc了,我劝你再装个macports,这东西很方便,类似ubuntu的apt-get。其实据说用macports可以相当方便的把MNMP条命令的就装上并配置好,但我没那么做,因为很多东西你不自己编译的话,没法定制。
注意权限问题,如果你觉得麻烦,在安装这些东西前先sudo -s,切换成超级用户。要么就在做一些写入,执行操作时用sudo命令。装完后再chown设置目录的owner。否则在编译安装时,make install的时候经常会因没有权限而不让你建立文件夹。
macports可以到http://distfiles.macports.org/MacPorts/这里下载,最下面的是最新版本,下个tar.gz或tar.bz2的版本就行。
下来之后。
tar zxvf ./MacPorts-1.9.2.tar.gz
cd MacPorts-1.9.2
./configure && make && sudo make install
他默认会给你装到/opt/local下面,你也可以自己定制安装位置./configure --prefix=/xxx && make && make install,还有一些其他编译参数,你可以./configure --help查看。和linux下一样,没啥好说的了。
装完后同样要检查下环境变量,将/opt/local/bin加入到/etc/paths里面。
好了,待会儿需要用到的时候再说这玩意怎么用。
下面先装nginx:
http://www.nginx.org/en/download.html,到它的官网去下载最新最稳定的版本吧。推荐下stable version的版本,这是稳定版。注意要下linux的版本,你别下个windows版。位于前面的那个就是tar.gz的版本。
下好了后例行:
tar zxvf nginx-0.8.54.tar.gz
cd nginx-0.8.54
./configure --prefix=/xxx
make && make install
编译nginx基本也就是指定个安装目录,不必要指定其他参数。如果你不指定prefix,他默认装到/usr/local/nginx里面。进入他的安装目录。vi ./etc/nginx.conf,去配置一下吧,配置的具体方法我就不说了,和linux下一样,不清楚的话可以去参考张宴写的那篇文章,他介绍的很详细。http://blog.s135.com/nginx_php_v6/
配置好以后,启动nginx(停止运行就是杀掉nginx的进程,如果你指定了nginx的pid文件位置,可以kill 9 `cat /xxx/xxx/nginx.pid` 或killall nginx),启动很简单,在nginx的安装目录里,./bin/nginx就可以了。它会自己在后台执行。为了方便你可以写个shell来完成这些工作,到把所有软件装完我会介绍一下这里。
然后去nginx.conf里面指定的文档目录里建立个html文件,用localhost试试吧。待续……

解决方案 »

  1.   


    看错
    原来还分一部 二部直接sudo port install php5 +fastcgi fcgisudo port install php5-mysql php5-pgsql php5-iconv php5-sockets php5-memcached php5-imagick php5-mongo php5-openssl php5-mbstring
      

  2.   

    全部都用port装,其实并不好,很多东西你不能自己定制。
    同时这也是个熟悉mac系统的过程,虽然里面大多数情况都与linux相同,但毕竟Mac的目录结构,以及某些包的版本,还是和linux上不一样的。装的过程中就会被动的更加熟悉mac系统的结构。
      

  3.   

    nginx启动和停止命令不用直接杀掉启动
    sudo /opt/local/sbin/nginx 平滑重启动:
    sudo nginx -s reload终止
    sudo nginx -s stop
      

  4.   


    但是挂起守护进程就没作用了 。
    难道只能kill
      

  5.   

    我没有在mac系统下折腾,而是搞了个vmware,装centos后折腾的。直接在mac os系统下搞,怕把系统弄坏了,毕竟这不是server,而是开发机器