php
brew install php55redis,mac下安装lnmp环境 -凯发ag旗舰厅登录网址下载
mac下搭建lamp开发环境很容易,有xampp和mamp现成的集成环境。但是集成环境对于经常需要自定义一些配置的开发者来说会非常麻烦,而且mac本身自带apache和php,在brew的帮助下非常容易手动搭建,可控性很高
brew
brew对于mac,就像apt-get对于ubuntu,安装软件的好帮手,能方便更多…
brew的安装方式如下:ruby -e "$(curl -fssl https://raw.github.com/homebrew/homebrew/go/install)"
brew常用选项brew install xxx
brew uninstall xxx
brew list
brew update xxx
还有一个必须要安装的就是os x 自身的命令行开发工具,否则后面的安装也会出问题。xcode-select --install # 弹窗提示后,点击“安装”即可
apache || nginx
apache
apache的话使用mac自带的基本就够了,我的系统是10.9,可以使用以下命令控制apachesudo apachectl start
sudo apachectl restart
sudo apachectl stop
唯一要改的是主目录,mac默认在home下有个sites(站点)目录,访问路径是http://localhost/~user_name
这样很不适合做开发用,修改/etc/apache2/httpd.conf内容documentroot "/users/username/sites"
options indexes multiviews
allowoverride all
order allow,deny allow from all
这样sites目录就是网站根目录了,代码都往这个下头丢
nginx
要使用nginx也比较方便,首先安装brew install nginx
如果想开机就启动nginx,可以运行下面命令:mkdir -p ~/library/launchagentsln -sfv /usr/local/opt/nginx/*.plist ~/library/launchagents
想立马run nginx的话,也可以手动执行:launchctl load ~/library/launchagents/homebrew.mxcl.nginx.plist
sudo chown root:wheel ~/library/launchagents/homebrew.mxcl.nginx.plist
如果对launchctl不是太熟悉的话,也可以这么玩:(如果想要监听80端口,必须以管理员身份运行)#打开 nginxsudo nginx#重新加载配置|重启|停止|退出 nginxnginx -s reload|reopen|stop|quit#测试配置是否有语法错误nginx -t
update:-03-30 : after upgrading from mavericks to yosemite i got the following error:
/usr/local/var/run/nginx.pid failed (2 no such file or directory)
nginx: [emerg] mkdir() "/usr/local/var/run/nginx/client_body_temp" failed (2: no such file or directory)all i needed to do to solve this issue was to create the folder:
mkdir -p /usr/local/var/run/nginx/client_body_temp
ok, 升级碰到的问题解决。
检查是否run起来:http://localhost:8080 或者 http://localhost:80
配置nginxcd /usr/local/etc/nginx/mkdir conf.d
修改nginx配置文件#配置文件地址 /usr/local/etc/nginx/nginx.confvim nginx.conf
主要修改位置是最后的includeworker_processes 1; error_log /usr/local/var/log/nginx/error.log warn;pid /usr/local/var/run/nginx.pid;events {
worker_connections 256;}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 /usr/local/var/log/nginx/access.log main;
port_in_redirect off;
sendfile on;
keepalive_timeout 65;
include /usr/local/etc/nginx/conf.d/*.conf;
}
修改自定义文件vim ./conf.d/default.conf
增加一个监听端口server {
listen 80;
server_name localhost;
root /users/username/sites/; # 该项要修改为你准备存放相关网页的路径
location / {
index index.php;
autoindex on;
}
#proxy the php scripts to php-fpm
location ~ \.php$ {
include /usr/local/etc/nginx/fastcgi.conf;
fastcgi_intercept_errors on;
fastcgi_pass 127.0.0.1:9000;
} }
这个时候还不能访问php站点,因为还没有开启php-fpm。
虽然mac 10.9自带了php-fpm,但是由于我们使用了最新的php,php中自带php-fpm,所以使用php中的php-fpm可以保证版本的一致。
这里的命令在安装完下一步的php后再执行
sudo nginx
sudo php-fpm -d
php
php在mac下默认安装了,但是不好控制版本,利用brew可以再mac下安装最新版本,甚至是多个版本,我装了php5.5brew tap homebrew/dupes
brew tap josegonzalez/homebrew-php
brew install --without-apache --with-fpm --with-mysql php55 #nginx#brew install php55 #apache
安装成功后提示:#to have launchd start php55 at login:
mkdir -p ~/library/launchagents
ln -sfv /usr/local/opt/php55/*.plist ~/library/launchagents
#then to load php55 now:
launchctl load ~/library/launchagents/homebrew.mxcl.php55.plist
然后修改php的cli路径和apache使用的php模块。在~/.bash_profile或.zshrc里头加以下内容#export path="$(brew --prefix josegonzalez/php/php55)/bin:$path" export path="/usr/local/bin:/usr/local/sbin:$path"#执行下面命令后,新的php版本生效source ~/.bash_profile#或者source ~/.zshrc
如果是apache就用刚刚安装的php代替了系统默认cli的php版本。然后在/etc/apache2/httpd.conf下增加loadmodule php5_module /usr/local/cellar/php55/5.5.15/libexec/apache2/libphp5.so
这样就对apache使用的php版本也进行了修改。
后面会用到mongo和memcache等,所以可以直接利用下面命令安装php模块,其他模块也类似brew install php55-memcache
brew install php55-memcached
brew install php55-redis
brew install php55-mongo
brew install php55-xdebug
brew install php55-mcrypt #laravel 框架依赖此扩展brew install php55-xhprof #php性能分析工具brew install php55-gearman
brew install php55-msgpack
brew install php55-phalcon
那么安装后如何对php进行管理呢(这里主要是重启操作),可以制作一个脚本来管理(/usr/local/etc/php/fpm-restart):#!/bin/shecho "stopping php-fpm..."launchctl unload -w ~/library/launchagents/homebrew.mxcl.php55.plist
echo "starting php-fpm..."launchctl load -w ~/library/launchagents/homebrew.mxcl.php55.plist
echo "php-fpm restarted"exit 0
然后:chmod ug x /usr/local/etc/php/fpm-restart
cd /usr/local/sbin
ln -s /usr/local/etc/php/fpm-restart
mysql
mac不自带mysql,这里需要重新安装,方法依然很简单brew install mysql
安装后的提示:a "/etc/my.cnf" from another install may interfere with a homebrew-built
server starting up correctly.to connect:
mysql -uroot# 开机登录启动mysqlto have launchd start mysql at login:
mkdir -p ~/library/launchagents
ln -sfv /usr/local/opt/mysql/*.plist ~/library/launchagents
# 手动开启mysql
then to load mysql now:
launchctl load ~/library/launchagents/homebrew.mxcl.mysql.plist
#非launchctl开启方式
or, if you don't want/need launchctl, you can just run:
mysql.server start
最好给mysql设个密码,方法如下mysqladmin -u root password 'xxx'
如果想修改mysql的配置,在/usr/local/etc下建立一个my.cnf,例如增加log[mysqld]general-log
general_log_file = /usr/local/var/log/mysqld.log
memcachebrew install memcached
启动/停止指令memcached -d
killall memcached
加入开机启动cp /usr/local/cellar/memcached/1.4.20/homebrew.mxcl.memcached.plist ~/library/launchagents/
redisbrew install redis
redis默认配置文件不允许以deamon方式运行,因此需要先修改配置文件vim /usr/local/etc/redis.conf
将daemonize修改为yes,然后载入配置文件即可实现后台进程启动redis-server /usr/local/etc/redis.conf
加入开机启动cp /usr/local/cellar/redis/2.8.19/homebrew.mxcl.redis.plist ~/library/launchagents/
设置别名
最后可以对所有服务的启动停止设置别名方便操作vim ~/.bash_profile
加入alias nginx.start='launchctl load -w ~/library/launchagents/homebrew.mxcl.nginx.plist'alias nginx.stop='launchctl unload -w ~/library/launchagents/homebrew.mxcl.nginx.plist'alias nginx.restart='nginx.stop && nginx.start'alias php-fpm.start="launchctl load -w ~/library/launchagents/homebrew.mxcl.php55.plist"alias php-fpm.stop="launchctl unload -w ~/library/launchagents/homebrew.mxcl.php55.plist"alias php-fpm.restart='php-fpm.stop && php-fpm.start'alias mysql.start="launchctl load -w ~/library/launchagents/homebrew.mxcl.mysql.plist"alias mysql.stop="launchctl unload -w ~/library/launchagents/homebrew.mxcl.mysql.plist"alias mysql.restart='mysql.stop && mysql.start'alias redis.start="launchctl load -w ~/library/launchagents/homebrew.mxcl.redis.plist"alias redis.stop="launchctl unload -w ~/library/launchagents/homebrew.mxcl.redis.plist"alias redis.restart='redis.stop && redis.start'alias memcached.start="launchctl load -w ~/library/launchagents/homebrew.mxcl.memcached.plist"alias memcached.stop="launchctl unload -w ~/library/launchagents/homebrew.mxcl.memcached.plist"alias memcached.restart='memcached.stop && memcached.start'
mongodb
mongodb可以说是最简单的一个,直接执行brew install mongodb
成功安装后的提示:#开机启动to have launchd start mongodb at login:
ln -sfv /usr/local/opt/mongodb/*.plist ~/library/launchagents
#立刻运行
then to load mongodb now:
launchctl load ~/library/launchagents/homebrew.mxcl.mongodb.plist
#如果不想加入到开机启动,也可以收到运行
or, if you don't want/need launchctl, you can just run:
mongod --config /usr/local/etc/mongod.conf
phpmyadmin
phpmyadmin几乎是管理mysql最容易的web应用了吧,每次我都顺道装上。
去凯发ag旗舰厅登录网址下载官网下载最新的版本
- 解压到~/sites/phpmyadmin下
- 在phpmyadmin目录下创建一个可写的config目录
- 打开http://localhost/phpmyadmin/setup,安装一个服务,最后保存(这里只需要输入帐号密码就够了)
- 将config下生成的config.inc.php移到phpmyadmin根目录下
- 删除config
这样就装好了,虽然可能有点小复杂,但是来一次就习惯了。
这里很可能会遇到2002错误,就是找不到mysql.sock的问题,用下面方法解决sudo mkdir /var/mysql
sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock
rockmongo
rockmongo是mongodb很好用的一个web应用,安装也很容易去凯发ag旗舰厅登录网址下载官网下载最新版本
解压到~/sites/rockmongo下
运行http://localhost/rockmongo即可
完成
这样就在mac下配置好一个php开发环境了,enjoy it!
原文链接:http://outofmemory.cn/php/mac-install-lnmp-env
总结
以上是凯发ag旗舰厅登录网址下载为你收集整理的brew install php55redis,mac下安装lnmp环境的全部内容,希望文章能够帮你解决所遇到的问题。
如果觉得凯发ag旗舰厅登录网址下载网站内容还不错,欢迎将凯发ag旗舰厅登录网址下载推荐给好友。
- 上一篇:
- 下一篇: