在Mac OS上搭建Nginx+PHP+MySQL开发环境的教程

 更新时间:2015年12月21日 16:44:32   作者:abing_hu  
这篇文章主要介绍了在Mac OS上安装配置Nginx+PHP+MySQL开发环境的教程,虽然Mac自带PHP,但还是要注意一下php-fpm报错问题的发生,需要的朋友可以参考下

安装homebrew

homebrew是mac下非常好用的包管理器,会自动安装相关的依赖包,将你从繁琐的软件依赖安装中解放出来。
安装homebrew也非常简单,只要在终端中输入:

<!-- lang: shell -->
ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"

homebrew的常用命令:

<!-- lang: shell -->
brew update #更新可安装包的最新信息,建议每次安装前都运行下
brew search pkg_name #搜索相关的包信息
brew install pkg_name #安装包

想了解更多地信息,请参看homebrew

安装nginx

安装

<!-- lang: shell -->
brew search nginx
brew install nginx

当前的最新版本是1.4.4。

配置

<!-- lang: shell -->
cd /usr/local/etc/nginx/
mkdir conf.d
vim nginx.conf
vim ./conf.d/default.conf

nginx.conf内容,

<!-- lang: shell -->
worker_processes 1; 

error_log    /usr/local/var/log/nginx/error.log warn;

pid    /usr/local/var/run/nginx.pid;

events {
  worker_connections 256;
}

http {
  include    mime.types;
  default_type application/octet-stream;

  log_format main '$remote_addr - $remote_user [$time_local] "$request" '
           '$status $body_bytes_sent "$http_referer" '
           '"$http_user_agent" "$http_x_forwarded_for"';

  access_log   /usr/local/var/log/nginx/access.log main;
  port_in_redirect off;
  sendfile    on; 
  keepalive_timeout 65; 

  include /usr/local/etc/nginx/conf.d/*.conf;
}

default.conf文件内容,

<!-- lang: shell -->
server {
  listen    8080;
  server_name localhost;

  root /Users/user_name/nginx_sites/; # 该项要修改为你准备存放相关网页的路径

  location / { 
    index index.php;
    autoindex on; 
  }  

  #proxy the php scripts to php-fpm 
  location ~ \.php$ {
    include /usr/local/etc/nginx/fastcgi.conf;
    fastcgi_intercept_errors on; 
    fastcgi_pass  127.0.0.1:9000; 
  }  

}

安装php-fpm

Mac OSX 10.9以后的系统自带了PHP、php-fpm,省去了安装php-fpm的麻烦。
这里需要简单地修改下php-fpm的配置,否则运行php-fpm会报错。

<!-- lang: shell -->
sudo cp /private/etc/php-fpm.conf.default /private/etc/php-fpm.conf
vim /private/etc/php-fpm.conf

修改php-fpm.conf文件中的error_log项,默认该项被注释掉,这里需要去注释并且修改为error_log = /usr/local/var/log/php-fpm.log。如果不修改该值,运行php-fpm的时候会提示log文件输出路径不存在的错误。

安装mysql

安装

<!-- lang: shell -->
brew install mysql

常用命令

<!-- lang: shell -->
mysql.server start #启动mysql服务
mysql.server stop #关闭mysql服务

配置
在终端运行mysql_secure_installation脚本,该脚本会一步步提示你设置一系列安全性相关的参数,包括:设置root密码,关闭匿名访问,不允许root用户远程访问,移除test数据库。当然运行该脚本前记得先启动mysql服务。

测试nginx服务

在之前nginx配置文件default.conf中设置的root项对应的文件夹下创建测试文件index.php:


<!-- ~/nginx_sites/index.php -->
<?php phpinfo(); ?>

启动nginx服务,

sudo nginx; 

修改配置文件,重启nginx服务,

sudo nginx -s reload 

启动php服务,

sudo php-fpm; 

在浏览器地址栏中输入localhost:8080,如果配置正确地话,应该能看到PHP相关信息的页面。

相关文章

  • Laravel+Layer实现图片上传功能(整理篇)

    Laravel+Layer实现图片上传功能(整理篇)

    这篇文章主要介绍了Laravel+Layer实现图片上传功能(整理篇),需要的朋友可以参考下
    2018-01-01
  • Drupal7中常用的数据库操作实例

    Drupal7中常用的数据库操作实例

    Drupal 7 提供的新功能其中一个就是可以使用 Query Builder and Query Objects 查询生成器来构造查询对象的能力,无需在代码中写原始的SQL语句,一是提高了代码可阅读性,二是兼容所有数据库
    2014-03-03
  • php正确输出json数据的实例讲解

    php正确输出json数据的实例讲解

    今天小编就为大家分享一篇php正确输出json数据的实例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-08-08
  • 百度站点地图(百度sitemap)生成方法分享

    百度站点地图(百度sitemap)生成方法分享

    百度目前还没有开放站点地图数据提交,但可以通过,百度站长工具的开放适配提交更新数据,大家参考使用吧
    2014-01-01
  • 关于laravel后台模板laravel-admin select框的使用详解

    关于laravel后台模板laravel-admin select框的使用详解

    今天小编就为大家分享一篇关于laravel后台模板laravel-admin select框的使用详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-10-10
  • CodeIgniter框架验证码类库文件与用法示例

    CodeIgniter框架验证码类库文件与用法示例

    这篇文章主要介绍了CodeIgniter框架验证码类库文件与用法,结合实例形式分析了CodeIgniter框架验证码类库文件的定义与具体使用方法,具有一定参考借鉴价值,需要的朋友可以参考下
    2017-03-03
  • PHP四种基本排序算法示例

    PHP四种基本排序算法示例

    这篇文章主要介绍了PHP四种基本排序算法示例,本文用一个实例讲解冒泡排序法、快速排序法、选择排序法、插入排序法的使用,需要的朋友可以参考下
    2015-04-04
  • JSON两种结构之对象和数组的理解

    JSON两种结构之对象和数组的理解

    这篇文章主要介绍了JSON两种结构之对象和数组的理解的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-07-07
  • laravel 创建命令行命令的图文教程

    laravel 创建命令行命令的图文教程

    今天小编就为大家分享一篇laravel 创建命令行命令的图文教程,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-10-10
  • Ajax和PHP正则表达式验证表单及验证码

    Ajax和PHP正则表达式验证表单及验证码

    这篇文章主要介绍了Ajax和PHP正则表达式验证表单及验证码的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-09-09

最新评论