不久前负责了一个项目须要配置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,完毕