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
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 fi kill -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 服务和动态网关。
#安装
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