2013年7月8日星期一

os x nginx和php-fpm

第一步,安装xcode,打开这个窗口,Install Command Line Tools

第二步,安装homebrew,为了安装一些php依赖的库
ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"
brew tap homebrew/dupes
brew tap josegonzalez/homebrew-php
brew install git
brew update
brew install wget mysql pcre freetype gd geoip jpeg libpng libtool

第三步,下载php源码包和nginx源码包
自行移步到 http://www.php.net/downloads.php 和 http://nginx.org/en/download.html
下载吧,下载完解压就不用教了吧?

第四步,编译php5.4
cd php5.4的源码文件夹
./configure  --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --sysconfdir=/private/etc --enable-cli --with-config-file-path=/etc --with-libxml-dir=/usr --with-openssl=/usr --with-kerberos=/usr --with-zlib=/usr --enable-bcmath --with-bz2=/usr --enable-calendar --disable-cgi --with-curl=/usr --enable-dba --enable-exif --enable-fpm --enable-ftp --with-gd --with-freetype-dir=/usr/X11 --with-jpeg-dir=/usr/local --with-png-dir=/usr/local --enable-gd-native-ttf --with-icu-dir=/usr --with-iodbc=/usr --with-ldap=/usr --with-ldap-sasl=/usr --with-libedit=/usr --enable-mbstring --enable-mbregex --with-mysql=mysqlnd --with-mysqli=mysqlnd --without-pear --with-pdo-mysql=mysqlnd --with-mysql-sock=/var/mysql/mysql.sock --with-readline=/usr --enable-shmop --with-snmp=/usr --enable-soap --enable-sockets --enable-sysvmsg --enable-sysvsem --enable-sysvshm --with-tidy --enable-wddx --with-xmlrpc --with-iconv-dir=/usr --with-xsl=/usr --enable-zip --with-pcre-regex=/usr --with-pgsql=/usr --with-pdo-pgsql=/usr
make
sudo make install

第五步,编译nginx
cd 到nginx的源码文件夹
./configure --prefix=/usr --sbin-path=/usr/sbin --conf-path=/private/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --with-poll_module  --with-http_ssl_module --with-http_realip_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_stub_status_module  --with-http_spdy_module --with-http_addition_module --with-http_xslt_module --with-http_image_filter_module --with-http_geoip_module --with-http_dav_module --with-http_sub_module --with-http_random_index_module --with-http_secure_link_module --with-http_degradation_module --http-log-path=/var/log/nginx/access.log

make
sudo make install

第六步,修改nginx,解决php白页
vim /etc/nginx/ fastcgi_param增加下面一行
fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;

第七步,开启php-fpm和nginx的服务
sudo /usr/sbin/php-fpm
sudo /usr/sbin/nginx
开启之后,可以写个php文件调试一下了。
nginx默认目录在/usr/html/,创建一个test.php 里面 写上一句
可以输入http://127.0.0.1/test.php测试一下了

第八步,增加自启动项
执行sudo -s命令,切换到管理员权限
在/Library/LaunchDaemons目录创建两个文件
org.lukin.php-fpm.plist,文件的内容:

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


  KeepAlive
 
  Label
  org.lukin.php-fpm
  Program
  /usr/sbin/php-fpm
  RunAtLoad
 
  WorkingDirectory
  /usr/local/var

org.lukin.nginx.plist,文件的内容:

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


  KeepAlive
 
  Label
  org.lukin.nginx
  Program
  /usr/sbin/nginx
  RunAtLoad
 
  WorkingDirectory
  /usr/local/var

增加开机启动任务,执行以下命令:
launchctl load -w /Library/LaunchDaemons/org.lukin.php-fpm.plist
launchctl load -w /Library/LaunchDaemons/org.lukin.nginx.plist

可以重启机器了,重启之后,用 netstat -nat | grep LISTEN 这个命令,看看是否已经开启相应的端口了。
80端口和9000如果已经有了,就说明你的配置都正常了。

没有评论:

发表评论