mac搭建nginx与php
第一步:关闭Apache及开机启动
要使用nginx,最好停用mac中自带的Apache。停用很简单:
sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist
第二步:安装homebrew
homebrew是mac下的包管理器,类似于linux下的yum,apt。使用homebrew安装nginx,php,mysql要比手动安装方便很多。官网地址: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.log
、error.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.start
和php55.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的更多相关文章
- Mac搭建nginx+rtmp服务器
nginx是非常优秀的开源服务器,用它来做hls或者rtmp流媒体服务器是非常不错的选择,本人在网上整理了安装流程,分享给大家并且作备忘. 一.安装Homebrow 已经安装了brow的可以直接跳过这 ...
- mac搭建nginx
0.介绍 Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务.Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler ...
- Mac使用nginx+rtmp服务器
一.安装Homebrow 已经安装了brow的可以直接跳过这一步.执行命令 ruby -e "$(curl -fsSL https://raw.githubusercontent.com/H ...
- 在阿里云服务器(ECS)上从零开始搭建nginx服务器
本文介绍了如何在阿里云服务器上从零开始搭建nginx服务器.阿里云服务器(ECS)相信大家都不陌生,感兴趣的同学可以到http://www.aliyun.com/product/ecs去购买,或到体验 ...
- mac搭配Nginx服务器常见问题
推流服务器主要是使用了开源的nginx和rtmp模块,网上也有很多资料,不过对有些可能出现的问题没有很好的总结. 安装brew 使用Mac进行开发很久的老司机应该对这个工具很熟悉了.brew是一个第三 ...
- 【Nginx】如何基于主从模式搭建Nginx+Keepalived双机热备环境?这是最全的一篇了!!
写在前面 最近出版了<海量数据处理与大数据技术实战>,详情可以关注 冰河技术 微信公众号,查看<我的<海量数据处理与大数据技术实战>出版啦!>一文. 也有不少小伙伴 ...
- ELK+redis搭建nginx日志分析平台
ELK+redis搭建nginx日志分析平台发表于 2015-08-19 | 分类于 Linux/Unix | ELK简介ELKStack即Elasticsearch + Logstas ...
- 基于ubuntu 14搭建nginx+php+mysql环境
基于最新的Ubuntu 14.04(2014年9月)搭建nginx.php.mysql环境, 以下全部命令行操作: 1 由于需要大量的权限操作,方便起见临时提升权限,使用root账号 sudo su ...
- Win7搭建nginx+php+mysql开发环境以及websocket聊天实例测试
Win7搭建nginx+php+mysql开发环境以及websocket聊天实例测试一.下载相关安装包 1.下载nginx最新版本(nginx1.3.13版之后才支持websocket协议) 下载地址 ...
随机推荐
- BZOJ2134——单选错位
1.题意:这就是说考试的时候抄串了一位能对几个(雾) 2.分析:这是一个期望问题,期望就是平均,E(a+b)=E(a)+E(b),所以我们直接算出每个点能对几个就好,那么就是1/max(a[i],a[ ...
- Makefile的编写
makefile介绍 makefile的功能是管理源文件的编译链接,在makefile我们可以定义一系列的规则来指定哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能 ...
- Sql Server函数全解<三>数据类型转换函数和文本图像函数
阅读目录 一:数据类型转换函数 二:文本和图像函数 一:数据类型转换函数 在同时处理不同数据类型的值时,SQL Server一般会自动进行隐士类型转换.对于数据类型相近的值是有效的,比如int和flo ...
- mysql中的行转列
//查看当前商品库存 function checkProductStock($product_id){ global $wpdb; $sql="SELECT post_id,max(if(( ...
- rocketmq生产者和消费者
1.生产者: package com.ebways.mq.test.mq; import com.alibaba.rocketmq.client.exception.MQClientException ...
- 在VisualStudio 编辑器文本替换中使用正则表达式
替换时使用正则表达式,其优点在于可以通过正则分组捕获,并在替换字符串中使用. 在VS2012之前的版本中,捕获内容用{}包含,引用时,使用 \1 形式: 在VS2012及以后版本中,捕获内容符合正则表 ...
- OC与Swift单例
OC: +(instancetype)shareNetworkTools{ static id instance; static dispatch_once_t onceToken; //onceTo ...
- STM32F412应用开发笔记之五:结合W5500实现以太网通讯
因实际使用需求我们测试一下网络通讯,在NUCLEO-F412ZG测试板上没有以太网部分,我们选择外接一个W5500的实验板.W5500支持SPI接口通讯,DC3.3V供源.而NUCLEO-F412ZG ...
- 在WinCC中通过VBS操作SQL Server2005
在项目中需要在一定条件满足时,保存一些数据到数据库中,并可根据条件查询.考虑到WinCC6.2以后采用的就是SQL Server2005数据库,所以直接利用该数据库即可,通过SQL Server Ma ...
- C# winform 跨线程更改窗体控件的属性
当winform程序中新开一个线程,是无法改变主线程中窗体控件的属性的,否则运行时会报错. 若想在其他线程中控制主线程中的窗体控件,则必须利用BeginInvoke方法. 例如:添加一个名为textb ...