您的位置:首页 > 理论基础 > 计算机网络

Mac OSX El Capitan 10.11 安装nginx(http2) php7.0 mysql5.7 开发环境

2016-08-12 23:02 585 查看
在本文中,我将安装以下软件:(基于Mac OSX El Capitan 10.11)

PHP 7.0

MySQL服务器5.7


Nginx的1.10(与http2 / SSL)

首先,先启动终端,安装brew,一个很好用的安装包管理器。

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

MySQL

先从最简单的MySQL开始:

brew install mysql


将安装最新版本的MySQL。默认安装MySQL服务器没有root密码(只有本地用户也可以访问它)。你可以运行mysql_secure_installation,安装后通过BREW提供。
输入以下命令测试MySQL的状态:

mysql -u root -e 'STATUS'

PS: mysql -u root -p来输入密码登录至mysql.

PHP

其次,安装PHP,执行以下命令

brew install homebrew/php/php70 homebrew/php/php70-mcrypt homebrew/php/php70-gmagick homebrew/php/php70-opcache homebrew/php/php70-xdebug

作为新版本的php-fpm与OSX有一定的关系,需要优先安装PHP7。通过改变路径进行检查是否已经完成,命令如下:

export PATH="/usr/local/sbin:$PATH"
echo 'export PATH="/usr/local/sbin:$PATH"' >> ~/.bash_profile

安装完成后,使用php -v 和 php-fpm -v查看PHP的版本信息,如下图所示:


执行php-fpm的预设置命令:

php-fpm --fpm-config /usr/local/etc/php/7.0/php-fpm.conf -D

你可能还需要安装Laravel框架或者其他的依赖项,可以执行以下命令:

curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer

Nginx

现在开始安装Nginx的web服务器,使用以下命令进行安装:

brew install --with-http2 nginx

To configure nginx. We set nginx to use a virtual directory of 
~/Hosts/(domain)
, more will be explained on this later. You can copy this entire whole command block, or edit the config yourself.

配置nginx的相关信息,设置nginx的虚拟目录:~/Hosts/(domain)

sudo bash -c "cat > /usr/local/etc/nginx/nginx.conf" <<- EOM
user $(whoami) $(id -g -n);
worker_processes auto;

events {
worker_connections  1024;
}

http {
include mime.types;
default_type application/octet-stream;

access_log /usr/local/var/log/nginx/access.log;
error_log /usr/local/var/log/nginx/error.log;

sendfile on;
keepalive_timeout 5;

gzip  on;

server {
listen 80 default_server;
listen 443 ssl http2 default_server;

server_name  _;

ssl_certificate ssl/nginx.crt;     #80端口必须配置
ssl_certificate_key ssl/nginx.key; #80端口必须配置

root /Users/$(whoami)/Hosts/\$host;

index index.php;

location / {
try_files \$uri \$uri/ /index.php\$is_args\$args;
}

location ~ \.php\$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
try_files \$fastcgi_script_name =404;
fastcgi_index index.php;
include fastcgi.conf;
}

location ~ /\. {
deny all;
}
}
}
EOM

 如果需要使用80端口作为默认端口,则需要生成相应的证书和SSL密钥,命令如下:

sudo mkdir /usr/local/etc/nginx/ssl/
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /usr/local/etc/nginx/ssl/nginx.key -out /usr/local/etc/nginx/ssl/nginx.crt

启动nginx,后访问localhost看看是否已经成功。

sudo nginx

curl --head http://localhost

你将在终端看到类似的信息: 
Server: nginx/1.10.0
.

以上测试完成后,可以创建一个首页来查看基本的php信息了,命令如下:

mkdir -p ~/Hosts/localhost/
echo '<?php phpinfo();' > ~/Hosts/localhost/index.php

访问 http://localhost/ 你将会看到如下图所示的界面信息,证明已经配置成功。



增加一些额外的服务

通过以下命令增加额外的功能:

sudo nginx
php-fpm --fpm-config /usr/local/etc/php/7.0/php-fpm.conf -D
mysql.server start

也可以使用别名的方式将服务新增至 .bash_profile 文件中。

alias servers.start='sudo nginx && php-fpm --fpm-config /usr/local/etc/php/7.0/php-fpm.conf -D && mysql.server start'
alias servers.stop='sudo bash -c "killall -9 php-fpm && mysql.server stop && nginx -s stop"'
alias nginx.logs='tail /usr/local/opt/nginx/access.log'
alias nginx.errors='tail /usr/local/opt/nginx/error.log'

另外,也可以将这些服务设置为自动启动,命令如下:

# Auto-start nginx
cp /usr/local/opt/nginx/homebrew.mxcl.nginx.plist ~/Library/LaunchAgents/
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist
# Auto-start PHP-FPM
cp /usr/local/opt/php70/homebrew.mxcl.php70.plist ~/Library/LaunchAgents/
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.php70.plist
# Auto-start MySQL Server
cp /usr/local/opt/mysql/homebrew.mxcl.mysql.plist ~/Library/LaunchAgents/
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist

如果不需要自动启动则可以执行以下命令:

launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist
launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.php70.plist
launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
rm ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist
rm ~/Library/LaunchAgents/homebrew.mxcl.php70.plist
rm ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist

最后的说明

最后,我将告诉你一些关于安装动态主机的方法:

mkdir ~/Hosts/test.dev/
sudo bash -c "echo '127.0.0.1 test.dev' >> /etc/hosts"

就到这里吧,开始你的PHP编程之旅吧!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mac mysql nginx php
相关文章推荐