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 [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.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 [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

你可能感兴趣的:(Mac-Lnmp(局域网本机服务器))