在 Mac 上搭建 Nginx PHP Mysql 开发环境
事实上这个过程跟Linux下安装都几乎相同,仅仅是部分命令有区别,大同小异。
网上看到非常多教程都是用 brew 之类的包管理器安装,可是 Mac 自带了 php , 难道还要再装一个第三方的?强迫症果断不能忍,于是就想利用自带的 php-fpm 来搭建。没想到一搭建就是两个小时,在这里把过程整理一下备用。同一时候也方便须要的人。
由于是调试环境,所以没有注重安全方面,有些东西直接 chmod 777 了 要用于ws的话还是改改吧。
下载 nginx 源码 并開始编译
tar zxvf nginx.tar.gz
cd nginx−1.7.4
./configure
运行报错:
./configure: error: the HTTP rewrite module requires the PCRE library.
You can either disable the module by using −−without−http_rewrite_module
option, or install the PCRE library into the system, or build the PCRE library
statically from the source with nginx by using −−with−pcre=<path> option.
Rewrite 须要 PCRE 库的支持 。 下载pcre库后进行编译安装
tar xvzf pcre.tar.gz
cd pcre-8.35
./configure
make
sudo make install
又一次编译nginx
cd ..
./configure
make
sudo make install
创建一个符号链接让开关easy一些
sudo ln -s /usr/local/nginx/sbin/nginx /usr/local/bin/nginx
有了 web 服务,接着尝试启动系统自带的php-fpm
php-fpm
运行报错
ERROR: failed to open configuration file '/private/etc/php-fpm.conf': No such file or directory (2)
找不到配置文件,为了省事就直接把.default复制,然后赋予权限
sudo cp /private/etc/php-fpm.conf.default /private/etc/php-fpm.conf
sudo chmod 777 /private/etc/php-fpm.conf
sudo php-fpm
尝试启动报错:
ERROR: failed to open error_log (/usr/var/log/php-fpm.log): No such file or directory (2)
找不到目录就新建
sudo mkdir /usr/var
sudo mkdir /usr/var/log
sudo php-fpm
此时PHP正常启动,只是还是须要完好一下 ,放置一下配置文件,改动一下权限,假设开公网訪问的话“中奖”就杯具了。这样的东西还是不要用 su 运行好一点。
cp /etc/php.ini.default /etc/php.ini
sudo chmod 777 /etc/php.ini
sudo killall php-fpm
php-fpm
此时PHP正常启动 有两个notice 能够无论他
NOTICE: [pool www] 'user' directive is ignored when FPM is not running as root
NOTICE: [pool www] 'group' directive is ignored when FPM is not running as root
改动 nginx 配置文件 使其能够处理php
location ~ \.php$ {
root /path/to/wwwroot;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME /path/to/wwwroot$fastcgi_script_name;
}
启动 nginx
sudo nginx
接下来就是 mysql 了
从官方下载 ( 下载DMG的话安装更简单的,但是我手贱下载了tar )http://dev.mysql.com/downloads/mysql/
tar zxvf mysql.tar.gz
cd mysql-*
mkdir /User/typcn/mysql
mv * /User/typcn/mysql/
cd /User/typcn/mysql
sudo chown -R _mysql .
#赋予权限
sudo chgrp -R _mysql .
sudo scripts/mysql_install_db --user=_mysql --datadir=/User/typcn/mysql/data
#运行安装
sudo chown -R root .
sudo chown -R _mysql data
subl my.cnf
编辑Mysql 配置文件
basedir = /path/to/mysql
datadir = /path/to/mysql/data
port = 3306
server_id = 1
socket = /tmp/mysql.sock
user = _mysql
用脚本管理Mysql
sudo ln -s /User/typcn/mysql/support-files/mysql.server /usr/local/bin/mysql
subl support-files/mysql.server
改动配置文件
basedir=/path/to/mysql
datadir=/path/to/data
mysqld_pid_file_path=/path/to/mysql.pid
好吧。我承认pid什么的放tmp是个坏习惯。
sudo mysql start
如今訪问 localhost 试试吧

在 Mac 上搭建 Nginx PHP Mysql 开发环境的更多相关文章
- Win7搭建nginx+php+mysql开发环境以及websocket聊天实例测试
Win7搭建nginx+php+mysql开发环境以及websocket聊天实例测试一.下载相关安装包 1.下载nginx最新版本(nginx1.3.13版之后才支持websocket协议) 下载地址 ...
- 图文教程:在Mac上搭建Titanium的iOS开发环境
http://mobile.51cto.com/web-317170_all.htm 跨平台开发工具Titanium的兴起之路:HTML 5是最大威胁 比较Titanium和PhoneGap两大iOS ...
- react-native —— 在Mac上搭建React Native Android开发环境
需要:JDK,Android SDK,Node.js 1.安装JDK 去Java官网下载列表选择Mac OS X x64版 2.安装Android SDK 虽然现在谷歌推荐使用Android ...
- Mac上通过docker配置PHP开发环境
这篇文章介绍的内容是关于Mac上通过docker配置PHP开发环境,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 更多PHP相关知识请关注我的专栏PHPzhuanlan.zhihu. ...
- Mac下搭建Apache+PHP+MySql运行环境
https://www.cnblogs.com/xiaovw/p/8854896.html 前言 我们在Mac上搭建Apache+PHP+MySql环境是非常方便的,因为Mac预装的有Apache和P ...
- 《从0到1学习Flink》—— Mac 上搭建 Flink 1.6.0 环境并构建运行简单程序入门
准备工作 1.安装查看 Java 的版本号,推荐使用 Java 8. 安装 Flink 2.在 Mac OS X 上安装 Flink 是非常方便的.推荐通过 homebrew 来安装. brew in ...
- Mac下搭建Cocos2d-x-3.2的开发环境
配置:OS X 10.9.4 + Xcode 6.0 + Cocos2d-x-3.2 摘要:本文目标为在Xcode成功运行HelloWorld程序. 一.下载必要项 1.从官网下载Cocos2d-x- ...
- 转:WIN7上搭建Windows Phone 8 开发环境——VMware Workstation下Win8 “无法安装Hyper-V, 某个虚拟机监控程序正在运行”问题解决的办法
转自:http://www.cnblogs.com/shaddock2013/p/3155024.html 最近在试着在Windows 7上搭建Windows Phone 8的开发调试环境,使用的是V ...
- WIN7上搭建Windows Phone 8 开发环境——VMware Workstation下Win8 “无法安装Hyper-V, 某个虚拟机监控程序正在运行”问题解决的办法
最近在试着在Windows 7上搭建Windows Phone 8的开发调试环境,使用的是VMware Workstation + Win8 Pro的虚拟环境, 在漫长的WPexpress_full下 ...
随机推荐
- Ext.net控件调整后台事件、方法论
一.以ext.net的button为例调用后台事件: 前台代码: <ext:Button ID="Button1" runat="server" Text ...
- Linux的七个运行级别原理概述
所谓运行级别,简单点来说,运行级别就是操作系统当前正在运行的功能级别.级别是从0到6,具有不同的功能.这些级别定义在/ect/inittab文件中.这个文件是init程序寻找的主要文件,最先运行的服务 ...
- 使struct对象拥有可变大小的数组——(C++深度探索)
首先摘录<Inside The C++ Object Model>中的一段话: 把单一元素的数组放在一个struct的尾端,于是每个 struct objects 可以拥有可变大小的数组: ...
- 【Android】5.8 滑动条(SeekBar)
分类:C#.Android.VS2015: 创建日期:2016-02-07 一.简介 滑动条也叫拖动条(用户可拖动改变滑动条的值),比如可让用户调节音量大小.调节屏幕亮度.调节歌曲或视频当前播放的位置 ...
- tomcat 源码分析
Tomcat源码分析——Session管理分析(下) Tomcat源码分析——Session管理分析(上) Tomcat源码分析——请求原理分析(下) Tomcat源码分析——请 ...
- c++ 使用vs2010调用 win32api
以前读书时都是用vc6.0.后来学c#用vs.装系统只装了vs2010.今天用vs2010写c++程序.发现有点陌生.就总结下,免得以后忘记. 首先用vs2010选择c++语言.新建一个win32控制 ...
- 使用B或BL跳转时,下一条指令的地址的计算
.text .global _start 3_start: b step1 step1: ldr pc, =step2 step2: b step2 反汇编代码: : eaffffff b 0x4 : ...
- C#中一道关于ADO.NET的基础练习题
在控制台程序中实现以下功能: 1. 构建3个表(程序启动时自动建立) (20分): 1) Employee 职工表 (工号.姓名.性别.年龄.部门) (Num.Name.Sex.Age.Depar ...
- Python中的画图初体验
学到<父与子编程之旅>的16章了,跟书上的例子进行学习,学会了画圆,我又找到了画线的方法,于是就可以在screen上画日本国旗了: 手动画的不好看,也可以不手动画,直接画线: 当然也可以直 ...
- jfinal视频目录
目录-----------------------------------------------------------第一章 简介第二章 JFine2.0 maven demo第三章番外篇 JFi ...