Mac-Lnmp(局域網(wǎng)本機(jī)服務(wù)器)

MacBookPro.png

讓自己的Mac本,成為一個本地測試服務(wù)器,方便本地調(diào)試然后再做上線。
當(dāng)然也可做為一個小型web服務(wù)器讓別人訪問自己的項目

推薦 Homebrew Mac管理包工具

如果Mac電腦上沒有就打開 brew官方地址 命令安裝

  • brew的常用命令
【查看所有包】brew list
【搜索包】brew search [name]
【安裝包】brew install [name][@version]
【卸載包】brew uninstall
【啟動|關(guān)閉包】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
【查看進(jìn)程】ps -ef | grap mysql
【查看包路徑】brew --prefix mysql@5.7
【設(shè)置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,進(jìn)入保護(hù)模式
2.打開terminal終端,輸入 csrutil disable
3.再次重啟,即可對 usr/bin 目錄下文件進(jìn)行修改
# sudo ln -s /usr/local/opt/mysql@5.7/bin/mysql /usr/bin
PS:如果要恢復(fù)保護(hù)機(jī)制,重新進(jìn)入保護(hù)模式,輸入 csrutil enable
  • 修改默認(rèn)mysql root密碼
1.執(zhí)行Sql修改
>use mysql
>set password for root@localhost = password('123456');  // 熱修改不需要重啟
>flush privileges;
2.如果打開了mysqladmin擴(kuò)展修改
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系統(tǒng)不自帶php.ini需要在/etc/php.ini.default復(fù)制一份出來

// 系統(tǒng)自帶php文件位置
【復(fù)制一份php.ini】cp /etc/php.ini.default /etc/php.ini
  • 執(zhí)行 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

解決

【進(jìn)入目錄】cd /private/etc/php-fpm.d/
【復(fù)制一份配置】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

解決摘自技術(shù)blog

錯誤信息顯示,不能打開錯誤日志文件。
cd /usr/var/log 發(fā)現(xiàn)根本沒有這個目錄,
甚至連 var 目錄都沒有,
加上為了避免權(quán)限問題,
干脆配置到 /usr/local/var/log 目錄。

修改 php-fpm.conf error_log
配置為 /usr/local/var/log/php-fpm.log

Nginx

  • 安裝 && 解析
【安裝】brew install nginx

brew默認(rèn)安裝到了 /usr/local/etc/nginx 目錄下

修改nginx配置文件:vim /usr/local/etc/nginx/nginx.conf
1.
root /usr/local/var/www;  # 把內(nèi)部項目解析路徑放到這外面
location / {
    #root   html;        // 注釋這個解析路徑移到上面外面
    index  index.html index.htm;
}
2.
最后一行 include servers/*; 改為 include servers/*.conf;
  • 創(chuàng)建 .conf 多域名配置
【配置本地域名】sudo vim /etc/hosts
 # 127.0.0.1       www.loan.com      loan.com
【去nginx引入配置目錄】cd /usr/local/etc/nginx/servers
【創(chuàng)建文件】touch xxxx.com.conf

復(fù)制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服務(wù)】brew services start redis 
 或 redis-server /usr/local/etc/redis.conf
【關(guān)閉Redis服務(wù)】brew services stop redis
【重啟Redis服務(wù)】brew services restart redis
【添加至開機(jī)啟動項】:
ln -f /usr/local/Cellar/redis/ [version] /homebrew.mxcl.redis.plist ~/Library/LaunchAgents/
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.redis.plist

安裝PHP擴(kuò)展

PHP擴(kuò)展沒法用brew安裝,所以先安裝 pear/pecl 是 PHP 擴(kuò)展與應(yīng)用庫,是一個 PHP 擴(kuò)展及應(yīng)用的一個代碼倉庫

【下載文件】sudo curl -O https://pear.php.net/go-pear.phar
 # 全局安裝 Pear 命令和安裝一些 Pear 包
【執(zhí)行全局安裝】sudo php -d detect_unicode=0 go-pear.phar
 # 執(zhí)行以上命令后會進(jìn)行安裝過程,會有一些配置選項
 >輸入1,回車,配置pear路徑為:/usr/local/pear
 >輸入4,回車,配置命令路徑為:/usr/local/bin
 # 然后回車兩次,其他讓其默認(rèn),安裝完成
 # 完成后 可以通過命令檢查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 內(nèi)存吃緊

  • 查看 活動監(jiān)視器.app
    com.apple.appkit.xpc.openAndSavePanelService
    如果存在這個,官方解決方案:
    如何重置Mac的SMC
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容