mac下安装 apache/nginx/MySQL/PHP 多版本

mac下安装 apache/nginx/MySQL/PHP 多版本

1. 安装 Homebrew

相关链接
Homebrew 官网
Homebrew 开发者讨论区
Homebrew 简介和基本使用

1.1 安装

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

以上命令粘贴至终端,然后回车,等待终端提示你输入密码,程序就会开始自动安装。等待完成后,以使用下面的命令查看 Homebrew 是否正确安装:

$ brew -v
Homebrew 1.2.0
Homebrew/homebrew-core (git revision 1ee6; last commit 2017-05-05)

Homebrew安装成功后,就可以使用 brew 命令了。

1.2 添加第三方仓库

我们将需要使用一些来自第三方仓库的软件,所以需要添加额外的仓库:

$ brew tap homebrew/versions
$ brew tap homebrew/php
$ brew tap homebrew/apache
$ brew update

第三方仓库全部安装完成之后,就可以开始配置环境了。

2. 安装 Apache

相关链接
在 MacOS Sierra 上安装 Apache 和多个版本的 PHP
Apache 的 httpd.conf 详解

2.1 安装

最新的 macOS 10.12 预装了 Apache 2.4,但苹果移除了一些必要的脚本,所以 Apache 和 Homebrew 配合使用将会变得困难。当然解决该问题的方法就是,使用 Homebrew 重新安装配置 Apache,并使其运行在标准端口上:

# 关闭正在运行的老版本 apache
$ sudo apachectl stop
# 移除 apache 开机自动加载脚本
$ sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist 2>/dev/null
# 使用 brew 安装 apache
$ brew install httpd24 --with-privileged-ports --with-http2

等待下载并且编译安装完成之后,会有以下结果:

/usr/local/Cellar/httpd24/2.4.25: 212 files, 4.4M, built in 1 minute 45seconds

这里的路径很重要,因为在接下来的步骤中,我们都需要使用这个路径,在这个例子中,路径是 /usr/local/Cellar/httpd24/2.4.25/,如果你的路径不是这个,则在运行下面的命令的时候,将其替换为你的路径就可以了:

$ sudo cp -v /usr/local/Cellar/httpd24/2.4.25/homebrew.mxcl.httpd24.plist /Library/LaunchDaemons
$ sudo chown -v root:wheel /Library/LaunchDaemons/homebrew.mxcl.httpd24.plist
$ sudo chmod -v 644 /Library/LaunchDaemons/homebrew.mxcl.httpd24.plist
$ sudo launchctl load /Library/LaunchDaemons/homebrew.mxcl.httpd24.plist

到此为止,apache 就已经安装完成并将其配置为自动启动,此时打开浏览器访问 localhost 将会看到 It works!

apache 的基本使用方法:

# 开启 apache
$ sudo apachectl start
# 关闭 apache
$ sudo apachectl stop
# 重启 apache
$ sudo apachectl -k restart

2.2 Apache 的配置

首先修改 Apache 的 document root,这是 Web 服务的根目录,Apache 会从这个目录中寻找资源文件。默认的 document root 是 /Library/WebServer/Documents。作为一个开发环境,我们可能更希望网站的根目录(即 Web 服务的根目录)在我们自己的用户主目录下。所以接下来修改配置。首先使用 vim 打开 httpd.conf 文件:

$ vim /usr/local/etc/apache2/2.4/httpd.conf

使用 Command + F 搜索 DocumentRoot ,然后连续使用 Command + G 往下查找,直到看到以下信息:

DocumentRoot "/usr/local/var/www/htdocs"

将这行配置改为自己的用户主目录中的目录,把 your_user 改为你的用户名:

DocumentRoot /Users/your_user/web

然后还要将上面这行代码下面的 <Directory> 也改为你的新的 document root:

<Directory /Users/your_user/web>

在 代码块里面,我们还需要将 AllowOverride 改为下面的样子:

# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
#   AllowOverride FileInfo AuthConfig Limit
#
AllowOverride All

接下来通过取消注释使用 mod_rewrite 模块:

LoadModule rewrite_module libexec/mod_rewrite.so

接下来还需要配置 PHP 的主目录索引文件(Directory Indexes),找到下面的代码块:

<IfModule dir_module>
    DirectoryIndex index.html
</IfModule>

将其替换为下面的代码:

<IfModule dir_module>
    DirectoryIndex index.php index.html
</IfModule>

<FilesMatch \.php$>
    SetHandler application/x-httpd-php
</FilesMatch>

2.3 web 目录

接下来在创建 document root 目录,并创建 index.html 文件:

$ cd /Users/your_user
$ mkdir web
$ echo "<h1>Hello World!</h1>" > web/index.html

然后重启 apache 生效:

$ sudo apachectl -k restart

到此 apache 安装完毕。

3. 安装 Nginx

相关链接
Mac 下用 brew 安装 nginx
Mac 下 Nginx 安装环境配置详解

3.1 安装

使用 brew 一键安装 nginx:

$ brew install nginx

安装完成之后开启 nginx:

$ sudo nginx

nginx 的基本使用方法:

# 查看 nginx 版本
4 nginx -v
# 开启 nginx
$ sudo nginx
# 关闭 nginx
$ sudo nginx -s stop
# 重启 nginx
$ sudo nginx -s reload

3.2 修改 php-fpm 文件

执行命令:

$ sudo cp /private/etc/php-fpm.conf.default /private/etc/php-fpm.conf

找到 php-fpm文件,并使用 vim 打开:

$ /private/etc/php-fpm.conf

找到 error_log,改为(整行替换):

error_log = /usr/local/var/log/php-fpm.log

3.3 Nginx 的配置

nginx 安装完成之后需要修改一些配置,使其支持 php 并且正常运行。

首先使用 vim 打开 nginx 配置文件:

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

nginx 的配置文件非常简洁明了,找到 sever 下面的 location / 配置,在 index 配置项后面添加 index.php :

location / {
    root  /User/your_user/web;
    index index.html index.htm index.php;
}

修改 location ~.php$ 配置,由于 php-fpm 默认监听端口为 9000,所以修改 fastcgi_pass 为 127.0.0.1:9000,具体配置如下:

location ~ \.php$ {
    root      /User/your_user/web;
    fastcgi_pass  127.0.0.1:9000;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include    fastcgi_params;
}

到此,nginx 已经配置完毕,此时打开浏览器访问 localhost:8080 将会看到 Hello world!

4. 安装 PHP

相关链接
Apache+PHP 配置过程详解

4.1 安装

执行一下语句安装 php7.0,并使用 --with-httpd24 生成关联 apache 的 .so 文件:

$ brew install php70 --with-http24

执行一下语句安装 php5.6,并使用 --with-httpd24 生成关联 apache 的 .so 文件:

$ brew install php56 --with-http24

执行一下语句安装 php5.4,并使用 --with-httpd24 生成关联 apache 的 .so 文件:

$ brew install php54 --with-http24

打开 apache 配置文件:

vim /usr/local/etc/apache2/2.4/httpd.conf

找到以下配置:

LoadModule php7_module        /usr/local/Cellar/php70/7.0.14_7/libexec/apache2/libphp7.so
LoadModule php5_module        /usr/local/Cellar/php55/5.6.29_5/libexec/apache2/libphp5.so
LoadModule php5_module        /usr/local/Cellar/php56/5.4.2_5/libexec/apache2/libphp5.so

注释掉两行,只保留一行:

#LoadModule php7_module        /usr/local/Cellar/php70/7.0.14_7/libexec/apache2/libphp7.so
#LoadModule php5_module        /usr/local/Cellar/php55/5.6.29_5/libexec/apache2/libphp5.so
LoadModule php5_module        /usr/local/Cellar/php56/5.4.2_5/libexec/apache2/libphp5.so

然后重启 apache 生效:

$ sudo apachectl -k restart

在 web 目录下新建 index.php 文件,内容如下:

<?php
    phpinfo();
?>

在浏览器打开 localhost/index.php 即可查看 php 版本信息。

4.2 php 的配置

参考 Apache+PHP 配置过程详解 配置 php。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值