不久前負責了一個項目須要配置PHP7的開發環境,由於以前全部的項目用的是PHP5的,因此研究了這些東西,可是很遺憾,電腦出了問題,不得已重裝了系統,而後你懂得。。。什麼都沒有了,要從新來過。。
雖然本人是搞前端的,可是由於時常須要接觸配置開發環境並部署本地網站,因此此次乾脆從頭至尾親自動手,好好學習一下運維這方面的相關知識了。php
Mac OSX 下 使用 homebrew 安裝 PHP,nginx, mysql,composer,NodeJS等,搭建LNMP開發環境。實戰經驗分享:html
1 版本問題前端
2 linux 命令行
這裏放置一些下面安裝時可能會用到的linux 命令行,供不太瞭解的人蔘考,若有錯誤,歡迎指正。node
$ rm -rf filename
$ ls -a
$ vim 文件名 // 按下a鍵進入編輯模式,按下esc鍵退出編輯模式,按下「:wq」表示保存並推出,按下「:q」表示不保存,直接退出。
$ :/要搜索的關鍵詞,按enter鍵開始搜
這裏附上一款替代終端的軟件和口碑比較好的終端主題mysql
下載地址 -> iTerm2
安裝以後:
執行一下命令行安裝[oh-my-zsh]主題(https://github.com/robbyrussell/oh-my-zsh):linux
$ sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
Homebrew是Mac OSX下流行的包管理軟件,這裏推薦經過Homebrew來安裝各類軟件包。nginx
進入Homebrew官網以後,查看如何安裝:git
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
添加php軟件倉庫github
$ brew tap homebrew/homebrew-php
踩的坑
brew tap homebrew/dupes
brew tap homebrew/versions
嘗試在本身本地去執行這兩個命令的時候,給出了警告:sql
Warning: homebrew/dupes was deprecated. This tap is now empty as all its formulae were migrated.
查了下發現是 homebrew/dupes,homebrew/versions好像已經被遷移到homebrew/core或者是被刪除,能夠忽略。
安裝PHP(這裏能夠指定版本,好比能夠把71換成56)
$ brew install php71
安裝後 php.ini 以及fpm的配置文件均在/usr/local/etc/php/7.1/目錄下。
設置環境變量
查看環境PATH:echo $PATH,確認/usr/local/bin, /usr/local/sbin是否存在且排在/usr/sbin以前。如不知足,則需根據你係統所使用的shell,將環境變量添加到~/.bashrc, ~/.zshrc或~/.profile中去:
PATH="/usr/local/bin:/usr/local/sbin:$PATH"
啓動PHP-FPM服務
$ brew services start php71
也可經過brew services restart|stop php71命令來重啓、中止服務。
配置PHP-FPM隨機啓動
$ mkdir -p ~/Library/LaunchAgents $ cp /usr/local/opt/php71/homebrew.mxcl.php71.plist ~/Library/LaunchAgents/
驗證PHP-FPM服務是否啓動成功
$ ps aux | grep php-fpm
如存在相關php-fpm進程,則代表啓動成功.
安裝
$ brew install nginx
安裝後,可在/usr/local/etc/nginx目錄下,找到Nginx系列配置文件。
創建須要存放項目的文件夾,舉例以下:
$ sudo mkdir -p /var/www //建立名字爲var的文件夾,該文件夾下建立www文件夾,這裏多用來存放項目文件夾 $ sudo mkdir -p /var/log/nginx // 在var文件夾下建立log文件夾,log文件夾下在建立nginx文件夾,這裏用來存放nginx運行日誌 $ mkdir /usr/local/etc/nginx/sites-enabled //在/usr/local/etc/nginx/下建立sites-enabled文件夾,用來存放對應的項目的nginx的配置。
替換/usr/local/etc/nginx/nginx.conf的配置內容爲(替換內容根據項目和公司須要來寫,下面只是示例內容):
user nobody; worker_processes 1; error_log /var/log/nginx/error.log debug; pid /var/run/nginx.pid; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on; keepalive_timeout 65; server { listen 80; server_name localhost; root /var/www; charset utf-8; location / { index index.html index.htm index.php; } location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_split_path_info ^(.+\.php)(/.*)$; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; } } include sites-enabled/*; }
啓動Nginx服務
$ sudo brew services start nginx
驗證Nginx服務啓動是否成功
$ bash -c `echo "Hello, World!" >> /var/www/index.html` $ bash -c `echo "<?php \nphpinfo();" >> /var/www/phpinfo.php`
在瀏覽器中打開http://localhost,出現Hello, World!表示Nginx啓動成功。 在瀏覽器中打開http://localhost/phpinfo.php,出現PHP配置相關信息,表示PHP配置成功。
若是不成功,可經過如下命令查看錯誤日誌排查緣由:
$ tail -100f /var/log/nginx/…error.log
配置Nginx服務隨機啓動
cp /usr/local/opt/nginx/homebrew.mxcl.nginx.plist ~/Library/LaunchAgents/
安裝
$ brew install mysql
啓動
$ brew services start mysql
配置隨機啓動
$ cp /usr/local/opt/mysql/homebrew.mxcl.mysql.plist ~/Library/LaunchAgents/
phpMyAdmin是一款方便易用的Mysql數據庫管理軟件。能夠在 官網 下載最新版的phpMyAdmin。
將下載的安裝包解壓到 /var/www/phpmyadmin 目錄下,建立配置文件config.inc.php, 內容以下:
<?php $i = 0; /* Server: localhost [1] */ $i++; $cfg['Servers'][$i]['verbose'] = 'localhost'; $cfg['Servers'][$i]['host'] = 'localhost'; $cfg['Servers'][$i]['port'] = ''; $cfg['Servers'][$i]['socket'] = ''; $cfg['Servers'][$i]['auth_type'] = 'config'; $cfg['Servers'][$i]['user'] = 'root'; $cfg['Servers'][$i]['password'] = ''; $cfg['Servers'][$i]['AllowNoPassword'] = true;
而後可經過瀏覽器打開http://localhost/phpmyadmin/,進入phpmyadmin。
Composer能夠對php項目進行依賴管理,具體用法和內容能夠查看官網.
踩的坑
在安裝composer時,須要安裝一個PHP71的一個擴展包phalcon
搜索具體的名字,以下:
$ brew search phalcon
安裝:
$ brew install homebrew/php/php71-phalcon
全局安裝
能夠執行這些命令讓 composer 在你的系統中進行全局調用:
$ curl -sS https://getcomposer.org/installer | php $ php composer.phar $ mv composer.phar /usr/local/bin/composer
驗證是否安裝
$ composer -v
局部安裝
能夠經過 --install-dir 選項指定 Composer 的安裝目錄(它能夠是一個絕對或相對路徑):
curl -sS https://getcomposer.org/installer | php -- --install-dir=bin
安裝nodejs
brew install nodejs brew postinstall node
配置NPM源爲國內源,以大幅提高NPM的安裝速度:
npm config set registry https://registry.npm.taobao.org
OK,完畢