Part 1: MacPorts

Mac上装软件常用的是MacPorts和homebrew,这个软件会很方便地提供软件的安装。装这些前先得装Xcode,Xcode在appstore上有,一个多G,下载安装,完成后在launchpad上回有Xcode图标,要点击才是正式安装,装完后你在终端输入gcc -v,发现无此命令,没这个命令可没法装软件哦,应该是Xcode默认安装没有装完整,打开Xcode,点击左上方Xcode-》Open develop tools-》more develop tools,进入Xcode的网页搜索UNIX,安装command_line_tools_for_xcode_.dmg,完成后再进入终端,输入gcc -v,ok有了,哈哈哈。

我使用的是macports安装,macports到http://www.macports.org/install.php下载dmg文件安装就可以了,安装成功后,在终端输入

port list #可以看所有软件列表

port search xxx #可以搜索是否有该软件

port install xxx #安装

port uninstall xxx #卸载

port clean xxx #删除安装临时文件

Ps:homebrew的安装

首先:
sudo chown -R `whoami` /usr/local

然后可以正式开始安装,我推荐的安装方式是先用 git-osx-installer 装上 git,然后用 git 安装:

cd /usr/local

git init

git remote add origin git://github.com/mxcl/homebrew.git

git pull origin master

装完后命令与port命令差不多 比如 brew search;brew install

Part 2: Nginx

在终端上输入

sudo port install nginx spawn-fcgi

安装完成后启动nginx会说没有nginx.conf文件,到/opt/local/etc/nginx目录下看到以下几个文件:

fastcgi_params.example koi-utf koi-win mime.types.example nginx.conf.example win-utf

直接复制example文件:

sudo mv mime.types.example mime.types

sudo mv nginx.conf.example nginx.conf

启动nginx:

sudo nginx

访问http://127.0.0.1/,就可以看到Nginx的Welcome页面。

sudo nginx -t # 检测配置文件是否有效

sudo nginx -s reload # 重启

sudo nginx -h # 帮助

重点来了

1、让nginx开机自动启动

vi /Library/LaunchDaemons/org.macports.nginx.plist

内容为

<?xml version='1.0' encoding='UTF-8'?>

<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"

"http://www.apple.com/DTDs/PropertyList-1.0.dtd" >

<plist version='1.0'>

<dict>

<key>Label</key><string>org.macports.nginx</string>

<key>ProgramArguments</key>

<array>

<string>/opt/local/bin/daemondo</string>

<string>--label=nginx</string>

<string>--start-cmd</string>

<string>/opt/local/sbin/nginx</string>

<string>;</string>

<string>--pid=fileauto</string>

<string>--pidfile</string>

<string>/opt/local/var/run/nginx/nginx.pid</string>

</array>

<key>Debug</key><false/>

<key>Disabled</key><true/>

<key>KeepAlive</key><true/>

</dict>

</plist>

如果文件已经有内容直接退出vi

执行

sudo launchctl load -w /Library/LaunchDaemons/org.macports.nginx.plist

这样nginx开机就回自动启动

2、修改nginx.conf内容

vi /opt/local/etc/nginx/nginx.conf

下面是我的内容

#user  nobody;

user  www www;

worker_processes  1;

error_log  /Users/apple/logs/nginx_errors.log;

events {

worker_connections  4098;

}

http {

include       mime.types;

default_type  application/octet-stream;

log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '

'$status $body_bytes_sent "$http_referer" '

'"$http_user_agent" "$http_x_forwarded_for"';

access_log  /Users/apple/logs/access.log  main;

sendfile        on;

tcp_nopush     on;

tcp_nodelay         on;

fastcgi_connect_timeout 300;

fastcgi_send_timeout 300;

fastcgi_read_timeout 300;

fastcgi_buffer_size 64k;

fastcgi_buffers 4 64k;

fastcgi_busy_buffers_size 128k;

fastcgi_temp_file_write_size 256k;

#keepalive_timeout  0;

keepalive_timeout  65;

gzip  on;

gzip_disable "MSIE [1-6]\.(?!.*SV1)";

include /opt/local/etc/nginx/conf.d/*.conf;

include /opt/local/etc/nginx/sites-enabled/*;

}

然后建立目录

sudo mkdir /opt/local/etc/nginx/sites-enabled

进入cd /opt/local/etc/nginx/sites-enabled

编辑一个站点的conf文件

我建了一个default,内容如下

server {

listen   80; ## listen for ipv4

listen   [::]:80 default ipv6only=on; ## listen for ipv6

server_name  localhost;

access_log  /Users/apple/logs/localhost.access.log;

location / {

root  /Users/apple/phpdocs;

index index.php index.html index.htm;

}

location ~ \.php$ {

fastcgi_pass   127.0.0.1:9000;

fastcgi_index  index.php;

fastcgi_param  SCRIPT_FILENAME  /Users/apple/phpdocs$fastcgi_script_name;

include fastcgi_params;

}

}

保存后在相应的路径上建立log文件和html文件

这个时候先不要放index.php,会出现bad gatway错误,咱们还没装php和fastcgi呢

Part 3: PHP

在终端上输入

安装php5,扩展模块根据自己的需要调整

port install php5 +fastcgi fcgi php5-gd php5-mysql php5-sqlite php5-eaccelerator php5-curl php5-iconv php5-mcrypt

安装完成后,到/opt/local/etc/php5下,cp php.ini-recommended php.ini
然后修改几个项:
error_reporting = E_ALL & ~E_NOTICE
display_errors = On
error_log = /Users/jonathan/logs/php5/error.log
date.timezone = Asia/Shanghai
手动创建/Users/jonathan/logs/php5/error.log日志

重点来了

我们要再写一个plist文件跑fastcgi

vi /Library/LaunchDaemons/org.macports.phpfcgi.plist

内容如下

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">

<plist version="1.0">

<dict>

<key>Label</key><string>org.macports.phpfcgi</string>

<key>Debug</key><false />

<key>OnDemand</key><false />

<key>RunAtLoad</key><false />

<key>EnvironmentVariables</key>

<dict>

<key>PHP_FCGI_CHILDREN</key><string>2</string>

<key>PHP_FCGI_MAX_REQUESTS</key><string>5000</string>

</dict>

<key>LaunchOnlyOnce</key><true />

<key>ProgramArguments</key>

<array>

<string>/opt/local/bin/spawn-fcgi</string>

<string>-C 2</string>

<string>-p 9000</string>

<string>-f /opt/local/bin/php-cgi</string>

</array>

</dict>

</plist>

保存后输入

sudo launchctl load -w /Library/LaunchDaemons/org.macports. phpfcgi.plist

这样就自动启动php fastcgi

现在去网站目录放个index.php,看下phpinfo()吧

Part4: 安装MySQL

安装mysql很方便,去mysql网站下个dmg吧,有三个文件要安装,一个是mysql安装文件,一个是mysql自动启动,一个是系统设置里的添加项控制mysql的开关。

装完以后下载phpmyadmin到网站目录,

将phpMyAdmin目录的config.sample.inc.php命名为config.inc.php

打开config.inc.php,做如下修改:

$cfg['blowfish_secret'] = '';//用于Cookie加密,随意的长字符串

$cfg['Servers'][$i]['host'] = '127.0.0.1';//MySQL守护程序做了IP绑定

$cfg['Servers'][$i]['AllowNoPassword'] = false;//可以访问无密码的MySQL

从web访问phpMyAdmin,并修改MySQL密码不为空。

Part4: 安装memcache

装这个本来以为可以用port install php5-memcache,结果port的编译包可能有问题,不能building memcache,只有自己编译了

先装libevent

port install libevent

安装完后去http://pecl.php.net/package/memcache下载最新的版本,下载完成后解压,进入到文件夹里,依次执行以下命令:

phpize
./configure
make
make install
 编译完成后memcache.so会放到/opt/local/lib/php/extensions/debug-non-zts-xxxxxxx目录下
写一个php加载memcache的配置文件
vi /opt/local/var/db/php5/memcache.ini
内容为:extension=memcache.so
保存退出
然后写一个memcache的启动脚本
vi /etc/init.d/memcached
内容为:

#!/bin/bash

DAEMON=/opt/local/bin/memcached

NAME=memcached

DESC=memcached

USER=nobody

HOST=0.0.0.0

PORT=11211

MEM=32

LOG=/Users/apple/logs/memcached/info.log

case "$1" in

start)

echo -n "Startring $DESC: "

$DAEMON -m $MEM -p $PORT -l $HOST -u $USER -d -vv >> $LOG 2>&1

echo "$NAME."

;;

stop)

echo -n "Stopping $DESC: "

killall $NAME

echo "$NAME."

;;

restart)

echo -n "Restarting $DESC: "

killall $NAME

sleep 1

$DAEMON -m $MEM -p $PORT -l $HOST -u $USER -d -vv >> $LOG 2>&1

echo "$NAME."

;;

*)

echo "Usage: $NAME {start|stop|restart}" >&2

exit 1

;;

esac

exit 0

保存后记得赋予可执行权限:chmod +x /etc/init.d/memcached
      最后不要忘记创建日志文件:/Users/apple/logs/memcached/info.log

然后让memcached开机启动

写一个plist文件

vi /Library/LaunchDaemons/org.memcache.plist

内容为

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">

<plist version="1.0">

<dict>

<key>Label</key><string>org.macports.memcache</string>

<key>OnDemand</key><true/>

<key>Username</key>

<string>nobody</string>

<key>ProgramArguments</key>

<array>

<string>/etc/init.d/memcached</string>

<string>start</string>

</array>

<key>Debug</key><false/>

<key>Disabled</key><true/>

<key>RunAtLoad</key><true/>

<key>KeepAlive</key><true/>

</dict>

</plist>

同样保存完后运行

sudo launchctl load -w /Library/LaunchDaemons/org.memcache.plist

mac os x安装ngigx+php fastcgi+mysql+memcache详细流程的更多相关文章

  1. Xamarin+Prism开发详解四:简单Mac OS 虚拟机安装方法与Visual Studio for Mac 初体验

    Mac OS 虚拟机安装方法 最近把自己的电脑升级了一下SSD固态硬盘,总算是有容量安装Mac 虚拟机了!经过心碎的安装探索,尝试了国内外的各种安装方法,最后在youtube上找到了一个好方法. 简单 ...

  2. wget Mac OS 下安装

    wget是一个从网络上自动下载文件的自由工具,支持通过HTTP.HTTPS.FTP三个最常见的TCP/IP协议下载,并可以使用HTTP代理. 下面介绍如何在Mac OS 下安装Wget 下载最新版的 ...

  3. Mac OS X安装OpenGL

    Mac OS X安装OpenGL 安装最新的cmake brew install cmake brew upgrade cmake 安装glew brew install glew 安装GLTools ...

  4. TensorFlow 安装官方教程:Ubuntu 安装,Mac OS X 安装,Windows 安装

    从我的使用体验来看  Ubuntu 是最好的, Mac 没有显卡,后期跑大项目比较鸡肋,Windows 安装各种依赖各种坑.Ubuntu 安装 TensorFlow 方便,后面安装  TensorFl ...

  5. Mac OS 下安装mysql环境

    传送门:Mac下安装与配置MySQL   mac 上怎么重置mysql的root的密码? 一.下载mysql 进入官方下载地址:https://www.mysql.com/downloads/ 1.找 ...

  6. mac OS下 安装MySQL 5.7

    Mac OS X 下 TAR.GZ 方式安装 MySQL 5.7 与 MySQL 5.6 相比, 5.7 版本在安装时有两处不同: 1:初始化方式改变, 从scripts/mysql_install_ ...

  7. mac os x 安装mysql 5.7

    一 下载MySQL 访问MySQL的官网http://www.mysql.com/downloads/ 然后在页面中会看到“MySQL Community Server”下方有一个“download” ...

  8. 以 MAMP 为 Mac OS X 安装并设置 PHP开发环境

    PHP 页需要通过 Web 服务器处理.因此,要在 Dreamweaver 中使用 PHP 进行开发,您需要访问支持 PHP 的 Web 服务器和 MySQL 数据库.phpMyAdmin 也很实用, ...

  9. mac os 上安装mysqldb血泪史

    昨天下午在mac上安装mysql-python一直未遂今天查了很多资料终于成功了 最后还是在stackoverflow点击打开链接(好网站啊,一般有什么技术问题在这都能找到)上找到了答案,废话少数: ...

随机推荐

  1. 水果项目第3集-asp.net web api开发入门

    app后台开发,可以用asp.net webservice技术. 也有一种重量级一点的叫WCF,也可以用来做app后台开发. 现在可以用asp.net web api来开发app后台. Asp.net ...

  2. matlab微分方程dsolve使用

    y=dsolve('Dy=exp(-x-y-2)','y(0)=-2','x') dy/dx 写成Dy (注意大小写) y(0)=-2 表示初始条件 'x'表示积分变量

  3. processing学习笔记

    这是从http://funprogramming.org/视频学习过程中做的笔记,没法看视频的话,请FQ 点point(x,y); 线line(x,y,x2,y2); 背景background(x), ...

  4. 多重背包问题:悼念512汶川大地震遇难同胞——珍惜现在,感恩生活(HDU 2191)(二进制优化)

    悼念512汶川大地震遇难同胞——珍惜现在,感恩生活 HDU 2191 一道裸的多重背包问题: #include<iostream> #include<algorithm> #i ...

  5. Hibernate SQL 方言(hibernate.dialect)

    RDBMS Dialect DB2 org.hibernate.dialect.DB2Dialect DB2 AS/400 org.hibernate.dialect.DB2400Dialect DB ...

  6. .NET Socket服务编程之-高效连接接入编

    在.NET上编写网络服务深入都有2,3年了,而这些时间时如何在.NET里实现网络服务积累了一些经验.在接下来的时间里会把这方面的经验通过博客的方式分享出来.而这一章主要是讲解在如果提高服务连接接入的效 ...

  7. ASP.NET Web API从注释生成帮助文档

    默认情况下,ASP.NET Web API不从Controller的注释中生成帮助文档.如果要将注释作为Web API帮助文档的一部分,比如在帮助文档的Description栏目中显示方法注释中的su ...

  8. C#手动做一个负载均衡服务器

    思路 负载均衡服务器最出名的当数 Nginx了.Nginx服务器通过异步的方式把连接转发给内网和N个服务器,用来分解单台应用服务器的压力,了解了原理及场景后,用C#来实现一个.思路如下: 1. 使用一 ...

  9. 喜迎2015年新年:坦克大战(Robocode)游戏编程比赛图文总结

    2015春节前,葡萄城的软件工程师以特有的方式来迎接新年——2015新年编程邀请赛. 邀请赛的初衷,是和大家一起,寻找编程最初的单纯的快乐.       在代码的世界里,添加动力,继续远航.      ...

  10. 浅谈压缩感知(二十八):压缩感知重构算法之广义正交匹配追踪(gOMP)

    主要内容: gOMP的算法流程 gOMP的MATLAB实现 一维信号的实验与结果 稀疏度K与重构成功概率关系的实验与结果 一.gOMP的算法流程 广义正交匹配追踪(Generalized OMP, g ...