在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 缩略图实现函数代码
Jun 23 PHP
ThinkPHP CURD方法之limit方法详解
Jun 18 PHP
php实现的双向队列类实例
Sep 24 PHP
php自动识别文字编码并转换为目标编码的方法
Aug 08 PHP
PHP设置头信息及取得返回头信息的方法
Jan 25 PHP
php实现生成验证码实例分享
Apr 10 PHP
PHP中获取文件创建日期、修改日期、访问时间的方法
Nov 05 PHP
jQuery+php简单实现全选删除的方法
Nov 28 PHP
php使用正则表达式获取字符串中的URL
Dec 29 PHP
php获取文件名称和扩展名的方法
Feb 07 PHP
PHP保留两位小数的几种方法
Jul 24 PHP
PHP命名空间(namespace)原理与用法详解
Dec 11 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
用PHP的ob_start();控制您的浏览器cache!
2007/02/14 PHP
PHP实现把数字ID转字母ID
2013/08/12 PHP
Opcache导致php-fpm崩溃nginx返回502
2015/03/02 PHP
微信自定义菜单的创建/查询/取消php示例代码
2016/08/05 PHP
jquery不支持toggle()高(新)版本的问题解决
2016/09/24 PHP
extjs 学习笔记(二) Ext.Element类
2009/10/13 Javascript
关于JavaScript的with 语句的使用方法
2011/05/09 Javascript
jquery模拟进度条实现方法
2015/08/03 Javascript
jQuery实现的指纹扫描效果实例(附演示与demo源码下载)
2016/01/26 Javascript
jQuery代码性能优化的10种方法
2016/06/21 Javascript
利用Angularjs和原生JS分别实现动态效果的输入框
2016/09/01 Javascript
JS 获取HTML标签内的子节点的方法
2016/09/21 Javascript
Angular2 父子组件通信方式的示例
2018/01/29 Javascript
vue中实现在外部调用methods的方法(推荐)
2018/02/08 Javascript
解决iview打包时UglifyJs报错的问题
2018/03/07 Javascript
jQuery插件实现弹性运动完整示例
2018/07/07 jQuery
Angular中使用ng-zorro图标库部分图标不能正常显示问题
2019/04/22 Javascript
jQuery实现容器间的元素拖拽功能
2020/12/01 jQuery
Python实现约瑟夫环问题的方法
2016/05/03 Python
python 文件操作删除某行的实例
2017/09/04 Python
Python AES加密实例解析
2018/01/18 Python
Python3.6安装及引入Requests库的实现方法
2018/01/24 Python
python抖音表白程序源代码
2019/04/07 Python
python如何爬取网站数据并进行数据可视化
2019/07/08 Python
python爬虫 urllib模块发起post请求过程解析
2019/08/20 Python
Python 实现取多维数组第n维的前几位
2019/11/26 Python
Cython编译python为so 代码加密示例
2019/12/23 Python
python+selenium+Chrome options参数的使用
2020/03/18 Python
css3 旋转按钮 使用CSS3创建一个旋转可变色按钮
2012/12/31 HTML / CSS
使用CSS3来制作消息提醒框
2015/07/12 HTML / CSS
新闻学专业应届生求职信
2013/11/08 职场文书
婚假请假条格式及范文
2014/04/10 职场文书
2014乡镇班子个人对照检查材料思想汇报
2014/09/26 职场文书
县委班子四风对照检查材料思想汇报
2014/09/29 职场文书
工作自我推荐信范文
2015/03/25 职场文书
Python使用海龟绘图实现贪吃蛇游戏
2021/06/18 Python