本文在以下教程基础上再集成了phalcon,以下教程为系列教程,不可分离。
一、mac自带了apache和php,应该先删除。
以下为Os X1 0.10.4新装系统演示:
打开终端命令
cd / find . -name 'apache*' #找到与apache相关的,删除之 find . -name 'httpd*' #找到与httpd相关的,删除之 find . -name 'php*' #找到与php相关的,删除之
二、编译安装lnmp
第一种方式来自网络,设置相对简单,灵活性不如第二种方式
(感谢原作者分享,非常完美的编译安装,和linux下雷同)
mysql:http://www.widlabs.com/article/mac-os-x-install-mysql-with-tar-gz.html
Nginx:http://www.widlabs.com/article/mac-os-x-compile-install-nginx.html
PHP:http://www.widlabs.com/article/mac-os-x-compile-install-php.html
配置文件:http://www.widlabs.com/article/mac-os-x-lnmp-config.html
第二种采用和linux下同样的编译方式,推荐这种方式,具体见网络资料
先安装cmake
然后编译安装mysql
mac默认有_mysql用户和组,新建用户可以省略。并且将用户换成_mysql,
如:
sudo chown -R _mysql:_mysql /var/mysql/ sudo chown -R _mysql:_mysql /usr/local/server/mysql
sudo make install
谨记都用sudo
如果启动失败,删除数据库文件夹下面的ib_logfile0和ib_logfile1
三、安装好了之后,开始编译安装phalcon
在mac需要先安装m4和autoconf,注意不要用最新版,好像有点故障
sudo wget http://ftp.gnu.org/gnu/m4/m4-1.4.tar.gz sudo tar zxvf m4-1.4.tar.gz cd m4-1.4/ sudo ./configure && sudo make && sudo make install sudo wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz sudo tar zxvf autoconf-2.69.tar.gz cd autoconf-2.69/ sudo ./configure && sudo make && sudo make install
然后编译phalcon,和centos下差不多,参考http://my.oschina.net/kmwzjs/blog/337192
命令:也可以命令做软链接到 /usr/local/bin,如
ln -s /usr/local/nginx/sbin/nginx /usr/local/bin/nginx
#mysql sudo /usr/local/mysql/support-files/mysql.server start #启动 sudo /usr/local/mysql/support-files/mysql.server stop #停止 sudo /usr/local/mysql/support-files/mysql.server restart #重启 #ngnix sudo /usr/local/nginx/sbin/nginx #启动 sudo /usr/local/nginx/sbin/nginx -s reload #重启 sudo /usr/local/nginx/sbin/nginx -s stop #停止 #php-fpm重启和停止 sudo /usr/local/php/sbin/php-fpm #启动 sudo kill -USR2 `cat /usr/local/php/var/run/php-fpm.pid` #重启 sudo kill -INT `cat /usr/local/php/var/run/php-fpm.pid` #停止 #配置文件地址 /usr/local/nginx/conf/nginx.conf #nginx配置 /usr/local/php/php.ini #php.ini配置 /usr/local/php/etc/php-fpm.conf #php配置 /etc/my.cnf #mysql配置
php-fpm master 进程可以理解一下信号:
SIGINT, SIGTERM 立刻终止
SIGQUIT 平滑终止
SIGUSR1 重新打开日志文件
SIGUSR2 平滑重载所有worker进程并重新载入配置和二进制模块
要是mysql遇到Data too long for column错误解决方案
在my.ini或者my.cnf里找到
sql-mode=”STRICT_TRANS_TABLES,NO_AUTO_Create_USER,NO_ENGINE_SUBSTITUTION”
把其中的STRICT_TRANS_TABLES,去掉,然后重启mysql就ok了
mac中nginx出现 too many open files
是xebug
其他设置
1.让php-fpm支持连接mysql
安装之后,需要修改一下/usr/local/php.ini,找到mysqli.default_socket改成
mysqli.default_socket = /usr/local/mysql/mysql.sock
2. 设置session和upload的路径为/tmp
重启php-fpm,不然CI等框架无法使用php去连接mysql数据库,记得改成mysqli引擎
sudo kill -USR2 `cat /usr/local/php/var/run/php-fpm.pid`