Max OSX Mavericks 搭建 nginx + php-fpm + mysql

虽然 Mac 下自带了 apache + php,得总归还是 nginx 用得顺手,所以打算在 Mac 下安装 nginx + php-fpm + mysql

安装 ningx

为了方便起见我直接从 brew 中安装了 ningx,Homebrew 的安装可以参见 Mac OS 中 Homebrew 的安装与使用

  1. 安装,终端下执行

    brew search nginx
    brew install nginx
  2. 配置

    配置文件在 /usr/local/etc/nginx 目录下面,依自己的喜好配置。

  3. 运行,终端下运行 ningx 即可,若 ningx 的运行端口指定为小于 1024 那么还需要 sudo 权限

  4. 其它

    #重新加载配置|重启|停止|退出
    nginx -s reload|reopen|stop|quit
    #测试配置是否有语法错误
    nginx -t

php-fpm

Mac OSX 10.9的系统自带了PHP、php-fpm,所以也省去了安装php-fpm的麻烦。

配置

cd /private/etc/
sudo cp php-fpm.conf.default php-fpm.conf
vim php-fpm.conf

然后依照自己的喜好做完配置,还有一点需要修改的是 error_log 的设置,默认编译的时候 log 所在的路径是不存在的,将它反注释,并手动指定一个路径,比如 /usr/local/var/log/php-fpm.log,所以这行看上去应该是这样的:

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

运行

sudo php-fpm

安装 mysql

  1. 安装

    mysql 我也从 brew 中安装了:

    brew install mysql
  2. 配置

    初始化 mysql 数据库

    mysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp

    这个时候 root 用户是没有密码的,这里给 mysql 的 root 用户设置密码:

    /usr/local/opt/mysql/bin/mysqladmin -u root password 'PASSWORD'

    进行一个安全设置,终端运行,它全引导我们进行一系列设置

    /usr/local/opt/mysql/bin/mysql_secure_installation

    设置 mysql 的配置文件 my.cnf (默认在 /usr/local/Cellar/mysql/版本号/my.cnf)

    设置开机启动(可选)

    ln -sfv /usr/local/opt/mysql/*.plist ~/Library/LaunchAgents
    Then to load mysql now:
    launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist

    常用命令

    mysql.server start #启动mysql服务
    mysql.server stop #关闭mysql服务

EOF

安全删除 mysql-bin 二进制日志

今天网站突然连不上数据库,上了服务器后发现是 mysql 的二进制日志又把硬盘占满了。

像以前都是直接停 mysql 服务,然后删掉 mysql-bin 的日志。后来有同事说可以用 sql 命令来删除这些日志的。

1、显示日志文件:

mysql> show binary logs;

2、删除bin-log(删除mysql-bin.000020之前的所有二进制日志文件)。

mysql> purge binary logs to 'mysql-bin.000049';