让自己的
Mac
本,成为一个本地测试服务器,方便本地调试然后再做上线。
当然也可做为一个小型web服务器让别人访问自己的项目
推荐 Homebrew
Mac管理包工具
如果Mac电脑上没有就打开 brew官方地址 命令安装
-
brew
的常用命令
【查看所有包】brew list
【搜索包】brew search [name]
【安装包】brew install [name][@version]
【卸载包】brew uninstall
【启动|关闭包】brew services stop|start|restart [name]
【显示安装的包】brew services list
【更新所有包】brew update
【更新指定包】brew upgrade [name]
【显示包依赖树】brew deps --installed --tree
【Mac查看端口是否被占用】netstat -an | grep 8080
Mysql
-
安装
【查看所有版本】brew search mysql
【指定安装版本】brew install [email protected]
【启动命令】brew services start [email protected]
或 /usr/local/opt/[email protected]/bin/mysql.server start
【查看进程】ps -ef | grap mysql
【查看包路径】brew --prefix [email protected]
【设置bash命令】alias mysql=/usr/local/opt/[email protected]/bin/mysql
或 sudo ln -s /usr/local/opt/[email protected]/bin/mysql /usr/bin
- 设置命令时候Mac提示
Operation not permitted
Mac权限问题
1.重启,过程中按住 command+R,进入保护模式
2.打开terminal终端,输入 csrutil disable
3.再次重启,即可对 usr/bin 目录下文件进行修改
# sudo ln -s /usr/local/opt/[email protected]/bin/mysql /usr/bin
PS:如果要恢复保护机制,重新进入保护模式,输入 csrutil enable
-
修改默认
mysql root
密码
1.执行Sql修改
>use mysql
>set password for root@localhost = password('123456'); // 热修改不需要重启
>flush privileges;
2.如果打开了mysqladmin扩展修改
mysqladmin -u root -p password
-
配置外部访问
1.【打开配置文件】vim /usr/local/etc/my.cnf
注释bind-address = 127.0.0.1 改为 # bind-address = 127.0.0.1
2.【修改mysql本地连接限制】详情sql查看我的 Navicat 文章。
# 修改完 % 都能连接后 ,如果想再次更改root密码需要注意:
>set password for root@"%"= password('123456');
Navicat 文章
PHP
Mac系统不自带
php.ini
需要在/etc/php.ini.default
复制一份出来
// 系统自带php文件位置
【复制一份php.ini】cp /etc/php.ini.default /etc/php.ini
-
执行 php-fpm 报错
1.配置php.fpm
WARNING: Nothing matches the include pattern '/private/etc/php-fpm.d/*.conf' from /etc/php-fpm.conf at line 125.
ERROR: failed to open error_log (/usr/var/log/php-fpm.log): No such file or directory (2)
ERROR: failed to post process the configuration
ERROR: FPM initialization failed
解决
:
【进入目录】cd /private/etc/php-fpm.d/
【复制一份配置】sudo -s cp www.conf.default www.conf
2.写入日志报错
ERROR: failed to open error_log (/usr/var/log/php-fpm.log): No such file or directory (2)
ERROR: failed to post process the configuration
ERROR: FPM initialization failed
解决
:摘自技术blog
错误信息显示,不能打开错误日志文件。
cd /usr/var/log 发现根本没有这个目录,
甚至连 var 目录都没有,
加上为了避免权限问题,
干脆配置到 /usr/local/var/log 目录。
修改 php-fpm.conf error_log
配置为 /usr/local/var/log/php-fpm.log
Nginx
- 安装 && 解析
【安装】brew install nginx
brew
默认安装到了 /usr/local/etc/nginx
目录下
修改nginx配置文件:vim /usr/local/etc/nginx/nginx.conf
1.
root /usr/local/var/www; # 把内部项目解析路径放到这外面
location / {
#root html; // 注释这个解析路径移到上面外面
index index.html index.htm;
}
2.
最后一行 include servers/*; 改为 include servers/*.conf;
- 创建
.conf
多域名配置
【配置本地域名】sudo vim /etc/hosts
# 127.0.0.1 www.loan.com loan.com
【去nginx引入配置目录】cd /usr/local/etc/nginx/servers
【创建文件】touch xxxx.com.conf
复制nginx.conf
的server
段落 删减一下有用的:
server {
listen 8081;
server_name xxx.com;
root /usr/local/var/www;
location / {
#root html;
index index.html index.htm index.php; # 添加解析php文件
# 添加项目解析语句
try_files $uri $uri/ /index.php?$query_string;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
location ~ \.php$ {
#root html; // 千万别忘了注释掉
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
#fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# 修改fastcgi
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
【重启生效】sudo nginx -s reload
- Nginx 报错
nginx: [error] open() "/usr/local/var/run/nginx.pid" failed (2: No such file or directory)
解决办法:
sudo nginx -c /usr/local/etc/nginx/nginx.conf
sudo nginx -s reload
如果是Mac用的brew装的nginx:
sudo /usr/local/Cellar/nginx/1.17.3/bin/nginx -c /usr/local/etc/nginx/nginx.conf
- Nginx 报错 upstream timed out
2019/09/12 16:29:12 [error] 39325#0: *1 upstream timed out (60: Operation timed out)
while reading response header from upstream, client: 127.0.0.1, server: saas.com, request: "GET / HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "saas.com"
Redis
【查看所有版本】brew search redis
【安装】brew install [email protected]
【配置文件路径】vim /usr/local/etc/redis.conf
【启动Redis服务】brew services start redis
或 redis-server /usr/local/etc/redis.conf
【关闭Redis服务】brew services stop redis
【重启Redis服务】brew services restart redis
【添加至开机启动项】:
ln -f /usr/local/Cellar/redis/ [version] /homebrew.mxcl.redis.plist ~/Library/LaunchAgents/
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.redis.plist
安装PHP扩展
PHP
扩展没法用brew
安装,所以先安装pear/pecl
是 PHP 扩展与应用库,是一个 PHP 扩展及应用的一个代码仓库
- 安装
pear/pecl
管理工具 Pear
【下载文件】sudo curl -O https://pear.php.net/go-pear.phar
# 全局安装 Pear 命令和安装一些 Pear 包
【执行全局安装】sudo php -d detect_unicode=0 go-pear.phar
# 执行以上命令后会进行安装过程,会有一些配置选项
>输入1,回车,配置pear路径为:/usr/local/pear
>输入4,回车,配置命令路径为:/usr/local/bin
# 然后回车两次,其他让其默认,安装完成
# 完成后 可以通过命令检查pear安装是否成功`pear version`
【查看版本】pear version # 会提示下面信息
# PEAR Version: 1.10.9
# PHP Version: 7.1.23
# Zend Engine Version: 3.1.0
# Running on: Darwin SuperHaoMacBookPro.local 18.6.0 Darwin Kernel ...
Mac 内存吃紧
- 查看 活动监视器.app
com.apple.appkit.xpc.openAndSavePanelService
如果存在这个,官方解决方案:
如何重置Mac的SMC