mac下homebrew安装及php.mysql.nginx环境安装及配置


homebrew 的安装

终端中输入

ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)”

安装php-fpm

因为已经安装homebrew 所以可以直接使用homebrew安装php-fpm

brew tap homebrew/dupes
brew tap homebrew/php
brew install --without-apache --with-fpm --with-mysql php56

安装完成 现在我们将php-fpm 添加入环境变量中 方便我们通过终端直接进行启动

使用bash的话输入下面这个命令
echo 'export PATH="/usr/local/sbin:$PATH"' >> ~/.bash_profile
使用zsh的话输入下面这个命令
echo 'export PATH="/usr/local/sbin:$PATH"' >> ~/.zshrc

创建文件夹 并启动服务

mkdir -p ~/Library/LaunchAgents
ln -sfv /usr/local/opt/php56/homebrew.mxcl.php56.plist ~/Library/LaunchAgents/
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.php56.plist

如果没有报出什么bug的话 在终端中键入

lsof -Pni4 | grep LISTEN | grep php

应该会有下图的显示

php-fpm   69659  frdmn    6u  IPv4 0x8d8ebe505a1ae01      0t0  TCP 127.0.0.1:9000 (LISTEN)
php-fpm   69660  frdmn    0u  IPv4 0x8d8ebe505a1ae01      0t0  TCP 127.0.0.1:9000 (LISTEN)
php-fpm   69661  frdmn    0u  IPv4 0x8d8ebe505a1ae01      0t0  TCP 127.0.0.1:9000 (LISTEN)
php-fpm   69662  frdmn    0u  IPv4 0x8d8ebe505a1ae01      0t0  TCP 127.0.0.1:9000 (LISTEN)

mysql 安装

brew install mysql
ln -sfv /usr/local/opt/mysql/*.plist ~/Library/LaunchAgents

添加mysql到环境变量中

launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist

进入mysql的初始化环节 去确认一些mysql的缺省选项

mysql_secure_installation
>Enter current password for root (enter for none)
回车 我们并不需要


> Change the root password? [Y/n]
如不愿意使用root密码缺省mysql的password 输入n
并键入自己想使用的password

> Remove anonymous users? [Y/n]
Yes. 匿名用户我们并不需要

> Disallow root login remotely? [Y/n]
Yes. 我们仅需要127.0.1 

> Remove test database and access to it? [Y/n]
Yes. 无需保留冗余的测试文件

> Reload privilege tables now? [Y/n]
Yes.重新加载数据库

测试mysql

mysql -uroot -p

输入权限密码
这是你应该能看见

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>
退出mysql 输入q

php-fpm安装及配置

curl -L https://gist.github.com/frdmn/7853158/raw/php-fpm -o /usr/local/etc/nginx/conf.d/php-fpm

注意墙内用户最好翻墙 不然timeout是你的噩梦

创建默认虚拟主机

curl -L https://gist.github.com/frdmn/7853158/raw/sites-available_default -o /usr/local/etc/nginx/sites-available/default
curl -L https://gist.github.com/frdmn/7853158/raw/sites-available_default-ssl -o /usr/local/etc/nginx/sites-available/default-ssl
curl -L https://gist.github.com/frdmn/7853158/raw/sites-available_phpmyadmin -o /usr/local/etc/nginx/sites-available/phpmyadmin

使用git 来克隆实例主机

git clone http://git.frd.mn/frdmn/nginx-virtual-host.git /var/www
rm -rf /var/www/.git

然后删除/var/www/.get文件夹 防止你的文件被git上传

nginx的安装

使用homebrew来安装nginx

brew install nginx

我们必须确保80端口是开启的,因为nginx是基于80端口的

sudo cp -v /usr/local/opt/nginx/*.plist /Library/LaunchDaemons/
sudo chown root:wheel /Library/LaunchDaemons/homebrew.mxcl.nginx.plist

第一次开始nginx

sudo launchctl load /Library/LaunchDaemons/homebrew.mxcl.nginx.plist

默认的配置设置是将监听8080端口而非http默认的80端口

curl -IL http://127.0.0.1:8080

终端中应该有如下显示

HTTP/1.1 200 OK
Server: nginx/1.6.2
Date: Mon, 19 Oct 2014 19:07:47 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Mon, 19 Oct 2014 19:01:32 GMT
Connection: keep-alive
ETag: "5444dea7-264"
Accept-Ranges: bytes

我们停止nginx 对其进行进一步配置

sudo launchctl unload /Library/LaunchDaemons/homebrew.mxcl.nginx.plist

安装ssl

创建文件夹来存放ssl的证书和私钥

mkdir -p /usr/local/etc/nginx/ssl

生成4096比特 的RSA秘钥

openssl req -new -newkey rsa:4096 -days 365 -nodes -x509 -subj "/C=US/ST=State/L=Town/O=Office/CN=localhost" -keyout /usr/local/etc/nginx/ssl/localhost.key -out /usr/local/etc/nginx/ssl/localhost.crt
openssl req -new -newkey rsa:4096 -days 365 -nodes -x509 -subj "/C=US/ST=State/L=Town/O=Office/CN=phpmyadmin" -keyout /usr/local/etc/nginx/ssl/phpmyadmin.key -out /usr/local/etc/nginx/ssl/phpmyadmin.crt

现在我们需要使用虚拟主机 我们要启用文件夹以供我们网站使用

ln -sfv /usr/local/etc/nginx/sites-available/default /usr/local/etc/nginx/sites-enabled/default
ln -sfv /usr/local/etc/nginx/sites-available/default-ssl /usr/local/etc/nginx/sites-enabled/default-ssl
ln -sfv /usr/local/etc/nginx/sites-available/phpmyadmin /usr/local/etc/nginx/sites-enabled/phpmyadmin

然后打开nginx

sudo launchctl load /Library/LaunchDaemons/homebrew.mxcl.nginx.plist

然后你可以 打开下面的这些网站,来确认自己的nginx是否正确安装

http://localhost → "Nginx works" page
http://localhost/info → phpinfo()
http://localhost/nope → " Not Found" page
https://localhost:443 → "Nginx works" page (SSL)
https://localhost:443/info → phpinfo() (SSL)
https://localhost:443/nope → "Not Found" page (SSL)
https://localhost:306 → phpMyAdmin (SSL)

对服务的控制

因为种种原因 我们可能要重新启动来进行 重命名

curl -L https://gist.github.com/frdmn/7853158/raw/bash_aliases -o /tmp/.bash_aliases
cat /tmp/.bash_aliases >> ~/.bash_aliases
// 如果你使用bash的话,输入下面这个命令
echo "source ~/.bash_aliases" >> ~/.bash_profile
// 如果你使用zsh的话,输入下面这个命令
echo "source ~/.bash_aliases" >> ~/.zshrc

现在我们可以输入以下命令更新我们的变量 让我们的设置生效

//如果你使用bash的话,输入下面这个命令
source ~/.bash_profile
 //如果你使用zsh的话,输入下面这个命令
source ~/.zshrc

现在你可以使用更加简短的命名来优雅的开关服务 而不必打一长串的指令 路径 那很傻

nginx.start
nginx.stop
nginx.restart

要快速地浏览的最新错误或访问日志

nginx.logs.access
nginx.logs.default.access
nginx.logs.phpmyadmin.access
nginx.logs.default-ssl.access
nginx.logs.error
nginx.logs.phpmyadmin.error

或者检查配置文件

sudo nginx -t


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM