第一步:关闭Apache及开机启动

要使用nginx,最好停用mac中自带的Apache。停用很简单:

sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist

第二步:安装homebrew

homebrew是mac下的包管理器,类似于linux下的yumapt。使用homebrew安装nginxphpmysql要比手动安装方便很多。官网地址:http://brew.sh/index_zh-cn.html

安装:

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

第三步:安装nginx

安装:brew install nginx

启动:sudo nginx

停止:sudo nginx -s quit

配置nginx:

/usr/local/var/log/nginx/下,新建文件:access.logerror.log (如果安装时已经创建就无需再创建)

配置/usr/local/etc/nginx/nginx.conf

#user  nobody;
worker_processes 1; error_log /usr/local/var/log/nginx/error.log; //注 此处需指定绝对路径 默认为相对路径 pid /usr/local/var/run/nginx.pid; //注 此处需指定绝对路径 默认为相对路径(若不设置绝对路径容易出现nginx.pid丢失,导致nginx无法启动或无法关闭) events {
worker_connections 1024;
} http {
include mime.types;
default_type application/octet-stream;
access_log /usr/local/var/log/nginx/access.log;
sendfile on;
keepalive_timeout 65; #
include conf.d/*.conf;
}

如需添加server可进行如下配置:

在 /usr/local/etc/nginx/nginx.conf 里 http 配置里添加

 server {
listen 80 default_server;
server_name localhost; #域名,自定义
root 网站根目录; #自定义,如/var/www
index index.html index.htm
}

测试:在你设定的根目录下(例如/var/www/),新建一个静态页index.html,启动nginx,在浏览器中输入localhost,成功看到静态页内容。

第四步:安装php

首先,在brew中添加php的源:

brew tap josegonzalez/php
brew tap homebrew/dupes

查看已添加的源:brew tap

搜索可安装的php:brew search php

安装最多的是php55,安装前首先查看一下安装相关参数的说明:

brew search php55

安装:

brew install php55 --with-fpm, --with-enchant, --with-debug

由于国内网络限制可能其中某些包需要翻墙下载安装。

成功安装后,启动php-fpm:(php-fpm相当于一个接口,nginx和php之间通信通过php-fpm这个东西)

launchctl load -w /usr/local/opt/php55/homebrew.mxcl.php55.plist

停止php-fpm:

launchctl unload -w /usr/local/opt/php55/homebrew.mxcl.php55.plist

设置快捷指令:打开~/.bash_profile,添加

alias php55.start=launchctl\ load\ -w\ /usr/local/opt/php55/homebrew.mxcl.php55.plist
alias php55.stop=launchctl\ unload\ -w\ /usr/local/opt/php55/homebrew.mxcl.php55.plist

快捷指令设置之后,重启终端,就可以用php55.startphp55.stop来启动和停止php-fpm了。

重新配置nginx:配置文件/usr/local/etc/nginx/nginx.conf

  server {
listen 80 default_server;
server_name localhost; #域名,自定义
root 网站根目录; #自定义,如/var/www
index index.html index.htm # pass the PHP scripts to FastCGI slinerver listening on 127.0.0.1:9000
#
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME 网站根目录$fastcgi_script_name; #如/var/www$fastcgi_script_name
include fastcgi_params;
fastcgi_intercept_errors on;
}
}

测试:重启nginx,启动php-fpm后,在网站根目录下新建文件index.php,设置index.php的内容:<?php phpinfo(); ?>。然后浏览器中输入:localhost/index.php,看到php信息,成功。

备注:

安装时所遇到的问题:

1、无法启动、无法关闭nginx,出现nginx.pid丢失。

/usr/local/etc/nginx/nginx.conf配置中 error及pid应设置成绝对路径

error_log  /usr/local/var/log/nginx/error.log; //注 此处需指定绝对路径 默认为相对路径

pid        /usr/local/var/run/nginx.pid; //注 此处需指定绝对路径 默认为相对路径(若不设置绝对路径容易出现nginx.pid丢失,导致nginx无法启动或无法关闭)

设置完成后,再重启下nginx,如果还是不行,重启电脑。

大部分内容转自:http://segmentfault.com/a/1190000002556269

mac搭建nginx与php的更多相关文章

  1. Mac搭建nginx+rtmp服务器

    nginx是非常优秀的开源服务器,用它来做hls或者rtmp流媒体服务器是非常不错的选择,本人在网上整理了安装流程,分享给大家并且作备忘. 一.安装Homebrow 已经安装了brow的可以直接跳过这 ...

  2. mac搭建nginx

    0.介绍 Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务.Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler ...

  3. Mac使用nginx+rtmp服务器

    一.安装Homebrow 已经安装了brow的可以直接跳过这一步.执行命令 ruby -e "$(curl -fsSL https://raw.githubusercontent.com/H ...

  4. 在阿里云服务器(ECS)上从零开始搭建nginx服务器

    本文介绍了如何在阿里云服务器上从零开始搭建nginx服务器.阿里云服务器(ECS)相信大家都不陌生,感兴趣的同学可以到http://www.aliyun.com/product/ecs去购买,或到体验 ...

  5. mac搭配Nginx服务器常见问题

    推流服务器主要是使用了开源的nginx和rtmp模块,网上也有很多资料,不过对有些可能出现的问题没有很好的总结. 安装brew 使用Mac进行开发很久的老司机应该对这个工具很熟悉了.brew是一个第三 ...

  6. 【Nginx】如何基于主从模式搭建Nginx+Keepalived双机热备环境?这是最全的一篇了!!

    写在前面 最近出版了<海量数据处理与大数据技术实战>,详情可以关注 冰河技术 微信公众号,查看<我的<海量数据处理与大数据技术实战>出版啦!>一文. 也有不少小伙伴 ...

  7. ELK+redis搭建nginx日志分析平台

    ELK+redis搭建nginx日志分析平台发表于 2015-08-19   |   分类于 Linux/Unix   |  ELK简介ELKStack即Elasticsearch + Logstas ...

  8. 基于ubuntu 14搭建nginx+php+mysql环境

    基于最新的Ubuntu 14.04(2014年9月)搭建nginx.php.mysql环境, 以下全部命令行操作: 1 由于需要大量的权限操作,方便起见临时提升权限,使用root账号 sudo su ...

  9. Win7搭建nginx+php+mysql开发环境以及websocket聊天实例测试

    Win7搭建nginx+php+mysql开发环境以及websocket聊天实例测试一.下载相关安装包 1.下载nginx最新版本(nginx1.3.13版之后才支持websocket协议) 下载地址 ...

随机推荐

  1. 完美解决IE(IE6/IE7/IE8)不兼容HTML5标签的方法

    完美解决IE(IE6/IE7/IE8)不兼容HTML5标签的方法   HTML5的语义化标签以及属性,可以让开发者非常方便地实现清晰的web页面布局,加上CSS3的效果渲染,快速建立丰富灵活的web页 ...

  2. maven实战(04)_在pom中使用properties

    使用常量不仅让代码变得简洁,更重要的是可以避免重复,在需要更改的时候,只需要修改一处,降低了错误发生的概率. <project> <modelVersion>4.0.0< ...

  3. Eclipse 各版本版本号代号对应一览表

    版本号 代号 日期   Eclipse 3.1 IO [木卫一,伊奥] 2005   Eclipse 3.2 Callisto [木卫四,卡里斯托] 2006   Eclipse 3.3 Eruopa ...

  4. python string模块

    string.ascii_lowercase ='abcdefghijklmnopqrstuvwxyz' string.ascii_uppercase ='ABCDEFGHIJKLMNOPQRSTUV ...

  5. 前后端分离中,Gulp实现头尾等公共页面的复用

    前言 通常我们所做的一些页面,我们可以从设计图里面看出有一些地方是相同的.例如:头部,底部,侧边栏等等.如果前后端分离时,制作静态页面的同学,对于这些重复的部分只能够通过复制粘贴到新的页面来,如果页面 ...

  6. MySql: 常见sql语句

    1. show create table mysql> show create table t \G*************************** 1. row ************ ...

  7. 使用KRPano资源分析工具解密被加密的XML

    软件交流群:571171251(软件免费版本在群内提供) krpano技术交流群:551278936(软件免费版本在群内提供) 最新博客地址:blog.turenlong.com 限时下载地址:htt ...

  8. Mac Vim + ctags 实现多目录跳转

    set tags=tags; set autochdir :wq保存. 在源码根目录中输入ctags -R命令.后重启vim,打开src文件,就能使用Ctrl+] 或 g Ctrl+] 来实现跳转了. ...

  9. nginx 反向代理 公用一个外网端口

    服务器:ubuntu 配置nginx代理有2个文件,分别是sites-enabled 和sites-available. 路径都在/etc/nginx下,sites-enabled为sites-ava ...

  10. ecshop 不同页面调用不同分类文章的解决办法

    调用文章列表,需要修改对应的程序,修改index.php或者arctical_cat.php文件在$smarty->assign('new_articles', index_get_new_ar ...