一、Mac使用homebrew搭建 PHP,Nginx,MySQL,Redis,Memcache ... ...(LNMP开发环境)
https://segmentfault.com/a/1190000000606752
注意:这里的homebrew是国外镜像,网速一般的话下载超慢,可以采用国内镜像下载:
https://baijiahao.baidu.com/s?id=1668544039877443967 Homebrew的国内安装脚本,从此告别龟速更新
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
=========================================其中安装php====================================
brew update
brew tap看一下:
brew tap kyslik/php
brew search php
出来各种版本的php和对应版本的php扩展,我选择安装7.2版本的php,
brew install php72 --with-fpm --with-gmp--with-imap --with-tidy --with-debug --with-mysql --with-libmysql
并安装对应版本的常用的扩展,常用的有redis,memcached,swoole,imagick等
brew install php72-redis
brew install php72-memcached
brew install php72-swoole
brew install php72-imagick
后面的写入~/.bash_profile以及测试效果仍然见原文链接
过程中遇到的问题及解决如下:
https://blog.csdn.net/wuhuagu_wuhuaguo/article/details/79800096
去掉两个注释
改9000为9001
ln-sfv /usr/local/opt/php/*.plist ~/Library/LaunchAgents
launchctlload ~/Library/LaunchAgents/homebrew.mxcl.php.plist (注意看:php72改为php)
sudo nginx -c /usr/local/etc/nginx/nginx.conf
sudo nginx -s reload
另外,php各版本切换及相关php-fpm问题详见:https://blog.csdn.net/wuhuagu_wuhuaguo/article/details/79800096
=====================================================================================================================
二、lnmp各安装位置
首先申明一点:通过brew安装的
软件位置:/usr/local/Cellar/软件名
软件配置:/usr/local/etc/软件名
快捷键:/usr/local/opt/快捷键
本地项目目录: /Users/xiafen/web/项目名
hosts: /private/etc/hosts
nginx配置目录: /usr/local/etc/nginx/nginx.conf
和: /usr/local/etc/nginx/service/各项目的nagix配置文件
php-fpm目录: /usr/local/etc/nginx/conf.d/php-fpm
linux的家目录: /Users/xiafen (cd ~)
php.ini(php配置文件) : /usr/local/etc/php/7.0/php.ini(通过brew info php70找到的)
my.cnf(mysql配置文件) :/usr/local/etc/my.cnf
(———————————————————————————
mysqld --help --verbose | more (查看帮助,按空格下翻)
你会看到开始的这一行(表示配置文件默认读取顺序)
Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf /usr/local/etc/my.cnf ~/.my.cnf
挨个儿找,找到/usr/local/etc/my.cnf
———————————————————————————)
————————————————————————————
项目本身错误日志:项目目录/storage/logs/laravel.log
nginx本身错误日志 /usr/local/var/log/nginx/error.log(自己在nginx.conf文件的http里面配置的)
nginx的http请求错误:/var/log/nginx_error.log
/usr/local/Cellar/nginx/1.12.2_1/logs/error.log ——这是啥
————————————————————————————
线上
各个项目的nginx配置文件:
/usr/local/nginx/sbin
/usr/local/nginx/conf/nginx.conf
/usr/local/nginx/conf/vhost/各.conf
启动
service nginx start
停止
法1、killall进程名,如杀死java相关进程:kill all java
法2、ps -ef | grep nginx | grep -v grep | awk '{print $2}'| xargs kill -9
重启
/usr/local/nginx/sbin/nginx -s reload
查看状态
service nginx status
三、brew各种操作
(1) brew安装使用nginx的常用命令
安装:brew install nginx/sudo brew install nginx
启动:brew services start nginx/sudo brew services start nginx
重启:sudo nginx -s reload/brew services restart nginx/sudo brew services restart nginx/
停止:brew services stop nginx/sudo brew services stop nginx
新建:touch usr/local/etc/nginx/error.conf
查看:cat usr/local/etc/nginx/nginx.conf
编辑:vi usr/local/etc/nginx/nginx.conf
保存编辑并退出:先按ESC键跳到命令模式然后 :wq
nginx -t 检查
nginx -s reload 重启 === brew services restart nginx
(2) brew切换各版本的常用命令(详细过程见:https://blog.csdn.net/wuhuagu_wuhuaguo/article/details/79800096)
php70—7.0版本,php71—7.1版本,将php从7.0版本切换到7.1版本
两种方式,php
brew services stop php70
brew services start php71
或者根据php-fpm的快捷键来切换
(快捷键目录在~/.bash_profile文件,具体配置见
https://stackoverflow.com/questions/27189296/homebrew-mxcl-mysql-plist-launchctl-load-error
ln -sfv /usr/local/opt/php@7.1/*.plist ~/Library/LaunchAgents )
php-fpm70.stop
php-fpm71.start
额外扯句废话
发现自己犯了个超级无知的错误,我先把php-fpm56的服务stop,然后又restart了,报错说找不到特定的服务,服务被我关了,这肯定找不到啊。重启是基于已经打开的服务,关了重开,应该用start就好了
判断是否真实切换过来的了
法1:ps -ef | grep php71 (准确,推荐)
法2:写个PHP文件,echo phpinfo(); (准确)
法3: php -v (感觉这个极其不靠谱)
(3) brew常用命令(以wget为例)
brew install wget 安装软件包
brew uninstall wget或者brew remove wget 卸载软件包
brew list 查看已安装软件
brew info wget 查看软件包信息
brew deps wget 列出软件包依赖关系
brew update 更新brew
brew outdated 列出过时的软件包
brew upgrade 更新所有过时的软件包
brew upgrade wget 更新指定的软件包
(4)brew其它命令:(以php7.0为例)
brew doctor #自检
brew update #更新brew可安装包,建议每次执行一下
brew search php70 #搜索php5.5
brew tap josegonzalez/php #安装扩展<gihhub_user/repo>
brew tap #查看安装的扩展列表
brew install php70 #安装php5.5
brew remove php70 #卸载php5.5
brew upgrade php70 #升级php5.5
brew options php70 #查看php5.5安装选项
brew info php70 #查看php5.5相关信息
brew home php70 #访问php5.5官方网站
brew services list #查看系统通过 brew安装的服务
brew services cleanup #清除已卸载无用的启动配置文件
brew services restart php70 #重启php-fpm