首页 php教程 php手册 mac os x安装ngigx+php fastcgi+mysql+memcache详细流程

mac os x安装ngigx+php fastcgi+mysql+memcache详细流程

Jun 06, 2016 pm 07:40 PM
mac 安装

Part 1: MacPorts Mac上装软件常用的是MacPorts和homebrew,这个软件会很方便地提供软件的 安装 。装这些前先得装Xcode,Xcode在appstore上有,一个多G,下载 安装 ,完成后在launchpad上回有Xcode图标,要点击才是正式 安装 ,装完后你在终端输入gcc -v,发

Part 1: MacPorts

Mac上装软件常用的是MacPorts和homebrew,这个软件会很方便地提供软件的安装。装这些前先得装Xcode,Xcode在appstore上有,一个多G,下载安装,完成后在launchpad上回有Xcode图标,要点击才是正式安装,装完后你在终端输入gcc -v,发现无此命令,没这个命令可没法装软件哦,应该是Xcode默认安装没有装完整,打开Xcode,点击左上方Xcode-》Open develop tools-》more develop tools,进入Xcode的网页搜索UNIX,安装command_line_tools_for_xcode_.dmg,完成后再进入终端,输入gcc -v,ok有了,哈哈哈。

我使用的是macports安装,macports到http://www.macports.org/install.php下载dmg文件安装就可以了,安装成功后,在终端输入

port list #可以看所有软件列表

port search xxx #可以搜索是否有该软件

port install xxx #安装

port uninstall xxx #卸载

port clean xxx #删除安装临时文件

Ps:homebrew的安装

 

首先:
sudo chown -R `whoami` /usr/local

然后可以正式开始安装,我推荐的安装方式是先用 git-osx-installer 装上 git,然后用 git 安装

cd /usr/local

git init

git remote add origin git://github.com/mxcl/homebrew.git

git pull origin master

装完后命令与port命令差不多 比如 brew search;brew install

Part 2: Nginx

 

在终端上输入

sudo port install nginx spawn-fcgi

安装完成后启动nginx会说没有nginx.conf文件,到/opt/local/etc/nginx目录下看到以下几个文件:

fastcgi_params.example koi-utf koi-win mime.types.example nginx.conf.example win-utf

直接复制example文件:

sudo mv mime.types.example mime.types

sudo mv nginx.conf.example nginx.conf

启动nginx:

sudo nginx

访问http://127.0.0.1/,就可以看到NginxWelcome页面。

sudo nginx -t 检测配置文件是否有效

sudo nginx -s reload 重启

sudo nginx -h # 帮助

重点来了

1、让nginx开机自动启动

vi /Library/LaunchDaemons/org.macports.nginx.plist

内容为

 

/span>

"http://www.apple.com/DTDs/PropertyList-1.0.dtd" >

Labelorg.macports.nginx

ProgramArguments

        /opt/local/bin/daemondo

        --label=nginx

        --start-cmd

        /opt/local/sbin/nginx

        ;

        --pid=fileauto

        --pidfile

        /opt/local/var/run/nginx/nginx.pid

Debug

Disabled

KeepAlive

如果文件已经有内容直接退出vi

执行

sudo launchctl load -w /Library/LaunchDaemons/org.macports.nginx.plist

这样nginx开机就回自动启动

2、修改nginx.conf内容

vi /opt/local/etc/nginx/nginx.conf

下面是我的内容

 

#user  nobody;

user  www www;

worker_processes  1;

error_log  /Users/apple/logs/nginx_errors.log;

events {

    worker_connections  4098;

}

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  /Users/apple/logs/access.log  main;

    sendfile        on;

    tcp_nopush     on;

    tcp_nodelay         on;

                fastcgi_connect_timeout 300;

                fastcgi_send_timeout 300;

                fastcgi_read_timeout 300;

                fastcgi_buffer_size 64k;

                fastcgi_buffers 4 64k;

                fastcgi_busy_buffers_size 128k;

                fastcgi_temp_file_write_size 256k;

    #keepalive_timeout  0;

    keepalive_timeout  65;

    gzip  on;

    gzip_disable "MSIE [1-6]\.(?!.*SV1)";

  include /opt/local/etc/nginx/conf.d/*.conf;

    include /opt/local/etc/nginx/sites-enabled/*;

}

然后建立目录

sudo mkdir /opt/local/etc/nginx/sites-enabled

进入cd /opt/local/etc/nginx/sites-enabled

编辑一个站点的conf文件

我建了一个default,内容如下

 

server {

    listen   80; ## listen for ipv4

    listen   [::]:80 default ipv6only=on; ## listen for ipv6

    server_name  localhost;

    access_log  /Users/apple/logs/localhost.access.log;

    location / {

        root  /Users/apple/phpdocs;

        index index.php index.html index.htm;

    }

 

    location ~ \.php$ {

        fastcgi_pass   127.0.0.1:9000;

        fastcgi_index  index.php;

        fastcgi_param  SCRIPT_FILENAME  /Users/apple/phpdocs$fastcgi_script_name;

        include fastcgi_params;

    }

}

保存后在相应的路径上建立log文件和html文件

 

这个时候先不要放index.php,会出现bad gatway错误,咱们还没装php和fastcgi呢

 

Part 3: PHP

 

在终端上输入

 

安装php5,扩展模块根据自己的需要调整

 port install php5 +fastcgi fcgi php5-gd php5-mysql php5-sqlite php5-eaccelerator php5-curl php5-iconv php5-mcrypt

安装完成后,到/opt/local/etc/php5下,cp php.ini-recommended php.ini
然后修改几个项:
error_reporting = E_ALL & ~E_NOTICE
display_errors = On
error_log = /Users/jonathan/logs/php5/error.log
date.timezone = Asia/Shanghai
手动创建/Users/jonathan/logs/php5/error.log日志

         重点来了

我们要再写一个plist文件跑fastcgi

       vi /Library/LaunchDaemons/org.macports.phpfcgi.plist

       内容如下

 

  Labelorg.macports.phpfcgi

  Debug

  OnDemand

  RunAtLoad

  EnvironmentVariables

  

    PHP_FCGI_CHILDREN2

    PHP_FCGI_MAX_REQUESTS5000

  

  LaunchOnlyOnce

  ProgramArguments

  

    /opt/local/bin/spawn-fcgi

    -C 2

    -p 9000

    -f /opt/local/bin/php-cgi

  

保存后输入

sudo launchctl load -w /Library/LaunchDaemons/org.macports. phpfcgi.plist

这样就自动启动php fastcgi

现在去网站目录放个index.php,看下phpinfo()吧

Part4: 安装MySQL

安装mysql很方便,去mysql网站下个dmg吧,有三个文件要安装,一个是mysql安装文件,一个是mysql自动启动,一个是系统设置里的添加项控制mysql的开关。

装完以后下载phpmyadmin到网站目录,

 

phpMyAdmin目录的config.sample.inc.php命名为config.inc.php

打开config.inc.php,做如下修改:

$cfg['blowfish_secret'] = '';//用于Cookie加密,随意的长字符串

$cfg['Servers'][$i]['host'] = '127.0.0.1';//MySQL守护程序做了IP绑定

$cfg['Servers'][$i]['AllowNoPassword'] = false;//可以访问无密码的MySQL

web访问phpMyAdmin,并修改MySQL密码不为空。

Part4: 安装memcache

装这个本来以为可以用port install php5-memcache,结果port的编译包可能有问题,不能building memcache,只有自己编译了

先装libevent

port install libevent

安装完后去http://pecl.php.net/package/memcache下载最新的版本,下载完成后解压,进入到文件夹里,依次执行以下命令:

phpize
./configure
make
make install

 编译完成后memcache.so会放到/opt/local/lib/php/extensions/debug-non-zts-xxxxxxx目录下

写一个php加载memcache的配置文件

vi /opt/local/var/db/php5/memcache.ini

内容为:extension=memcache.so

保存退出

然后写一个memcache的启动脚本

vi /etc/init.d/memcached

内容为:

#!/bin/bash

DAEMON=/opt/local/bin/memcached

NAME=memcached

DESC=memcached

USER=nobody

HOST=0.0.0.0

PORT=11211

MEM=32

LOG=/Users/apple/logs/memcached/info.log

 

case "$1" in

  start)

        echo -n "Startring $DESC: "

        $DAEMON -m $MEM -p $PORT -l $HOST -u $USER -d -vv >> $LOG 2>&1

        echo "$NAME."

        ;;

  stop)

        echo -n "Stopping $DESC: "

        killall $NAME

        echo "$NAME."

        ;;

  restart)

        echo -n "Restarting $DESC: "

        killall $NAME

        sleep 1

        $DAEMON -m $MEM -p $PORT -l $HOST -u $USER -d -vv >> $LOG 2>&1

        echo "$NAME."

        ;;

  *)

        echo "Usage: $NAME {start|stop|restart}" >&2

        exit 1

        ;;

esac

 

exit 0

保存后记得赋予可执行权限:chmod +x /etc/init.d/memcached
      最后不要忘记创建日志文件:/Users/apple/logs/memcached/info.log

然后让memcached开机启动

写一个plist文件

vi /Library/LaunchDaemons/org.memcache.plist

内容为

 

  Labelorg.macports.memcache

  OnDemand

  Username

    nobody

  ProgramArguments

  

    /etc/init.d/memcached

    start

  

  Debug

  Disabled

  RunAtLoad

  KeepAlive

同样保存完后运行

sudo launchctl load -w /Library/LaunchDaemons/org.memcache.plist

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

Win11系统无法安装中文语言包的解决方法 Win11系统无法安装中文语言包的解决方法 Mar 09, 2024 am 09:48 AM

Win11系统无法安装中文语言包的解决方法随着Windows11系统的推出,许多用户开始升级他们的操作系统以体验新的功能和界面。然而,一些用户在升级后发现他们无法安装中文语言包,这给他们的使用体验带来了困扰。在本文中,我们将探讨Win11系统无法安装中文语言包的原因,并提供一些解决方法,帮助用户解决这一问题。原因分析首先,让我们来分析一下Win11系统无法

无法在VirtualBox中安装来宾添加 无法在VirtualBox中安装来宾添加 Mar 10, 2024 am 09:34 AM

您可能无法在OracleVirtualBox中将来宾添加安装到虚拟机。当我们点击Devices>InstallGuestAdditionsCDImage时,它只会抛出一个错误,如下所示:VirtualBox-错误:无法插入虚拟光盘C:将FilesOracleVirtualBoxVBoxGuestAdditions.iso编程到ubuntu机器中在这篇文章中,我们将了解当您无法在VirtualBox中安装来宾添加组件时该怎么办。无法在VirtualBox中安装来宾添加如果您无法在Virtua

3 招教你轻松自定义 Mac 计算机名、主机名和 Bonjour 名称 3 招教你轻松自定义 Mac 计算机名、主机名和 Bonjour 名称 Mar 06, 2024 pm 12:20 PM

许多Mac用户往往习惯保留设备的默认名称,可能从未考虑过更改。很多人选择沿用初始设置时的名称,例如“张三的MacBookAir”或简单的“iMac”。学会如何修改Mac的名称是一项非常实用的技能,尤其是在拥有多台设备时,可以帮助你快速区分和管理它们。接下来,我们将一步步教你如何在macOS系统中更改计算机名称、主机名和Bonjour名称(本地主机名)。为什么要更改Mac名称?修改Mac名称不仅能彰显个性,还能有助于提升使用体验:个性化你的Mac:默认名称可能并不符合你的口味,换一个自己喜欢的名字

百度网盘下载成功但是安装不了怎么办? 百度网盘下载成功但是安装不了怎么办? Mar 13, 2024 pm 10:22 PM

  如果你已经成功下载了百度网盘的安装文件,但是无法正常安装,可能是软件文件的完整性发生了错误或者是残留文件和注册表项的问题,下面就让本站来为用户们来仔细的介绍一下百度网盘下载成功但是安装不了问题解析吧。  百度网盘下载成功但是安装不了问题解析  1、检查安装文件完整性:确保下载的安装文件完整且没有损坏。你可以重新下载一次,或者尝试使用其他可信的来源下载安装文件。  2、关闭杀毒软件和防火墙:某些杀毒软件或防火墙程序可能会阻止安装程序的正常运行。尝试将杀毒软件和防火墙禁用或退出,然后重新运行安装

如何在Linux上安装安卓应用? 如何在Linux上安装安卓应用? Mar 19, 2024 am 11:15 AM

在Linux上安装安卓应用一直是许多用户所关心的问题,尤其是对于喜欢使用安卓应用的Linux用户来说,掌握如何在Linux系统上安装安卓应用是非常重要的。虽然在Linux系统上直接运行安卓应用并不像在Android平台上那么简单,但是通过使用模拟器或者第三方工具,我们依然可以在Linux上愉快地享受安卓应用的乐趣。下面将为大家介绍在Linux系统上安装安卓应

微信mac如何设置语音消息自动转成文字-设置语音转成文字的方法 微信mac如何设置语音消息自动转成文字-设置语音转成文字的方法 Mar 19, 2024 am 08:28 AM

近日有一些小伙伴咨询小编微信mac如何设置语音消息自动转成文字?下面就为大家带来了微信mac设置语音消息自动转成文字的方法,有需要的小伙伴可以来了解了解哦。第一步:首先,打开Mac版微信。如图:第二步:接着,点击『设置』。如图:第三步:然后,点击『通用』。如图:第四步:再勾选『聊天中的语音消息自动转成文字』选项即可。如图:第五步:最后,关闭窗口即可。如图:

在Mac上将HEIC照片转换为JPG的3种方法 在Mac上将HEIC照片转换为JPG的3种方法 Mar 15, 2024 pm 08:43 PM

默认情况下,iPhone以HEIC格式从相机拍摄照片。HEIC代表高效图像容器,可以容纳比PNG或JPG文件更多的像素数据,与其他格式相比,在iPhone存储上占用的空间显着减少。这些文件在iPhone上效果最佳,但并未在互联网上得到广泛接受,因为当您与非Apple设备共享这些文件时,它们通常会导致图片模糊/有颗粒感。为了确保HEIC图片在其他设备上可兼容,可能需要将其转换为JPG格式。本文将介绍在Mac上将HEIC图像转换为JPG的方法。如何在Mac上将HEIC照片转换为JPG[3种方法]方法

在Ubuntu 24.04上安装和运行Ubuntu笔记应用程序的方法 在Ubuntu 24.04上安装和运行Ubuntu笔记应用程序的方法 Mar 22, 2024 pm 04:40 PM

在高中学习的时候,有些学生做的笔记非常清晰准确,比同一个班级的其他人都做得更多。对于一些人来说,记笔记是一种爱好,而对于其他人来说,当他们很容易忘记任何重要事情的小信息时,则是一种必需品。Microsoft的NTFS应用程序对于那些希望保存除常规讲座以外的重要笔记的学生特别有用。在这篇文章中,我们将描述Ubuntu24上的Ubuntu应用程序的安装。更新Ubuntu系统在安装Ubuntu安装程序之前,在Ubuntu24上我们需要确保新配置的系统已经更新。我们可以使用Ubuntu系统中最著名的“a

See all articles