Mac-Lnmp(局域网本机服务器)

MacBookPro.png

让自己的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 mysql@5.7
【启动命令】brew services start mysql@5.7
 或 /usr/local/opt/mysql@5.7/bin/mysql.server start
【查看进程】ps -ef | grap mysql
【查看包路径】brew --prefix mysql@5.7
【设置bash命令】alias mysql=/usr/local/opt/mysql@5.7/bin/mysql
 或 sudo ln -s /usr/local/opt/mysql@5.7/bin/mysql /usr/bin
1.重启,过程中按住 command+R,进入保护模式
2.打开terminal终端,输入 csrutil disable
3.再次重启,即可对 usr/bin 目录下文件进行修改
# sudo ln -s /usr/local/opt/mysql@5.7/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.confserver段落 删减一下有用的:

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 redis@4.0
【配置文件路径】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 扩展及应用的一个代码仓库

【下载文件】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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,390评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,821评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,632评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,170评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,033评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,098评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,511评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,204评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,479评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,572评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,341评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,213评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,576评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,893评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,171评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,486评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,676评论 2 335