1. 程式人生 > >Mac下brew 方式的LNMP環境搭建

Mac下brew 方式的LNMP環境搭建

1 安裝前準備

1.1 更新brew

//TODO brew說明

brew update 

1.2 首先加入Homebrew官方的幾個軟體源

//TODO 軟體源說明

brew tap homebrew/dupes
brew tap homebrew/versions
brew tap homebrew/php

2 安裝mysql

2.1 安裝MySQL

brew install mysql

這裡寫圖片描述
2.2 brew方式設定開機啟動MySQL

cp /usr/local/Cellar/mysql/5.7.12/homebrew.mxcl.mysql.plist ~/Library/LaunchAgents/

launchctl load ~/Library/LaunchAgents/homebrew.mxcl
.mysql.plist

#brew設定開機啟動MySQL完成後的提示資訊

If you need to have this software first in your PATH run:
echo 'export PATH="/usr/local/opt/sphinx-doc/bin:$PATH"' >> ~/.zshrc

/usr/local/Cellar/mysql/5.7.20/bin/mysqld --initialize-insecure --user=king --basedir=/usr/local/Cellar/mysql/5.7.20 --datadir=/usr/local/var/mysql --tmpdir=/tmp
We've installed your MySQL database without a root password. To secure it run: mysql_secure_installation MySQL is configured to only allow connections from localhost by default A "/etc/my.cnf" from another install may interfere with a Homebrew-built server starting up correctly. To have launchd start mysql now and
restart at login: brew services start mysql Or, if you don't want/need a background service you can just run: mysql.server start

#關閉並取消MySQL的開機啟動服務

brew services stop mysql

#登入&退出MySQL

mysql -uroot -p     
quit

2.3 MySQL安全配置
注意: 需先執行mysql 。 否則會報錯:Error: Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2) 提示說找不到mysql.sock。原因是mysql程序還沒啟動。
mysql_secure_installation
#修改密碼安全策略,設定密碼為123456

  • 命令 mysql -uroot 登入 MySQL
  • set global validate_password_policy=0; #設定密碼強度檢查等級, 0:只檢查長度
  • set global validate_password_length=4; #設定密碼最小長度 LOW
    強度允許我們設定為純數字純字母等密碼,但是我們還是不能設定 123456,因為最低要求 8 位,沒事,繼續跑這一句. 你要問我那個
    length 為什麼要設定 4,因為不管你設定 1、2、3、4,最低長度都是 4。
  • SHOW VARIABLES LIKE ‘validate_password%’; #檢視密碼策略
  • 再次執行 mysql_secure_installation,安心的設定 123456 了。。。

2.4 配置檔案介紹

3 安裝PHP

3.1 #brew 安裝php56

#檢視php5.6安裝選項
brew options php56        
#搜尋PHP56安裝包
brew search php56     
 #安裝php56
brew install homebrew/php/php56    

注意:檢視php5.6安裝選項發現, php56中php-fpm, nginx, mysql擴充套件 預設已安裝
這裡寫圖片描述
這裡寫圖片描述

3.2 #加入開機啟動
#方式一

#To have launchd start homebrew/php/php56 now and restart at login:
brew services start homebrew/php/php56

#方式二

cp /usr/local/opt/php56/homebrew.mxcl.php56.plist ~/Library/LaunchAgents/
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.php56.plist

3.3 #替換Mac自帶的PHP和php-fpm 新增環境變數
注意我們用的zsh,由於Mac自帶了php和php-fpm,因此需要新增系統環境變數PATH來替代自帶PHP版本(優先執行brew安裝的版本)

#檢視當前用的shell  並修改對應的配置檔案
echo $SHELL    
/usr/local/bin/zsh    

#修改zash配置檔案~/.zshrc
#for php
echo 'export PATH="$(brew --prefix homebrew/php/php56)/bin:$PATH"' >> ~/.zshrc  
#for php-fpm
echo 'export PATH="$(brew --prefix homebrew/php/php56)/sbin:$PATH"' >> ~/.zshrc  
#for other brew install soft
echo 'export PATH="/usr/local/bin:/usr/local/sbin:$PATH"' >> ~/.zshrc 
#更新並使配置生效
source ~/.zshrc 

#在~/.zshrc 新增效果如下:
export PATH=/usr/local/opt/php56/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

說明:shell配置檔案 - 設定一些環境變數
~/.bashrc:該檔案包含專用於你的bash shell的bash資訊,當登入時以及每次開啟新的shell時,該檔案被讀取.
~/.zshrc:該檔案包含專用於你的zsh shell的bash資訊,當登入時以及每次開啟新的shell時,該檔案被讀取.

3.4 #擴充套件安裝
等待PHP編譯完成,開始安裝PHP常用擴充套件,擴充套件安裝過程中brew會自動安裝依賴包; 如果要安裝新的php擴充套件,可以直接安裝而不用每次重新編譯php,所有的擴充套件可以通過
brew search php56 查詢擴充套件

安裝命令

brew install homebrew/php/php56-crypto homebrew/php/php56-igbinary homebrew/php/php56-memcache homebrew/php/php56-memcached homebrew/php/php56-mongo homebrew/php/php56-mongodb homebrew/php/php56-pthreads homebrew/php/php56-redis homebrew/php/php56-yaf homebrew/php/php56-mcrypt homebrew/php/php56-swoole homebrew/php/php56-xdebug homebrew/php/php56-opcache

從原始碼開始安裝 nginx , 預設情況下會採用 bottle 方式安裝,bottle 方式就是安裝已編譯好的二進位制包。

brew reinstall homebrew/php/php56-crypto –build-from-source
brew install homebrew/php/php56-xdebug –build-from-source
這裡寫圖片描述

3.5 #啟動 停止 驗證php56安裝結果
殺死程序=> sudo pkill php-fpm
重啟程序=> sudo /usr/local/opt/php56/sbin/php-fpm –fpm-config

配置檔案位置

/usr/local/etc/php/5.6/php-fpm.conf

3.6 解除安裝 清除垃圾資訊

解除安裝

brew uninstall php56

清除快取以及老舊版本檔案

brew cleanup -s

3.7 PHP命令
php –v 即可檢視當前php的版本
php -m 會顯示當前php載入的有效模組
php -i 輸出無html格式的phpinfo
php -i |grep mongo 檢視你的擴充套件是否安裝成功
php -ini 輸出當前php載入ini配置檔案的數量,路徑資訊。
php –a 命令開啟互動模式,輸入一行程式碼,php會實時輸出結果。
php -l hello.php 命令列下檢測php檔案的語法錯誤
php -s hello.php 將php程式碼高亮原樣輸出
php -rf function 打印出該函式的語法簡介
php -re function 檢視擴充套件
php-fpm -v 檢視php-fpm版本
php –ini 檢視所有配置檔案位置

3.8 php70 安裝
注意: 安裝PHP70 因為PHP71暫時沒有memcache 擴充套件
brew options php70 #檢視php70安裝選項
brew install php70
這裡寫圖片描述

這裡寫圖片描述
PHP70和PHP56安裝差不多,但有幾個地方主要注意:
please ‘brew unlink php56’ before continuing => 提示在安裝PHP70之前需要去除之前php56的連結,這樣才可以安裝PHP70

PHP擴充套件安裝 擴充套件有區別

brew install homebrew/php/php70-igbinary homebrew/php/php70-memcache homebrew/php/php70-memcached homebrew/php/php70-mongodb homebrew/php/php70-pthreads homebrew/php/php70-redis homebrew/php/php70-yaf homebrew/php/php70-mcrypt homebrew/php/php70-swoole homebrew/php/php70-xdebug homebrew/php/php70-opcache homebrew/php/php70-lua homebrew/php/php70-gmagick

4 PHP多版本控制

4.1 方式一 通過php-version實現版本控制

brew install php-version

列表內容

只生效一次

source $(brew –prefix php-version)/php-version.sh && php-version 5
要想長期生效需要 把這程式碼放到~/.bashrc 或者 ~/.zshrc
php-version #檢視現有版本
這裡寫圖片描述
php -version 7.0.25 #PHP版本切換
這裡寫圖片描述
4.2 方式二 brew link|unlink
通過brew安裝的php可以通過brew link和brew unlink來切換不同版本。

4.3 方式三
http://www.piaoyi.org/php/Mac-brew-php.html
注意:安裝多個PHP版本的時候, 要注意更改配置目錄,其實本質上還是啟動程式優先順序問題.比如設定php56 在php70之前, 則用到的就是php56

5 Nginx 安裝
brew install nginx
這裡寫圖片描述

主配置檔案

/usr/local/etc/nginx/nginx.conf

啟動及相關命令

nginx #啟動
nginx -s reload|reopen|stop|quit #過載/~/停止/~
nginx -t #校驗配置檔案是否正確
nginx -V #檢視安裝Nginx時的編譯選項(pid位置, Log日誌 配置檔案 安裝目錄 安裝模組等)

如果要想監聽80埠需要root許可權,執行

sudo chown root:wheel /usr/local/Cellar/nginx/1.6.2/bin/nginx
sudo chmod u+s /usr/local/Cellar/nginx/1.6.2/bin/nginx

設定開機啟動

cp /usr/local/Cellar/nginx/1.10.0/homebrew.mxcl.nginx.plist ~/Library/LaunchAgents
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist

相關推薦

Macbrew 方式LNMP環境搭建

1 安裝前準備 1.1 更新brew //TODO brew說明 brew update 1.2 首先加入Homebrew官方的幾個軟體源 //TODO 軟體源說明 brew tap homebrew/dupes brew tap homebrew

mac react Native android環境搭建

否則 編譯速度 方案 立即生效 cat blog ref spa 默認 1、參考 上一篇的博客文章 “mac 下 react Native ios環境搭建”,前面幾步都是必須的,只是,原生客戶端不一致 2、Android Studio的安裝 A:安裝JAVA

MacWordPress個人站點環境搭建

最近在公司做後臺的東西,freshman第一次接觸到新的東西總會有點好奇心。 但是公司後臺用了傳統的ssh框架搭建,因此我們基本就是一直在寫業務,寫業務。 加之有個朋友copy一個xx電影下載的網站,頓時又有點復燃我想建個個人站點的慾望。 無web經驗,無大型網站開發經驗

lua與c (一)Macc 和lua環境搭建

由於工作中一直用的是lua開發,可以把lua看作是膠水語言,和c有很好的親和性,最近想研究一下c與lua之間呼叫的原理。 1.lua的安裝 tar -xvf lua-5.3.2.tar.gz #解壓縮 cd lua-5.3.2 s

mac 自動化測試appium環境搭建,以及應用

一、去appium官網下載安裝包並安裝,我的是appium-1.5.3 二、開啟控制檯輸入ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" &l

LNMP環境搭建記錄(源碼方式

des all 英文 pass ml2 內核 evel 語言 highlight   LNMP指的是在Linux下用PHP+MYSQL+NGIX搭建網站的環境。   Nginx是一個高性能的 HTTP 和 反向代理 服務器,也是一個 IMAP/POP3/SMTP 代

Maclnmp環境搭建

  之前在Windows上開發大部分都是使用的整合環境(xampp,phpstudy,wamp),可以完成日常便捷開發,有些時候卻Windows下無法實現的就需要自己搭建虛擬機器,在虛擬機器中搭建lnmp環境,也可以完成開發工作。同樣在Mac也會有這兩種選擇,可以使用現成的整合開發環境(mamp),但是使用M

linuxLNMP環境搭建

LNMP是linux、nginx、mysql、php的簡寫;LNMP與LAMP環境一樣也是用來做web網站後臺的,nginx是輕量級的,程序間的通訊使用php-fpm獨立使用;apache則是比較臃腫的,呼叫php的模組來完成的,需要載入很多模組,執行起來相對較慢。一、安裝M

MacJenkins+SVN(Git)+Xcode搭建持續構建環境

因為網上教程多是依靠Github,而且很多是在Jenkins中配置Xcode引數,相當的麻煩,我們是用Shell 指令碼,非常的easy。在這裡記錄下環境搭建的過程,希望能幫他人減少一點坑。 1 安裝Jenkins Jenkins是基於Java開發的一種持續

MacPython的虛擬環境virtualenv的搭建

第一步,安裝: pip install virtualenv 第二步,建立一個環境: virtualenv py3 –py3是你的環境的名稱,隨意 第三步,配置虛擬機器

基於MACLNMP環境搭建, PHP5.6,PHP7.2.3 雜記

sudo ./configure --prefix=/Users/heweijun/www/server/php --with-config-file-path=/Users/heweijun/www/server/php/etc --enable-fpm --with-fpm-user=www --wit

React Native學習筆記(一)Mac OS XReact Native的環境搭建

本文介紹Mac OS X系統下的React Native環境搭建過程。 1.環境要求: 1) Mac OS X作業系統 2) Xcode6.4或以上版本 3) Node.js4.0或以上版本 4) watchman和flow 2.安裝過程 1) N

mac用mamp和phpstorm搭建php開發環境

1.下載安裝mamp: https://pan.baidu.com/s/1i5oeu0l 密碼:h4ui 下載安裝phpWebstorm,http://www.jetbrains.com/phpstorm/ phpWebstorm註冊碼: 43B4A73YYJ-eyJsaW

CentOS7LNMP環境搭建

換源 把最基本的源換為國內的(163,aliyun) 預先執行 yum install wget vim tree pstree telnet gcc cmake screen htop top lrzsz git -y 去yum的配置

windowsphp、mysql環境搭建

ins ads unity 5.7 文件 all color 註意 ont php http://windows.php.net/download/ mysql https://dev.mysql.com/downloads/windows/installer/5.7.ht

windowssolr7.9+tomcat7環境搭建

art pro resource web-inf res load ack tex lib 1.下載solr。tomcat(能夠不用下載。由於solr有jetty支持) 2.solr部署到tomcat上 首先,把解壓包下的solr-4.9.0\example\s

LNMP環境搭建

linux 電子 代理服務器 master 區分大小寫 Nginx是一款輕量的異步Web 服務器/反向代理服務器及電子郵件(IMAP/POP3)代理服務器。Nginx的處理連接方式與apache的模式類似,nginx通過主進程master產生多個子進程worker,然後每個worker產生

CentOS7 LNMP+phpmyadmin環境搭建(二、LNMP環境搭建

用戶 lib 關聯 cin 特殊 get deb 分號 yum 上一篇博客我們在虛擬機上安裝了centos7,接下來,就開始安裝lnmp環境吧。 還是跟之前一樣,進入命令行後,先使用su命令切換到root權限。 首先配置防火墻 CentOS 7.0默認使用的是firewa

Ubuntukafka集群環境搭建及測試

delet 指定 文件中 新增 img --delete replicat pro alt 1,解壓 root@Ubuntu-1:/usr/local# tar zxvf kafka_2.11-0.8.2.2.tgz 2,重命名 root@Ubuntu-1:/usr/

Win7 OpenCV+Qt開發環境搭建

tro enc 銷毀 vid 使用 detect ack text [] 1、所需軟件工具: (1)OpenCV開發庫,2.4.9版;包括源文件(source文件夾)和編譯後的文件(build文件夾),但最好自己使用CMake又一次編譯。否則easy出錯。 (2