美文网首页
Mac安装Nginx、配置PHP(一)

Mac安装Nginx、配置PHP(一)

作者: McLiu624 | 来源:发表于2017-05-28 21:02 被阅读0次

    之前都是使用Apache和PHP协同工作的
    因为PHP是自学的,很多不理解的(TP都没怎么看,也没用)
    最近想使用nginx和php一起写点东西
    因为自己在电脑已经安装完成了,期间遇到了一些问题,趁着现在还有一点印象现在记录下来,如果以后使用nginx和php开发的时候可以参照。

    • 1、在Linux上的时候使用yum安装软件,在Mac上的话看到一个homebrew,前边有个帖子已经写了怎么安装了(参照:http://www.jianshu.com/p/81d70a50914a
    • 2、然后我们使用homebrew安装nginx
    brew install nginx
    

    然后我们配置一下权限

    • 给nginx 设置管理员权限:如果不设置管理员权限,80端口是不能监听的
    #这里的目录根据你实际安装的目录来填写,默认是这个目录,不同的只是nginx的版本号而已  
    sudo chown root:wheel /usr/local/Cellar/nginx/1.10.1/bin/nginx      
    sudo chmod u+s /usr/local/Cellar/nginx/1.10.1/bin/nginx  
    
    • 加入launchctl启动控制
    mkdir -p ~/Library/LaunchAgents  
    cp /usr/local/opt/nginx/homebrew.mxcl.nginx.plist ~/Library/LaunchAgents/  
    launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist 
    
    • 运行nginx
    sudo nginx #打开 nginx  
    nginx -s reload|reopen|stop|quit  #重新加载配置|重启|停止|退出 nginx  
    nginx -t   #测试配置是否有语法错误  
    
    • 3、安装PHP
      因为brew 默认没有php的包,所以我们先执行下面的命令
    brew tap homebrew/dupes  
    brew tap josegonzalez/homebrew-php
    

    php有好多版本 我们可以使用 brew search php 查看
    我的电脑上的就是php5.6,但是我又使用brew安装了一下,不会影响mac自带的,因为他会安装到/usr/local/Cellar的下面

    brew install php56  
    

    安装完成之后,为了让系统能使用我刚刚安装的版本,需要配置一下

    sudo vim ~/.bash_profile  
    #在这个文件最后添加下列语句:  
    export PATH="$(brew --prefix php56)/bin:$PATH"  
    #保存文件后,source下这个文件,使刚刚添加的环境变量生效  
    source ~/.bash_profile  
    

    完成之后,在终端中可以使用php -v查看版本,就是我刚刚安装的版本了
    加入launchctl启动控制

    mkdir -p ~/Library/LaunchAgents  
    cp /usr/local/opt/php56/homebrew.mxcl.php56.plist ~/Library/LaunchAgents/  
    launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.php56.plist  
    

    php配置文件的路径如下

    /usr/local/etc/php/5.6/php.ini  
    /usr/local/etc/php/5.6/php-fpm.conf  
    

    我当时这样完成之后就去直接使用php测试了
    但是nginx服务是正常的,但是php就是不显示
    原因就是太心急,nginx对于php的设置还没有做
    nginx配置文件路径如下

    /usr/local/etc/nginx/nginx.conf 
    

    打开之后找到下面这一块

    # 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;  
    #}  
    

    解除注释,重启nginx之后还是不行,找了一下原因,是因为【/scripts$fastcgi_script_name;】这一句应该是【$document_root$fastcgi_script_name;】
    然后再重启nginx就可以访问php了
    记得当我启动php-fpm的时候遇到了一些小问题,问题的内容都在终端中显示了
    比如:【/private/etc/php-fpm.conf】这个文件不存,其实在同目录下有一个后缀为【.default】的文件,我们把这个拷贝一下改为php-fpm.conf就可以了
    后边在执行的话,可能会出现error_log路径不对,默认的是在【/usr/var】下面出Log,但是路径找不到,有两个解决办法。

    • 1》提示没有的文件夹,我们就创建
    • 2》更改刚才的我们拷贝的那个php-fpm.conf文件,找到类似下面的地方
    [global]  
    ; Pid file  
    ; Note: the default prefix is /usr/var  
    ; Default Value: none  
    pid = /usr/local/var/php-fpm/run/php-fpm.pid  
    ; Error log file  
    ; If it's set to "syslog", log is sent to syslogd instead of being written  
    ; in a local file.  
    ; Note: the default prefix is /usr/var  
    ; Default Value: log/php-fpm.log  
    error_log = /usr/local/var/php-fpm/log/php-fpm.log
    

    pid和error_log之前都是注释的状态,我们将它改为自己方便的位置就可以啦
    到现在没有什么其他特别问题的话,nginx和php就可以正常的工作了。
    我们可以通过修改nginx.conf和hosts文件,配置自己的访问域名

    参照的帖子:http://www.jianshu.com/p/255889464b2f

    相关文章

      网友评论

          本文标题:Mac安装Nginx、配置PHP(一)

          本文链接:https://www.haomeiwen.com/subject/fpihfxtx.html