zoukankan      html  css  js  c++  java
  • Mac下安装 php+nginx+mysql 开发环境

    一、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.1.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.45 (cli) (built: Mar 10 2016 13:43:09) 
    
    Copyright (c) 1997-2014 The PHP Group
    
    Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies
    
    with Xdebug v2.2.5, Copyright (c) 2002-2014, by Derick Rethans

    显示php已经是5.4版本

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

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

    cd /usr/local/php5
    ls -l
    drwxr-xr-x  158 root  wheel      5372  7 17 13:25 bin
    -rw-r--r--    1 root  wheel       440  3 10 20:46 entropy-php.conf
    drwxr-xr-x    9 root  wheel       306  7 17 14:44 etc #配置文件目录php.ini php-fpm.conf 如有需要推荐修改./php.d/99-liip-developer.ini
    drwxr-xr-x   90 root  wheel      3060  7 17 13:25 include
    drwxr-xr-x   13 root  wheel       442  7 17 13:25 info
    drwxr-xr-x  197 root  wheel      6698  7 17 14:32 lib
    -rwxr-xr-x    1 root  wheel  12400208  3 10 20:46 libphp5.so
    drwxr-xr-x   33 root  wheel      1122  7 17 14:43 php.d  #php各种扩展加载的配置目录 其中99-liip-developer.ini可修改配置相当于php.ini
    drwxr-xr-x    8 root  wheel       272  7 17 13:24 sbin
    drwxr-xr-x   12 root  wheel       408  7 17 13:24 share
    drwxr-xr-x    4 root  wheel       136  7 17 13:24 var

    安装ZendGuardLoader

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

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

    vi /etc/php-fpm
    
    #! /bin/sh
    
    ### BEGIN INIT INFO
    
    # Provides:          php-fpm
    
    # Required-Start:    $remote_fs $network
    
    # Required-Stop:     $remote_fs $network
    
    # Default-Start:     2 3 4 5
    
    # Default-Stop:      0 1 6
    
    # 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=0while test $try -lt 35 ; docase "$1" in
    
                            'created')
    
                            if [ -f "$2" ] ; then
    
                                    try=''
    
                                    break
    
                            fi
    
                            ;;
    
    ​
    
                            'removed')
    
                            if [ ! -f "$2" ] ; then
    
                                    try=''
    
                                    break
    
                            fi
    
                            ;;
    
                    esacecho -n .
    
                    try=`expr $try + 1`
    
    ​
    
            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 1
    
                    fikill -TERM `cat $php_fpm_PID`
    
    ​
    
                    wait_for_pid removed $php_fpm_PID
    
    ​
    
                    if [ -n "$try" ] ; then
    
                            echo " failed"
    
                            exit 1
    
                    else
    
                            echo " done"
    
                    fi
    
            ;;
    
    
            restart)
    
                    $0 stop
    
                    $0 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 1
    
                    fikill -USR2 `cat $php_fpm_PID`
    
    ​
    
                    echo " done"
    
            ;;
    
    ​
    
            *)
    
                    echo "Usage: $0 {start|stop|force-quit|restart|reload|status}"
    
                    exit 1
    
            ;;
    
    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   7 root  admin    238  7 17 17:59 bin
    
    drwxr-xr-x   6 root  admin    204  7 17 17:59 luajit
    
    drwxr-xr-x   7 root  admin    238  7 17 17:59 lualib
    
    drwxr-xr-x  11 root  admin    374  7 18 16:22 nginx
    
    drwxr-xr-x@ 40 root  admin   1360  7 17 17:59 pod
    
    -rw-r--r--@  1 root  admin  95458  7 17 17:59 resty.index
    
    cd ./nginx/conf/
    
    ls -l
    
    -rw-r--r--@  1 root  admin  1077  7 17 17:59 fastcgi.conf
    
    -rw-r--r--@  1 root  admin  1077  7 17 17:59 fastcgi.conf.default
    
    -rw-r--r--@  1 root  admin  1007  7 17 17:59 fastcgi_params
    
    -rw-r--r--@  1 root  admin  1007  7 17 17:59 fastcgi_params.default
    
    -rw-r--r--   1 root  admin  2856  1 25 17:19 injection.lua
    
    -rw-r--r--@  1 root  admin  2837  7 17 17:59 koi-utf
    
    -rw-r--r--@  1 root  admin  2223  7 17 17:59 koi-win
    
    -rw-r--r--@  1 root  admin  3957  7 17 17:59 mime.types
    
    -rw-r--r--@  1 root  admin  3957  7 17 17:59 mime.types.default
    
    -rw-r--r--   1 root  admin  4167  7 17 18:05 nginx.conf
    
    -rw-r--r--@  1 root  admin  2656  7 17 17:59 nginx.conf.default
    
    -rw-r--r--@  1 root  admin   636  7 17 17:59 scgi_params
    
    -rw-r--r--@  1 root  admin   636  7 17 17:59 scgi_params.default
    
    -rw-r--r--@  1 root  admin   664  7 17 17:59 uwsgi_params
    
    -rw-r--r--@  1 root  admin   664  7 17 17:59 uwsgi_params.default
    
    drwxr-xr-x  12 root  admin   408  7 17 18:14 vhosts
    
    -rw-r--r--@  1 root  admin  3610  7 17 17:59 win-utf
    
    #根据需要修改相关配置文件

    nginx启动

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

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

  • 相关阅读:
    ie6,ie7,ie8 css bug汇总以及兼容解决方法
    关于ie6下的双倍浮动
    团队合作,如何避免js冲突
    实例探索Class文件
    MFC获得本机的IP
    MessageBox英文显示OK/Cancel(适用于中英文界面)
    基于OpenCV的程序脱离动态链接库运行方法 (此方法也可用于将opencv源码编译成一个链接库)
    将摄像头原始RGB数据流编码成H.264文件
    在线程中创建非模态对话框——解决对话框创建一闪就消失问题
    .NET预处理器指令
  • 原文地址:https://www.cnblogs.com/youn/p/5682376.html
Copyright © 2011-2022 走看看