mac搭建nginx与php

时间:2022-11-01 04:37:07

第一步:关闭Apache及开机启动

要使用nginx,最好停用mac中自带的Apache。停用很简单:

sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist

第二步:安装homebrew

homebrew是mac下的包管理器,类似于linux下的yumapt。使用homebrew安装nginxphpmysql要比手动安装方便很多。官网地址: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.logerror.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

由于国内网络限制可能其中某些包需要FQ下载安装。

成功安装后,启动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.startphp55.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