Mac上通过brew安装lnmp (php7)开发环境并且搭建laravel项目
很多开发者都喜欢使用lnmp
作为项目服务器,但是我们很多开发者本地喜欢用集成lamp
环境开发,一到上线,各种水土不服,那么我们直接在mac
上安装lnmp
,就不会浪费那么多时间调代码了,接下来我们开始安装linux + nginx + php70 + mysql5
环境,brew
对于Mac
相当于ubuntu 的apt-get
那么重要以及方便,大家可以先去安装brew
,很简单
一、准备条件
1、为了安装最新的配置,我们提前升级brew
brew update
2、配置
brew tap homebrew/dupes
brew tap homebrew/versions
brew tap homebrew/homebrew-php
二、安装PHP7
1、安装php7.0
brew install php70
2、遇到问题以及解决,如果以前安装过的话会出现
➜ ~ brew install php70
==> Installing php70 from homebrew/php
Error: Cannot install homebrew/php/php70 because conflicting formulae are installed.
php55: because different php versions install the same binaries.
Please `brew unlink php55` before continuing.
Unlinking removes a formulas symlinks from /usr/local. You can
link the formula again after the install finishes. You can --force this
install, but the build may fail or cause obscure side-effects in the
resulting software.
遇到这个问题可以根据提示执行:brew unlink php55
,然后执行brew install php70
继续安装php70
3、配置文件位置
好安装后生成的配置文件都在/usr/local/etc/php/7.0
目录里,分别如下:
- php.ini位置为
/usr/local/etc/php/7.0/php.ini
- php-fpm.conf位置为
/usr/local/etc/php/7.0/php-fpm.conf
- PHP运行phpize,PHP-配置
ls /usr/local/opt/php70/bin
- PHP-FPM位置为
/usr/local/opt/php70/sbin/php-fpm
4、将php7加入开机启动
mkdir -p ~/Library/LaunchAgents
ln -sfv /usr/local/opt/php70/homebrew.mxcl.php70.plist ~/Library/LaunchAgents/
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.php70.plist
5、将php加入$PATH
vim ~/.bash_profile
添加如下配置文件
export PATH="/usr/local/sbin:$PATH"
export PATH="$(brew --prefix php70)/bin:$PATH"
export PATH="$(brew --prefix php70)/sbin:$PATH"
export PATH="/usr/local/bin:/usr/local/sbin:$PATH"
保存退出,运行配置
source ~/.bash_profile
6、查看是否安装成功
lsof -Pni4 | grep LISTEN | grep php
显示如下代码代表安装成功
php-fpm 782 songlu 7u IPv4 0x7acb53cb3b05a795 0t0 TCP 127.0.0.1:9000 (LISTEN)
php-fpm 783 songlu 0u IPv4 0x7acb53cb3b05a795 0t0 TCP 127.0.0.1:9000 (LISTEN)
php-fpm 784 songlu 0u IPv4 0x7acb53cb3b05a795 0t0 TCP 127.0.0.1:9000 (LISTEN)
7、安装php7扩展
brew install php70 #按tab 可以显示如下一些库
php70 php70-fpm php70-mysql php70-sqlite3
php70-bcmath php70-gd php70-odbc php70-sybase
php70-bz2 php70-gmp php70-opcache php70-tidy
php70-cgi php70-imap php70-pgsql php70-xml
php70-cli php70-interbase php70-phpdbg php70-xmlrpc
php70-common php70-intl php70-pspell php70-xsl
php70-curl php70-json php70-readline php70-zip
php70-dba php70-ldap php70-recode php70-memcached
php70-dev php70-mbstring php70-snmp php70-xdebug
php70-enchant php70-mcrypt php70-soap php70-redis
php70-yaf
如果上面的方法不可用参考:
brew install php@7.0 #按tab 可以显示如下一些库
php@7.0 php@7.0 fpm php@7.0 mysql php@7.0 sqlite3
php@7.0 bcmath php@7.0 gd php@7.0 odbc php@7.0 sybase
php@7.0 bz2 php@7.0 gmp php@7.0 opcache php@7.0 tidy
php@7.0 cgi php@7.0 imap php@7.0 pgsql php@7.0 xml
php@7.0 cli php@7.0 interbase php@7.0 phpdbg php@7.0 xmlrpc
php@7.0 common php@7.0 intl php@7.0 pspell php@7.0 xsl
php@7.0 curl php@7.0 json php@7.0 readline php@7.0 zip
php@7.0 dba php@7.0 ldap php@7.0 recode php@7.0 memcached
php@7.0 dev php@7.0 mbstring php@7.0 snmp php@7.0 xdebug
php@7.0 enchant php@7.0 mcrypt php@7.0 soap php@7.0 redis
php@7.0 yaf
8、重启php7
如果我们修改配置,需要重启一下php7
brew services restart php70
二、安装Nginx
1、安装
brew install nginx
通过homebrew,nginx
文件默认被安装在/usr/local/etc/nginx/nginx.conf
,然后再浏览器中键入http://localhost:8080
,即可访问到nginx的欢迎界面。
2、配置
配置文件地址
vim /usr/local/etc/nginx/nginx.conf
给nginx添加一个配置文件sites-enabled
,方便以后我们添多站点;没有的话可以自己建一个然后再/usr/local/etc/nginx/nginx.conf
中添加如下代码引入配置,有的话可以忽略
include /usr/local/etc/nginx/sites-enabled/*;
接下来开始配置多站点
vim /usr/local/etc/nginx/sites-enabled/default
添加如下代码,每个意义看备注,多站点直接复制如下代码重新粘贴,然后修改root
,server_name
重启nginx
即可
server {
listen 80;
root /var/www/admin/public; #项目文件地址
index index.php index.html index.htm;
server_name b.com; #本地域名,可以在host里定义
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
try_files $uri /index.php =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}
配置完成我们可以重启nginx,让配置生效:
nginx -s reload
3、Nginx启动关闭命令:
测试配置是否有语法错误
nginx -t
开启Nginx
服务器
sudo nginx
重新加载配置|重启|停止|退出 nginx
nginx -s reload|reopen|stop|quit
也可以使用Mac的launchctl来启动|停止
launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist
Nginx开机启动,不过推荐自己启动
ln -sfv /usr/local/opt/nginx/*.plist ~/Library/LaunchAgents
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist
三、安装MySQL
MySQL
也可以使用brew
命令直接进行安装:
brew install mysql
同样,可以设置MySQL
的开机自启动:
ln -sfv /usr/local/opt/mysql/*.plist ~/Library/LaunchAgents
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
然后进行MySQL的安全安装,使用以下命令,可以更改root密码、删除匿名用户、关闭远程连接等:
mysql_secure_installation
然后会输出以下内容:
> Enter current password for root (enter for none): //默认没有密码,直接回车即可
> Change the root password? [Y/n] //是否更改root密码,选择是,然后输入并确认密码
> Remove anonymous users? [Y/n] //是否删除匿名用户,选择是
> Disallow root login remotely? [Y/n] //是否禁止远程登录,选择是
> Remove test database and access to it? [Y/n] //是否删除test数据库,选择是
> Reload privilege tables now? [Y/n] //是否重载表格数据,选择是
测试数据库是否安装成功:
mysql -u root -p
然后输入刚才设置的root密码,将会输出以下内容:
Type help; or \h for help. Type \c to clear the current input statement.
mysql> exit //输入exit退出数据库
常见问题汇总
1、如果出现-bash: mysql: command not found
可以执行
PATH="$PATH":/usr/local/mysql/bin
更多相关好文
-
laravel中distinct()的使用方法与去重 2017-09-11
-
Laravel将view缓存为静态html,laravel页面静态缓存 2021-10-09
-
[ laravel爬虫实战--基础篇 ] guzzle描述与安装 2017-11-01
-
[ 配置教程 ] 在ubuntu16.04中部署LNMP环境(php7+maridb且开启maridb远程以及nginx多域名访问 )并配置laravel环境 2017-07-18
-
mysql如何给运营人员添加只有查询权限的账号 2024-12-02
热门文章
-
mysql如何给运营人员添加只有查询权限的账号 2024-12-02
-
Mac 安装mysql并且配置密码 2024-11-20
-
阿里云不同账号(跨账号)ECS服务器同地域如何实现免费内网互通? 2024-11-12
-
electron安装使用better-sqlite3并解决NODE_MODULE_VERSION xxx. This version of Node.js requires 2024-11-06
-
Zerotier+Moon+Nginx实现内网穿透搭建网站 2024-08-23
阿里云不同账号(跨账号)ECS服务器同地域如何实现免费内网互通?