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

MacBookPro.png

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

推薦 Homebrew Mac管理包工具

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

  • brew的常用命令
【查看所有包】brew list
【搜索包】brew search [name]
【安裝包】brew install [name][@version]
【卸載包】brew uninstall
【啟動(dòng)|關(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
【啟動(dòng)命令】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.再次重啟晋渺,即可對(duì) 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 報(bào)錯(cuò)

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.寫入日志報(bào)錯(cuò)

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

錯(cuò)誤信息顯示随静,不能打開錯(cuò)誤日志文件八千。
cd /usr/var/log 發(fā)現(xiàn)根本沒有這個(gè)目錄,
甚至連 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)部項(xiàng)目解析路徑放到這外面
location / {
    #root   html;        // 注釋這個(gè)解析路徑移到上面外面
    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文件
            # 添加項(xiàng)目解析語句
            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 報(bào)錯(cuò)
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 報(bào)錯(cuò) 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
【啟動(dòng)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ī)啟動(dòng)項(xiàng)】:
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)用庫沸停,是一個(gè) PHP 擴(kuò)展及應(yīng)用的一個(gè)代碼倉庫

【下載文件】sudo curl -O https://pear.php.net/go-pear.phar
 # 全局安裝 Pear 命令和安裝一些 Pear 包
【執(zhí)行全局安裝】sudo php -d detect_unicode=0 go-pear.phar
 # 執(zhí)行以上命令后會(huì)進(jìn)行安裝過程,會(huì)有一些配置選項(xiàng)
 >輸入1昭卓,回車愤钾,配置pear路徑為:/usr/local/pear
 >輸入4瘟滨,回車,配置命令路徑為:/usr/local/bin
 # 然后回車兩次能颁,其他讓其默認(rèn)杂瘸,安裝完成
 # 完成后 可以通過命令檢查pear安裝是否成功`pear version`
【查看版本】pear version # 會(huì)提示下面信息
 # 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)存吃緊

  • 查看 活動(dòng)監(jiān)視器.app
    com.apple.appkit.xpc.openAndSavePanelService
    如果存在這個(gè),官方解決方案:
    如何重置Mac的SMC
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末伙菊,一起剝皮案震驚了整個(gè)濱河市败玉,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌镜硕,老刑警劉巖绒怨,帶你破解...
    沈念sama閱讀 217,734評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異谦疾,居然都是意外死亡南蹂,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,931評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門念恍,熙熙樓的掌柜王于貴愁眉苦臉地迎上來六剥,“玉大人,你說我怎么就攤上這事峰伙×婆保” “怎么了?”我有些...
    開封第一講書人閱讀 164,133評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵瞳氓,是天一觀的道長(zhǎng)策彤。 經(jīng)常有香客問我,道長(zhǎng)匣摘,這世上最難降的妖魔是什么店诗? 我笑而不...
    開封第一講書人閱讀 58,532評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮音榜,結(jié)果婚禮上庞瘸,老公的妹妹穿的比我還像新娘。我一直安慰自己赠叼,他們只是感情好擦囊,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,585評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著嘴办,像睡著了一般瞬场。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上涧郊,一...
    開封第一講書人閱讀 51,462評(píng)論 1 302
  • 那天贯被,我揣著相機(jī)與錄音,去河邊找鬼。 笑死刃榨,一個(gè)胖子當(dāng)著我的面吹牛弹砚,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播枢希,決...
    沈念sama閱讀 40,262評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼桌吃,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了苞轿?” 一聲冷哼從身側(cè)響起茅诱,我...
    開封第一講書人閱讀 39,153評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎搬卒,沒想到半個(gè)月后瑟俭,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,587評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡契邀,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,792評(píng)論 3 336
  • 正文 我和宋清朗相戀三年摆寄,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片坯门。...
    茶點(diǎn)故事閱讀 39,919評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡微饥,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出古戴,到底是詐尸還是另有隱情欠橘,我是刑警寧澤,帶...
    沈念sama閱讀 35,635評(píng)論 5 345
  • 正文 年R本政府宣布现恼,位于F島的核電站肃续,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏叉袍。R本人自食惡果不足惜始锚,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,237評(píng)論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望畦韭。 院中可真熱鬧疼蛾,春花似錦、人聲如沸艺配。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,855評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽转唉。三九已至,卻和暖如春稳捆,著一層夾襖步出監(jiān)牢的瞬間赠法,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,983評(píng)論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留砖织,地道東北人款侵。 一個(gè)月前我還...
    沈念sama閱讀 48,048評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像侧纯,于是被迫代替她去往敵國和親新锈。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,864評(píng)論 2 354