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


Posted in PHP onDecember 21, 2015

安装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相关信息的页面。

PHP 相关文章推荐
php中截取字符串支持utf-8
Jan 18 PHP
THINKPHP+JS实现缩放图片式截图的实现
Mar 07 PHP
php flv视频时间获取函数
Jun 29 PHP
php 操作调试的方法
Jul 12 PHP
ThinkPHP结合AjaxFileUploader实现无刷新文件上传的方法
Oct 29 PHP
PHP6连接SQLServer2005的三部曲
Apr 15 PHP
php求今天、昨天、明天时间戳的简单实现方法
Jul 28 PHP
学习PHP Cookie处理函数
Aug 09 PHP
PHP模糊查询的实现方法(推荐)
Sep 06 PHP
理清PHP在Linxu下执行时的文件权限方法
Jun 07 PHP
PHP大文件分割上传 PHP分片上传
Aug 28 PHP
PHP让数组中有相同值的组成新的数组实例
Dec 31 PHP
Linux下从零开始安装配置Nginx服务器+PHP开发环境
Dec 21 #PHP
反射调用private方法实践(php、java)
Dec 21 #PHP
关于php微信订阅号开发之token验证后自动发送消息给订阅号但是没有消息返回的问题
Dec 21 #PHP
变量在 PHP7 内部的实现(二)
Dec 21 #PHP
变量在 PHP7 内部的实现(一)
Dec 21 #PHP
php阿拉伯数字转中文人民币大写
Dec 21 #PHP
详解PHP执行定时任务的实现思路
Dec 21 #PHP
You might like
CodeIgniter php mvc框架 中国网站
2008/05/26 PHP
PHP中通过语义URL防止网站被攻击的方法分享
2011/09/08 PHP
php删除页面记录 同时刷新页面 删除条件用GET方式获得
2012/01/10 PHP
Zend Framework教程之Zend_Config_Xml用法分析
2016/03/23 PHP
js封装的textarea操作方法集合(兼容很好)
2010/11/16 Javascript
Jquery 绑定时间实现代码
2011/05/03 Javascript
javascript 日期时间 转换的方法
2013/02/21 Javascript
JavaScript四种调用模式和this示例介绍
2014/01/02 Javascript
js中通过父级进行查找定位元素
2014/06/15 Javascript
asp.net+js实现金额格式化
2015/02/27 Javascript
每天一篇javascript学习小结(面向对象编程)
2015/11/20 Javascript
简单实现jQuery多选框功能
2017/01/09 Javascript
js实现背景图自适应窗口大小
2017/01/10 Javascript
微信扫码支付零云插件版实例详解
2017/04/26 Javascript
使用layui 渲染table数据表格的实例代码
2018/08/19 Javascript
jQuery实现的3D版图片轮播示例【滑动轮播】
2019/01/18 jQuery
微信小程序实现蓝牙打印
2019/09/23 Javascript
JS动态图片的实现方法完整示例
2020/01/13 Javascript
Openlayers绘制地图标注
2020/09/28 Javascript
vue 递归组件的简单使用示例
2021/01/14 Vue.js
python多线程http下载实现示例
2013/12/30 Python
Python实现比较扑克牌大小程序代码示例
2017/12/06 Python
python logging.basicConfig不生效的原因及解决
2020/02/20 Python
美的官方商城:Midea
2016/09/14 全球购物
英国领先的NHS批准的在线药店:Pharmacy2U
2017/01/06 全球购物
Kneipp克奈圃美国官网:德国百年精油配方的传承
2018/02/07 全球购物
将"引用"作为函数返回值类型的格式、好处和需要遵守的规则
2016/02/09 面试题
材料员岗位职责
2014/03/13 职场文书
大学三年计划书范文
2014/04/30 职场文书
校车安全责任书
2014/08/25 职场文书
2014统计局民主生活会对照检查材料思想汇报
2014/10/02 职场文书
婚前保证书范文
2015/02/28 职场文书
同意落户证明
2015/06/19 职场文书
古诗文之爱国名句(77句)
2019/09/24 职场文书
工作总结之小学教师体育工作范文(3篇)
2019/10/07 职场文书
Python办公自动化之Excel(中)
2021/05/24 Python