安装nginx
用 brew 一键安装 nignx:
brew install nginx如果需要安装其他 nginx 的版本,可以 "brew edit nginx" 打开修改 nginx 的安装信息包 formula,默认会用 vi 打开,在文件开头处修改 nginx 相应版本的下载地址就行。
brew 执行完后,nginx 就安装好了。可以用以下指令对 nginx 进行操作:
#打开 nginx
sudo nginx
#重新加载配置|重启|停止|退出 nginx
nginx -s reload|reopen|stop|quit
#测试配置是否有语法错误
nginx -t
安装php-fpm
Mac是预装了php,不过很多扩展都没安装,目测最多只能在终端里执行下php指令,所以我选择重新安装php。由于 brew 默认是没有 php 安装,所以要使用 “brew tap” 来安装 brew 的第三方程序包,这里使用 josegonzalez 的php安装包,具体操作如下:
brew tap homebrew/dupes
brew tap josegonzalez/homebrew-php
安装过程中会遇到一些如下的错误:
configure: error: Please reinstall the libcurl distribution
configure: error: Please reinstall the BZip2 distribution
这时需要在终端输入如下命令:
xcode-select --install
安装开发人员支持库,即可完成安装
php-fpm
执行报错
ERROR: failed to open configuration file '/private/etc/php-fpm.conf': No such file or directory (2)
找不到配置文件,为了省事就直接把.default复制,然后赋予权限
sudo cp /private/etc/php-fpm.conf.default /private/etc/php-fpm.conf
sudo chmod 777 /private/etc/php-fpm.conf
sudo php-fpm
尝试启动报错:
ERROR: failed to open error_log (/usr/var/log/php-fpm.log): No such file or directory (2)
找不到文件夹就新建
sudo mkdir /usr/var
sudo mkdir /usr/var/log
sudo php-fpm
此时PHP正常启动,不过还是需要完善一下 ,放置一下配置文件,修改一下权限,如果开公网访问的话“中奖”就杯具了,这种东西还是不要用 su 执行好一点。
cp /etc/php.ini.default /etc/php.ini
sudo chmod 777 /etc/php.ini
sudo killall php-fpm php-fpm
修改 nginx 配置文件 使其可以处理php
location ~ \.php$ { root /path/to/wwwroot; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME /path/to/wwwroot$fastcgi_script_name; }安装mysql
brew install mysql
mysql_install_db --verbose --user=`test` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp
mysql.server start
sudo /usr/local/opt/mysql/bin/mysql_secure_installation
[client]
port = 3306
[mysqld]
port = 3306
server_id = 1
character-set-server = utf8
default-storage-engine = INNODB
socket = /tmp/mysql.sock
skip-external-locking
key_buffer = 16K
query_cache_limit = 256K
query_cache_size = 4M
max_allowed_packet = 1M
table_open_cache = 128 # 表缓存的数目,一般是 max_connections 的倍数
max_connections = 32
thread_concurrency = 2
sort_buffer_size = 64K
read_buffer_size = 256K
read_rnd_buffer_size = 256K
net_buffer_length = 2K
thread_stack = 64K
#skip-bdb
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[mysqldump]
quick
max_allowed_packet = 16M
[mysql]
no-auto-rehash
default-character-set = utf8
[isamchk]
key_buffer = 8M
sort_buffer_size = 8M
[myisamchk]
key_buffer = 8M
sort_buffer_size = 8M
[mysqlhotcopy]
interactive-timeout
#2002 无法登录 MySQL 服务器
将config.sample.inc.php复制成config.inc.php
出现这个错误,表示没有连接到数据库。修改config.inc.php文件,
代码如下:
将$cfg['Servers'][$i]['host'] = 'localhost';
改为$cfg['Servers'][$i]['host'] = '127.0.0.1';
总结:
Nginx
sudo nginx -s reload|reopen|stop|quit
sudo nginx -t
PHP-FPM
sudo killall php-fpm
sudo php-fpm
Mysql
mysql.server start|stop|restart|status
装完后php后,需要做如下步骤
change ~/.bash_profile add follow line:
- export PATH="/usr/local/bin:/usr/local/sbin:$PATH"
然后检测php版本,php -v php-fpm -v 确认是php5.6版本,因为Mac OS本身就装有php,我的新mac的php版本是5.5.14
如果不做上一步的话,以后需要安装php的扩展时,会一头雾水,因为系统会用本身自带的php来编译新扩展,然后你的新版php没法使用,因为扩展使用旧版编译的。。。我今天上午就花了几个小时在这个上面
如果安装php扩展,只需使用如下命令:
brew search mcrypt memcache
然后安装对应php版本的软件包
brew install php56-mcrypt php56-memcache