资讯专栏INFORMATION COLUMN

mac os nginx php mysql

chemzqm / 2770人阅读

摘要:最近重做了系统后,想配置环境,但是搜索了很多页面都以失败告终,在这里特别感谢他给我提供了很多的帮助。准备工作进入终端,键入如没装命令行工具,点击安装即可。如何建立关系呢主要是在文件中加入下面这样的代码。

最近mac Air重做了系统后,想配置lnmp环境,但是搜索了很多页面都以失败告终,在这里特别感谢http://www.zhoujiping.com/archives/2016/01/mnmp.html,他给我提供了很多的帮助。当然还有其它很多的朋友,这里就不细描,但这个列的确实比较详细。


准备工作

进入终端,键入gcc,如没装xcode命令行工具,点击安装即可。

ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"安装HomeBrew。(HomeBrew详细用法见官网)


安装nginx

brew install nginx

nginx -v(看到nginx版本安装)

sudo nginx(启动nginx)


安装php56

安装php ,php-fpm

brew tap homebrew/dupes

brew tap homebrew/versions

brew tap homebrew/php

brew install php56 
--without-snmp 
--without-apache 
--with-debug 
--with-fpm 
--with-intl 
--with-homebrew-curl 
--with-homebrew-libxslt 
--with-homebrew-openssl 
--with-imap 
--with-mysql 
--with-tidy

添加系统环境变量PATH来替代自带PHP版本

echo "export PATH="$(brew --prefix php56)/bin:$PATH"" >> ~/.bash_profile
 
echo "export PATH="$(brew --prefix php56)/sbin:$PATH"" >> ~/.bash_profile
 
echo "export PATH="/usr/local/bin:/usr/local/sbin:$PATH"" >> ~/.bash_profile

source ~/.bash_profile

修改php-fpm配置文件

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

找到;pid = run/php-fpm.pid,去掉注释(去掉前面的;),然后测试下php-fpm

php-fpm -t

调试php-fpm代码

php-fpm -D

启动php-fpm

lsof -Pni4 | grep LISTEN | grep php

运行监听9000端口

ln -sfv /usr/local/opt/php56/*.plist ~/Library/LaunchAgents
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.php56.plist

开机启动

配置nginx,让其支持php

Nginx本身不会对PHP进行解析,终端对PHP页面的请求将会被Nginx交给FastCGI进程监听的IP地址及端口(这就是为什么我们启动php-fpm时,要查看下9000端口是否被监听的原因),由php-fpm作为动态解析服务器处理,最后将处理结果再返回给nginx。其实,Nginx就是一个反向代理服务器。Nginx通过反向代理功能将动态请求转向后端php-fpm,从而实现对PHP的解析支持,这就是Nginx实现PHP动态解析的原理。所以现在我们要做的就是让nginx和php-fpm建立关系。如何建立关系呢? 主要是在nginx.conf文件中加入下面这样的代码。

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.conf中,我们来规划下:

mkdir -p /usr/local/var/logs/nginx
mkdir -p /usr/local/etc/nginx/sites-enabled
mkdir -p /usr/local/etc/nginx/conf.d
mkdir -p /usr/local/etc/nginx/ssl
sudo mkdir -p /var/www
sudo chown :staff /var/www
sudo chmod 775 /var/www

编辑Nginx全局配置

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

输入内容

worker_processes  1;
error_log   /usr/local/var/logs/nginx/error.log debug;
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" $host $request_time $upstream_response_time $scheme "
        "$cookie_evalogin";
    access_log  /usr/local/var/logs/access.log  main;
    sendfile        on;
    keepalive_timeout  65;
    port_in_redirect off;
    include /usr/local/etc/nginx/sites-enabled/*.conf;
}

把一些可复用配置独立出来放在/usr/local/etc/nginx/conf.d下,比如fastcgi的设置

vim /usr/local/etc/nginx/conf.d/php-fpm.conf

输入内容

location ~ .php$ {
    try_files                   $uri = 404;
    fastcgi_pass                127.0.0.1:9000;
    fastcgi_index               index.php;
    fastcgi_intercept_errors    on;
    include /usr/local/etc/nginx/fastcgi.conf;
}

以后要增加新域名,只要在/usr/local/etc/nginx/sites-enabled/目录下可以一个文件对应一个域名的配置,我们试着来建立一个默认网站,默认网站的根目录放在/var/www/default下面,在/var/www/中建立default文件夹,并在default中建立info.php,在其中输入内容

mkdir -p /var/www/default
vim /var/www/default/info.php

然后在/usr/local/etc/nginx/sites-enabled/下面建立个配置文件default.conf

vim /usr/local/etc/nginx/sites-enabled/default.conf

输入

server {
    listen       8080;
    server_name  localhost;
    root         /var/www/default;
    location / {
        index  index.html index.htm index.php;
        include     /usr/local/etc/nginx/conf.d/php-fpm.conf;
    }
}

restart nginx*

sudo nginx -s reload 

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/39279.html

相关文章

  • Mac OS使用brew安装NginxMySQLPHP-FPM的LAMP开发环境

    摘要:原文链接准备工作新版的内置了和,我的系统版本是,可以通过以下命令查看和的版本号因为我们要自己动手来安装,因此首先来关闭系统自带的关闭,如果事先没开启过,可以忽略报错信息如果你的已经加入了,使用下面的命令来关闭为什么选择关闭因为系 原文链接:http://tabalt.net/blog/instal... 准备工作 新版的 Mac OS 内置了Apache 和 PHP,我的系统版本是OS...

    hlcfan 评论0 收藏0
  • mac os LNMP 配置(亲测)

    摘要:在历时两天的折腾后,我想有必要总结一下经验,一方面自我梳理,方便以后用。另一方面也给其他碰到相同问题的人提供方法。开启的时候可能会出现缺少配置文件缺少日志目录的情况,参考以下命令启动。 在历时两天的折腾后,我想有必要总结一下经验,一方面自我梳理,方便以后用。另一方面也给其他碰到相同问题的人提供方法。 安装brew:(mac 下的包管理工具),在最新的 mac os 下是自带的 在最新...

    khs1994 评论0 收藏0
  • mac os LNMP 配置(亲测)

    摘要:在历时两天的折腾后,我想有必要总结一下经验,一方面自我梳理,方便以后用。另一方面也给其他碰到相同问题的人提供方法。开启的时候可能会出现缺少配置文件缺少日志目录的情况,参考以下命令启动。 在历时两天的折腾后,我想有必要总结一下经验,一方面自我梳理,方便以后用。另一方面也给其他碰到相同问题的人提供方法。 安装brew:(mac 下的包管理工具),在最新的 mac os 下是自带的 在最新...

    CastlePeaK 评论0 收藏0

发表评论

0条评论

chemzqm

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<