Mac上通过brew安装lnmp (php7)开发环境并且搭建laravel项目

Song5189 次浏览7个评论2017年10月21日

很多开发者都喜欢使用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 

添加如下代码,每个意义看备注,多站点直接复制如下代码重新粘贴,然后修改rootserver_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

提交评论

请登录后评论

用户评论

  • Song Song 2024-04-11 10:01:55
    安装PHP拓展可以参考: https://phpartisan.cn/article/193.html
    0 赞 0 条评论 回复
    评论
    查看更多评论!
  • Song Song 2017-07-16 04:00:58
    重启`php7.3`版本 ``` brew services restart php@7.3 ```
    0 赞 0 条评论 回复
    评论
    查看更多评论!
  • Song Song 2017-07-16 04:00:58
    重启`mysql`可以使用如下方法: ``` # 启动 mysql, 并设置为开机启动 brew services start mysql # 关闭 mysql brew services stop mysql # 重启 mysql brew services restart mysql ``` 或者使用如下方法: ``` mysql.server stop mysql.server start mysql.server restart ```
    0 赞 0 条评论 回复
    评论
    查看更多评论!
  • Song Song 2017-07-16 04:00:58
    `mysql`的配置可以通过如下命令查看: ``` mysqld --help --verbose | less ```
    0 赞 0 条评论 回复
    评论
    查看更多评论!
  • Song Song 2017-07-16 04:00:58
    `mysql`的配置可以通过如下命令查看: `` mysqld --help --verbose | less ```
    0 赞 0 条评论 回复
    评论
    查看更多评论!
  • Song Song 2017-07-16 04:00:58
    `php`错误文件地址`/usr/local/var/php_errors.log`
    0 赞 0 条评论 回复
    评论
    查看更多评论!

更多相关好文