MAC下BREW安装NGINX+PHP+MYSQL环境

2018/7/15 10:14 上午 posted in  Mac Php Nginx

安装BREW 先安装XCODE

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

安装NGINX (因官方库更新不支持插件 使用https://github.com/denji/homebrew-nginx)

brew tap denji/nginx
brew install nginx-full --with-geoip2-module --with-headers-more-module --with-lua-module --with-redis2-module --with-subs-filter-module

NGINX 移动配置信息保存到目录(~/Documents/nginx) 更改80端口及运行权限

# 转移配置文件
mv /usr/local/etc/nginx/ ~/Documents/WebSite/nginx/
ln -s ~/Documents/WebSite/nginx /usr/local/etc/nginx

# 创建目录
mkdir -p ~/Documents/WebSite/nginx/vhosts/
mkdir -p ~/Documents/WebSite/default/wwwroot/
mkdir -p ~/Documents/WebSite/default/logs/
mkdir -p ~/Documents/WebSite/logs/

# 创建配置文件
tee ~/Documents/WebSite/nginx/nginx.conf  <<-'EOF'
user  nobody;
worker_processes  1;

pid        /Users/用户名/Documents/WebSite/nginx.pid;

events {
    worker_connections  1024;
}

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"';

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    server {
        listen       80;
        server_name  localhost;

        access_log  /Users/用户名/Documents/WebSite/default/logs/access.log  main;
        error_log  /Users/用户名/Documents/WebSite/default/logs/error.log;

        location / {
            root   /Users/用户名/Documents/WebSite/default/wwwroot/;
            index  index.html index.htm;
        }
    }

    include vhosts/*;
}
EOF

# 更改80端口权限
sudo chown root:wheel /usr/local/opt/nginx-full/bin/nginx
sudo chmod u+s /usr/local/opt/nginx-full/bin/nginx

NGINX开机启动

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

安装MYSQL

brew install mysql@5.7

# 添加环境到/etc/profile
export PATH="$(brew --prefix mysql@5.7)/bin:$PATH"
srouce /etc/profile

修改配置

# 创建目录
mkdir -p ~/Documents/MySql/
mkdir -p ~/Documents/MySql/data/

# 创建配置文件
tee ~/Documents/MySql/my.cnf  <<-'EOF'
[client]
socket = /Users/用户名/Documents/MySql/mysqld.sock
port = 3306
[mysqld]
socket = /Users/用户名/Documents/MySql/mysqld.sock
port = 3306
datadir = /Users/用户名/Documents/MySql/data
skip-external-locking
bind-address = 0.0.0.0
log_error = /Users/用户名/Documents/MySql/mysql-error.log
slow_query_log = on
slow-query-log-file = /Users/用户名/Documents/MySql/mysql-slow.log
EOF

ln -s ~/Documents/MySql/my.cnf /usr/local/etc/my.cnf

初使化MYSQL

mysqld --initialize

MySQL开机启动

ln -sfv /usr/local/opt/mysql@5.7/*.plist ~/Library/LaunchAgents

# 更改数据目录为/Users/用户名/Documents/MySql/data
nano ~/Library/LaunchAgents/homebrew.mxcl.mysql@5.7.plist
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql@5.7.plist

安装完成之后更改密码

# 查看密码
grep "generated for root@localhost" ~/Documents/MySql/mysql-error.log
# 用密码登陆
mysql -u root -p
# 修改密码
SET PASSWORD = PASSWORD('密码');
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
flush privileges;
quit

更新CURL

brew install curl
brew link curl --force

安装PHP

brew update
brew install php@5.6
# 添加PHP到环境(/etc/profile)
export PATH="$(brew --prefix php56)/bin:$PATH"
export PATH="$(brew --prefix php56)/sbin:$PATH"
source /etc/profile
mv /usr/local/etc/php/ ~/Documents/WebSite/php/
ln -s ~/Documents/WebSite/php /usr/local/etc/php

nano ~/Documents/WebSite/php/5.6/php-fpm.conf

#修改内容去掉注释
pid = /Users/用户名/Documents/WebSite/php/php-fpm.pid

PHP-FPM开机启动

ln -sfv /usr/local/opt/php@5.6/*.plist ~/Library/LaunchAgents
# 更改数据目录为/Users/用户名/Documents/WebSite/php/5.6/
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.php@5.6.plist