一、mysql安装

mysql是安装最简单顺利的

1. 首先去官方网站下载Mac适用的MySQL的dmg包

下载页面 选择图中最下方的dmg包下载进行安装

安装完成后 MySQL的安装目录为/usr/local/mysql/

2. 启动服务

设置里 找到MySQL 启动服务 显示running 则服务已启动

上图倒数第二

上图服务已启动

如果需要在终端内执行MySQL命令 需要加入环境变量

export PATH=$PATH:/usr/local/mysql/bin/

MySQL安装完成

二、redis安装

1. 到官方网站下载redis 当前版本 redis-3.2.1.tar.gz

下载地址:http://redis.io/download

tar -zxvf ./redis-3.2..tar.gz  #解压压缩包

cd ./redis-3.2.1          #进入解压的软件目录内

sudo make install          #执行安装

redis-server              #启动redis

2. 安装完成之后 修改redis的配置文件及启动脚本

配置文件 注意修改启动脚本相关路径的配置:

vi /Library/LaunchDaemons/com.redis.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>

<keyLabel</key>

<stringcom.redis</string>

<keyRunAtLoad</key>

<true/>

<keyProgramArguments</key>

<array>

<string/usr/local/redis/bin/redis-server</string redis

<string/usr/local/redis/redis.conf</string redis.conf

</array>

</dict>

</plist>
#保存退出

launchctl load /Library/LaunchDaemons/com.redis.plist #加载启动脚本 launchctl start com.redis #启动服务 ps aux | grep redis #查看进程是否启动

三、php安装

本人Mac里自带的php版本为5.5 启动正常 但是zend guard loader扩展始终安装不上最后决定使用php5.4

这里提到一个网站 http://php-osx.liip.ch/

网站里有多个PHP版本的集成包 已经内置好了各种扩展 redis memcace mysql等等安装过程极简单

官方给出了相应的命令

curl -s http://php-osx.liip.ch/install.sh | bash -s 5.4

等待命令执行完成 我这里用时大概二十分钟左右安装完成后php会安装到/usr/local/目录下php5

export PATH=/usr/local/php5/bin:$PATH #加入环境变量

php -v

PHP 5.4. (cli) (built: Mar   ::) 

Copyright (c) - The PHP Group

Zend Engine v2.4.0, Copyright (c) - Zend Technologies

with Xdebug v2.2.5, Copyright (c) -, by Derick Rethans

显示php已经是5.4版本

虽然安装了很多扩展 但是并没有zend guard loader的扩展 因此还要下载相关的扩展进行安装

这里要说明一下PHP安装完成后的目录结构

cd /usr/local/php5
ls -l
drwxr-xr-x root wheel : bin
-rw-r--r-- root wheel : entropy-php.conf
drwxr-xr-x root wheel : etc #配置文件目录php.ini php-fpm.conf 如有需要推荐修改./php.d/99-liip-developer.ini
drwxr-xr-x root wheel : include
drwxr-xr-x root wheel : info
drwxr-xr-x root wheel : lib
-rwxr-xr-x root wheel : libphp5.so
drwxr-xr-x root wheel : php.d  #php各种扩展加载的配置目录 其中99-liip-developer.ini可修改配置相当于php.ini
drwxr-xr-x root wheel : sbin
drwxr-xr-x root wheel : share
drwxr-xr-x root wheel : var

安装ZendGuardLoader

tar -zxvf ./ZendGuardLoader--PHP-5.4-darwin10.-x86_64.tar.gz
cp ./ZendGuardLoader--PHP-5.4-darwin10.-x86_64/php-5.4.x/ZendGuardLoader.so /usr/local/php5/lib/php/extensions/no-debug-non-zts-/

增加启动脚本(注意修改相关文件路径)

vi /etc/php-fpm

#! /bin/sh

### BEGIN INIT INFO

# Provides:          php-fpm

# Required-Start:    $remote_fs $network

# Required-Stop:     $remote_fs $network

# Default-Start:        

# Default-Stop:        

# Short-Description: starts php-fpm

# Description:       starts the PHP FastCGI Process Manager daemon

### END INIT INFO

prefix=/usr/local/php5/

exec_prefix=${prefix}

php_fpm_BIN=${exec_prefix}/sbin/php-fpm

php_fpm_CONF=${prefix}/etc/php-fpm.conf

php_fpm_PID=${prefix}/var/run/php-fpm.pid

php_opts="--fpm-config $php_fpm_CONF --pid $php_fpm_PID"

wait_for_pid () {

        try=while test $try -lt  ; docase "$1" in

                        'created')

                        if [ -f "$2" ] ; then

                                try=''

                                break

                        fi

                        ;;

​

                        'removed')

                        if [ ! -f "$2" ] ; then

                                try=''

                                break

                        fi

                        ;;

                esacecho -n .

                try=`expr $try + `

​

        force-quit)

                echo -n "Terminating php-fpm "

​

                if [ ! -r $php_fpm_PID ] ; then

                        echo "warning, no pid file found - php-fpm is not running ?"

                        exit 

                fikill -TERM `cat $php_fpm_PID`

​

                wait_for_pid removed $php_fpm_PID

​

                if [ -n "$try" ] ; then

                        echo " failed"

                        exit 

                else

                        echo " done"

                fi

        ;;

        restart)

                $ stop

                $ start

        ;;

        reload)

                echo -n "Reload service php-fpm "

​

                if [ ! -r $php_fpm_PID ] ; then

                        echo "warning, no pid file found - php-fpm is not running ?"

                        exit 

                fi

​

                kill -USR2 `cat $php_fpm_PID`

​

                echo " done"

        ;;

​

        *)

                echo "Usage: $0 {start|stop|force-quit|restart|reload|status}"

                exit 

        ;;

esac

四、nginx安装

这里推荐使用OpenResty

OpenResty ™ 是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。

下载OpenRestytar

#安装
tar -zxvf ./openresty-1.9.7.5.tar.gz cd ./openresty-1.9.15.1 ./configure make make install

注意 这一步安装可能会报错 需要安装 PCRE 和 OpenSSL

Mac OS X 不像linux那样 可以使用yum安装软件 依赖包

推荐大家使用brew

首先执行下面命令进行安装

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

brew安装完成可以直接使用

关于brew的详细介绍请查看官方说明https://git.io/brew-docs

brew update

brew install pcre openssl

安装完成后重新编译安装openresty

./configure --prefix=/usr/local/openresty \   #指定安装目录

   --with-cc-opt="-I/usr/local/Cellar/openssl/1.0.2h_1/include/ -I/usr/local/Cellar/pcre/8.39/include/" \

   --with-ld-opt="-L/usr/local/Cellar/openssl/1.0.2h_1/lib/ -L/usr/local/Cellar/pcre/8.39/lib/" \

#使用 ./configure --help 查看更多的选项。

make 

make install

OpenResty安装完成后 找到nginx目录进行配置文件的修改

cd /usr/local/openresty 

ls -l

drwxr-xr-x    root  admin        : bin

drwxr-xr-x    root  admin        : luajit

drwxr-xr-x    root  admin        : lualib

drwxr-xr-x   root  admin        : nginx

drwxr-xr-x@  root  admin       : pod

-rw-r--r--@   root  admin      : resty.index

cd ./nginx/conf/

ls -l

-rw-r--r--@   root  admin      : fastcgi.conf

-rw-r--r--@   root  admin      : fastcgi.conf.default

-rw-r--r--@   root  admin      : fastcgi_params

-rw-r--r--@   root  admin      : fastcgi_params.default

-rw-r--r--    root  admin      : injection.lua

-rw-r--r--@   root  admin      : koi-utf

-rw-r--r--@   root  admin      : koi-win

-rw-r--r--@   root  admin      : mime.types

-rw-r--r--@   root  admin      : mime.types.default

-rw-r--r--    root  admin      : nginx.conf

-rw-r--r--@   root  admin      : nginx.conf.default

-rw-r--r--@   root  admin       : scgi_params

-rw-r--r--@   root  admin       : scgi_params.default

-rw-r--r--@   root  admin       : uwsgi_params

-rw-r--r--@   root  admin       : uwsgi_params.default

drwxr-xr-x   root  admin       : vhosts

-rw-r--r--@   root  admin      : win-utf

#根据需要修改相关配置文件

nginx启动

sudo /usr/local/openresty/nginx/sbin/nginx

本文已在版权印备案,如需转载请访问版权印89818122

Mac下安装 php+nginx+mysql 开发环境的更多相关文章

  1. Mac下安装LNMP(Nginx+PHP5.6)环境

    [转自:http://avnpc.com/pages/install-lnmp-on-osx] 安装Homebrew 最近工作环境切换到Mac,所以以OS X Yosemite(10.10.1)为例, ...

  2. Mac下安装LNMP(Nginx+PHP5.6)环境(转)

    安装Homebrew 最近工作环境切换到Mac,所以以OS X Yosemite(10.10.1)为例,记录一下从零开始安装Mac下LNMP环境的过程 确保系统已经安装xcode,然后使用一行命令安装 ...

  3. MAC 下用 brew 搭建 PHP 开发环境

    Mac下用brew搭建PHP(LNMP/LAMP)开发环境 Mac下搭建lamp开发环境很容易,有xampp和mamp现成的集成环境.但是集成环境对于经常需要自定义一些配置的开发者来说会非常麻烦,而且 ...

  4. 第一篇:Win10系统搭建Python+Django+Nginx+MySQL 开发环境详解(完美版)

    Win10+Python+Django+Nginx+MySQL 开发环境搭建详解 PaulTsao 说明:本文由作者原创,仅供内部参考学习与交流,转载引用请注明出处,用于商业目的请联系作者本人. Wi ...

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

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

  6. mac 下 用 glfw3 搭建opengl开发环境

    mac 下 用 glfw3 搭建opengl开发环境 下载编译 glfw3 Build Setting 里面, Library Search Paths -> 设置好编译 glfw 库的路径 H ...

  7. MAC下安装与配置MySQL

    MAC下安装与配置MySQL   MAC下安装与配置MySQL 一 下载MySQL 访问MySQL的官网http://www.mysql.com/downloads/ 然后在页面中会看到“MySQL ...

  8. Mac下使用brew搭建PHP7+nginx+mysql开发环境

    http://blog.csdn.net/mysteryhaohao/article/details/52230634 HomeBrew brew的安装,直接上官网:http://brew.sh/ 一 ...

  9. Mac配置PHP+Nginx+MySQL开发环境

    Homebrew简称brew,OSX上的软件包管理工具,在Mac终端可以通过brew安装.更新.卸载各种软件,(简直就是神器级武器). 废话不多说,没安装brew自己去百度学习安装,这里就不多说了. ...

随机推荐

  1. web登录与授权

    web开发已经流行了很多年,登录与授权也基本有一套通用的流程,下面是我自己常用的登录与授权方式,欢迎大家讨论与吐槽. 概念: 登录是过程,授权是结果.登录只是为了获得页面的访问权限 or 操作权限 o ...

  2. Linux查看一个文件夹大小

    1.Linux查看一个文件夹大小: du -sh /home/yangkun [yangkun@sg1 bin]$ du -sh /home/yangkun/ 164M /home/yangkun/ ...

  3. 转:CFile::Seek

    CFile::Seek virtual LONG Seek(LONG lOff,UINT nFrom);  throw(CFileException); 返回值:如果要求的位置合法,则Seek返回从文 ...

  4. BZOJ3538: [Usaco2014 Open]Dueling GPS

    3538: [Usaco2014 Open]Dueling GPS Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 59  Solved: 36[Subm ...

  5. linux内存管理子系统

    一.Linux内存管理模型 1.虚拟地址与物理地址的映射 2.物理地址的分配二.虚拟地址与物理地址的映射 1.虚拟地址空间分布 32位处理器有32根地址总线,可访问4G的物理空间.其中有0-3G为用户 ...

  6. 动态规划 DP

    10.1.5.253 1143 数字金字塔#include <iostream> #include<string.h> using namespace std; int a[1 ...

  7. cf298F:状压dp+剪枝

    div2的F题,只想到了一个复杂度略高的dp,T了几次,后来加了剪枝减掉一些无用的状态终于过了.. 题意: 一个n*m的矩阵 (n<=5,m<=20),对格子进行黑白染色,已经给出了每行每 ...

  8. Codeforces Round #277.5 (Div. 2) --E. Hiking (01分数规划)

    http://codeforces.com/contest/489/problem/E E. Hiking time limit per test 1 second memory limit per ...

  9. 程序设计实习MOOC / 继承和派生——编程作业 第五周程序填空题1

    描述 写一个MyString 类,使得下面程序的输出结果是: 1. abcd-efgh-abcd- 2. abcd- 3. 4. abcd-efgh- 5. efgh- 6. c 7. abcd- 8 ...

  10. APP纯黑盒测试---某些可以试试的操作

    一.多次快速点击一处功能入口: 该测试方法可以在某些应用中打开俩次目标界面,举一些具体一点的例子: 1.比如现在很多APP需要登陆,如果打开了俩次登录页面,就容易造成登录成功后应用跳转界面又是登录界面 ...