本人简介:linux小白,Mac是刚刚购进的,虽为PHP开发人员但却一直都使用现成的包来配置开发环境,爱捣饰自己不会的东西。

最近学着自己动手在mac上安装php开发环境,我安装的环境是:PHP70,nginx1.10.2, mysql,在安装好环境后使用nginx配置虚拟主机用来访问现在的项目,然后问题来了:配置好后访问一直报错502,网上查找了很多资料都是什么与nginx无关,php的资源配置有问题,然而一个星期下来了,问题依然没有解决。

最后找到一份关于配置PHP70与nginx的资料,修改了nginx.conf文件,这才能够访问成功,到现在虽然也没弄明白问题具体出现在什么地方,但自己目前的思考结果是,可能新下载的nginx配置文件有很多的资源没有打开,所以导致访问一直报错502,现在把自己新配置的nginx.conf文件内容放上来,请大家多指教。  (安装目录:/usr/local/cellar           配置目录:/usr/local/etc/nginx    (这个不清楚)/usr/local/var)

#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;
error_log   /usr/local/var/log/nginx/error.log warn;

#pid        logs/nginx.pid;
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  logs/access.log  main;
    access_log      /usr/local/var/log/nginx/access.log main;

port_in_redirect off;

sendfile        on;
    #tcp_nopush     on;

#keepalive_timeout  0;
    keepalive_timeout  0;

#gzip  on;

server {
        listen       8080;
        server_name  localhost;

#charset koi8-r;

#access_log  logs/host.access.log  main;

location / {
            root   html;
            index  index.html index.htm;
        }

#error_page  404              /404.html;

# redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

# proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
        #    proxy_pass   http://127.0.0.1;
        #}

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        #location ~ \.php$ {
        #    root           html;
        #    fastcgi_pass   127.0.0.1:9000;
        #    fastcgi_index  index.php;
        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        #    include        fastcgi_params;
        #}

# deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /\.ht {
        #    deny  all;
        #} 
    }

# another virtual host using mix of IP-, name-, and port-based configuration
    #
    #server {
    #    listen       8000;
    #    listen       somename:8080;
    #    server_name  somename  alias  another.alias;

#    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}

# HTTPS server
    #
    #server {
    #    listen       443 ssl;
    #    server_name  localhost;

#    ssl_certificate      cert.pem;
    #    ssl_certificate_key  cert.key;

#    ssl_session_cache    shared:SSL:1m;
    #    ssl_session_timeout  5m;

#    ssl_ciphers  HIGH:!aNULL:!MD5;
    #    ssl_prefer_server_ciphers  on;

#    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}
    include servers/*;
    include vhosts/*.conf;
}

配置文件的最后一行是我配置虚拟主机的文件,现把我配置的一个虚拟主机文件再放上来,请多指教。

server {
        listen       80;
        server_name  localhost;

charset utf-8;

root /Users/mac登录用户名/项目路径/项目名称/; # 该项要修改为你准备存放相关网页的路径,注意路径的最后要以/结尾

#access_log  logs/host.access.log  main;

location / {
        index  index.html index.htm 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;
        }
    }

现在这样访问就能成功了。

上述的配置在访问成功后,过了一个周末回来再访问又报错502,很悲催,继续研究,这次比较顺利,只是开启了一下php70-fpm就访问成功了。注意:(1)mac默认安装有php,但是一般自己配置不会用它默认安装的php,反正我是自己重新下载的。(2)nginx对php的解析需要php-fpm,这一点与apache不同(可以参考http://blog.csdn.net/geyuezhen/article/details/50716780),而mac有因为默认已经安装php,如果你再安装一个php版本,就会有两个版本的ph-fpm,要使用哪一个需要你动手去启动,我这里安装的是PHP70所以我的启动命令是(这也可以用来重启你想要开启的对应版本的php-fpm):

(1)打开终端

(2)sudo killall php-fpm 先停掉所有php-fpm的进程

cd  /usr/local/Cellar/php/版本号/sbin

不同版本的php,sbin目录里会有不同的php-fpm,比如php7.0的是php70-fpm, php5.6.18的是 php56-fpm,你想启动哪个fpm就

(3)敲 sudo ./php70-fpm start 或php56-fpm start就行

nginx的开启/暂停/重启

路径:cd /usr/local/Cellar/nginx/1.10.2_1/bin

sudo nginx / -s stop / -s reload

转载于:https://my.oschina.net/maosilu/blog/837464

Mac下nginx配置虚拟主机,访问报错502相关推荐

  1. linux 下nginx搭建php项目访问报错502

    前言: 使用宝塔安装的php,nginx环境,因为想搭一个使用ip加端口访问的项目,所以没有使用他自带的一键搭建网站,就自己整了一下,结果项目可以跑访问html页面正常,但是访问php 报错 502 ...

  2. mac 下 mamp 配置虚拟主机步骤

    2019独角兽企业重金招聘Python工程师标准>>> PRO用户请华丽飘过~ 先进入apache的配置文件httpd.conf,路径是/Applications/MAMP/conf ...

  3. mac 上 mamp 配置虚拟主机 具体过程 ?

    https://www.zhihu.com/question/32320396 mac 上 mamp 配置虚拟主机 具体过程 ? 按照哪些配置什么的 都搞好了 但是还不好 配置的主机 制定的目录 还是 ...

  4. 正向代理和反向代理的区别Nginx配置虚拟主机流程(后续更新)

    目录 目标 安装Nginx 配置虚拟主机 准备 方法一 方法二(推荐) 验证虚拟主机 正向代理和反向代理的区别 区别&案例 正向代理和反向代理流程 目标 熟练在Linux安装单机Nginx: ...

  5. windows下apache配置虚拟主机的两个方法

    windows下apache配置虚拟主机方法一: 对httpd.conf进行设置: 1.注释以下三行 #ServerAdmin #ServerName #DocumentRoot 2.去掉mod_pr ...

  6. Nginx配置虚拟主机三种方式

    Nginx 配置虚拟主机,总共有三种方式,基于多IP,基于多端口,基于多域名,其中基于多域名是企业中最常用的一种方式,基于多端口的方式,主要用于本机配置项目. nginx参数详解 基于多IP的方式 [ ...

  7. Windos环境下kafka配置启动Zookeeper时,报错:Invalid config, exiting abnormally.

    Windos环境下kafka配置启动ZooKeeper时,报错:Invalid config, exiting abnormally. 执行命令: D:\kafkaOnWindows\kafka_2. ...

  8. Zabbix启动后访问报错502 Bad Gateway

    目录 一.问题描述 二.解决方法 一.问题描述 Zabbix 启动后访问报错 502 Bad Gateway.查看日志文件 /var/log/nginx/error.log,显示错误信息如下: 202 ...

  9. nginx 配置虚拟主机

    文章转载自:http://www.ttlsa.com/html/1571.html 上篇说道我们的nginx是安装在/usr/local/nginx/ cd conf 我们现在把所有的虚拟主机放在一个 ...

  10. CentOS下Apache配置虚拟主机

    这篇是进阶篇,对Apache不熟悉的话可以先看看我这篇博客:LAMP(CentOS)环境详细配置步骤 有时候我们往往一个服务器会运行多个应用,此时就需要给每个应用创建虚拟主机了,这里我创建三个文件夹, ...

最新文章

  1. 图像也能做情感迁移?罗切斯特大学团队提出计算机视觉新任务
  2. jquery操作复选框(checkbox)的12个小技巧总结
  3. linux 死锁介绍与简单分析
  4. CString类型的头文件、CString的输出、CString的常用用法
  5. tomcat错误:The page you tried to access (/manager/login.do) does not exist
  6. ajax参数是json数据类型,如何保护$ .ajax数据类型:json Post参数
  7. DataGrid中加入CheckBox,并实现单选
  8. 细粒度图像分析进展综述(转)
  9. 电商erp那个收费模式最合算?
  10. Real Estate Photography: Exterior at Twilight 房地产摄影:暮光之城 Lynda课程中文字幕
  11. 八大顶层设计,决定企业融资难度
  12. 一套鼠标、键盘多台电脑共享
  13. MIT团队开发用脑电波和手势控制机器人的系统
  14. 美女图片采集器 源码+解析
  15. 苹果黑屏就断开无线网连接服务器,跪求苹果手机黑屏以后断开无线网的解决方案!...
  16. 游戏开发(九) 之 纯 lua 版 热更新 方案
  17. CSS3设置Div左右两边或者上下边框的样式
  18. 烧钱?公交免费Wi-Fi面临三大挑战
  19. rtsp 客户端请求视频的时候顺便填写输入用户名和密码的格式
  20. 英伟达研究生奖学金名单公布:多位华人获选,每人5万美元

热门文章

  1. 怎么锁定excel部分单元格不被修改
  2. 微信小程序添加服务器域名
  3. JTT 809-2019客户端与服务端协议开发
  4. FineReport 参数查询
  5. Spark Streaming之容错性
  6. 偏移量范围计算机组成,计算机组成原理-郑秋梅 - 习题
  7. tensorflow获取中间变量参数值
  8. ceph command returned non-zero exit status: 1
  9. 各大云服务厂商 轻量应用服务器 性能评测对比,阿里云、腾讯云、华为云、Ucloud
  10. 计算机管理工具怎么设置,电脑音频管理器怎么设置,教你电脑音频管理器怎么设置...