首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > PHP >

Mac Lion下安装配置Nginx PHP PHP-FPM

2012-06-30 
Mac Lion上安装配置Nginx PHP PHP-FPM!--?xml version1.0 encodingUTF-8 standaloneno?--Insta

Mac Lion上安装配置Nginx PHP PHP-FPM

<!--?xml version="1.0" encoding="UTF-8" standalone="no"?-->

Install Nginx And PHP-FPM On Mac Lion

安装Nginx

方法1:使用brew.

brew install nginx

按提示操作,安装完成后nginx的配置文件在/usr/local/etc/nginx/nginx.conf。

启动nginx:

nginx?或者?sudo nginx

注意:若nginx的监听端口为1024以下,则需要使用sudo,否则会出现Permission denied.

停止?nginx

(sudo)nginx-sstop

自动启动

You can start nginx automatically on login running as your user with:

mkdir -p ~/Library/LaunchAgents

cp /usr/local/Cellar/nginx/1.0.8/org.nginx.nginx.plist ~/Library/LaunchAgents/

launchctl load -w ~/Library/LaunchAgents/org.nginx.nginx.plist

禁止自动启动

launchctl unload -w ~/Library/LaunchAgents/org.nginx.nginx.plist

rm ~/Library/LaunchAgents/org.nginx.nginx.plist

方法2:下载源码编译

cd ~/SourceCache

curl -O?http://nginx.org/download/nginx-1.0.4.tar.gz

tar -xzf nginx-1.0.4.tar.gz

cd nginx-1.0.4

brew install pcre

./configure --prefix=/usr/local/nginx --pid-path=/usr/local/nginx/var/run/nginx.pid --with-http_ssl_module

make

sudo make install

自动启动

sudo nano /Library/LaunchDaemons/org.nginx.nginx.plist

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">

<plist version="1.0">z

<dict>

<key>KeepAlive</key>

<true/>

<key>Label</key>

<string>org.nginx.nginx</string>

<key>LaunchOnlyOnce</key>

<true/>

<key>NetworkState</key>

<true/>

<key>ProgramArguments</key>

<array>

<string>/usr/local/nginx/sbin/nginx</string>

</array>

<key>RunAtLoad</key>

<true/>

<key>ServiceDescription</key>

<string>Nginx web server</string>

<key>StandardErrorPath</key>

<string>/var/log/system.log</string>

</dict>

</plist>

配置nginx

sudo mkdir /usr/local/etc/nginx/sites-available

sudo mkdir /usr/local/etc/nginx/sites-enable

sudo nano /usr/local/etc/nginx/nginx.conf

http{

server{

...

}

include sites-enabled/*.conf;

}

sudo nano /usr/local/nginx/conf/php.conf

fastcgi_intercept_errors on;

location ~ \.php$

{

fastcgi_split_path_info ^(.+\.php)(/.+)$;

fastcgi_param PATH_INFO $fastcgi_path_info;

fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;

fastcgi_param QUERY_STRING $query_string;

fastcgi_param REQUEST_METHOD $request_method;

fastcgi_param CONTENT_TYPE $content_type;

fastcgi_param CONTENT_LENGTH $content_length;

fastcgi_param SCRIPT_NAME $fastcgi_script_name;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

fastcgi_param REQUEST_URI $request_uri;

fastcgi_param DOCUMENT_URI $document_uri;

fastcgi_param DOCUMENT_ROOT $document_root;

fastcgi_param SERVER_PROTOCOL $server_protocol;

fastcgi_param GATEWAY_INTERFACE CGI/1.1;

fastcgi_param SERVER_SOFTWARE nginx;

fastcgi_param REMOTE_ADDR $remote_addr;

fastcgi_param REMOTE_PORT $remote_port;

fastcgi_param SERVER_ADDR $server_addr;

fastcgi_param SERVER_PORT $server_port;

fastcgi_param SERVER_NAME $server_name;

fastcgi_read_timeout 600; # Set fairly high for debugging

fastcgi_pass 127.0.0.1:9001; # Non-default port

fastcgi_index index.php;

}

sudo nano /usr/local/nginx/conf/sites-available/example.conf

server

{

listen 80;

server_name?example.local;

root /Users/collin/Sites/example/public;

access_log /Users/collin/Sites/example/logs/access_log.txt;

error_log /Users/collin/Sites/example/logs/error_log.txt;

location /

{

index index.php;

try_files $uri $uri/ /index.php?q=$uri&$args;

}

include php.conf;

}

安装PHP PHP-FPM

下载源码

curl -O?http://us2.php.net/distributions/php-5.3.6.tar.gz

tar -xzf php-5.3.6.tar.gz

cd php-5.3.6

编译

./configure --prefix=/usr/local/php \

--mandir=/usr/share/man \

--infodir=/usr/share/info \

--sysconfdir=/private/etc \

--enable-cli \

--with-config-file-path=/usr/local/php/etc \

--with-libxml-dir=/usr \

--enable-xml \

--with-openssl=/usr \

--with-kerberos=/usr \

--with-zlib=/usr \

--enable-bcmath \

--with-bz2=/usr \

--enable-calendar \

--with-curl=/usr \

--enable-exif \

--enable-ftp \

--with-gd \

--with-jpeg-dir=/usr/local/Cellar/jpeg/8c/lib \

--with-png-dir=/usr/X11 \

--enable-gd-native-ttf \

--with-ldap=/usr \

--with-ldap-sasl=/usr \

--enable-magic-quotes \

--enable-mbstring \

--enable-mbregex \

--enable-json \

--with-mysql=mysqlnd \

--with-mysqli=mysqlnd \

--with-pdo-mysql=mysqlnd \

--with-mysql-sock=/tmp/mysql.sock \

--with-iodbc=/usr \

--enable-shmop \

--with-snmp=/usr \

--enable-soap \

--enable-sockets \

--with-sqlite \

--enable-sysvmsg \

--enable-sysvsem \

--enable-sysvshm \

--enable-wddx \

--enable-fpm \

--with-mhash \

--with-mcrypt \

--with-xmlrpc \

--enable-xmlwriter \

--enable-xmlreader \

--with-iconv-dir=/usr \

--with-xsl=/usr \

--enable-zend-multibyte \

--enable-zip \

--with-pcre-regex=/usr \

--with-pdo-sqlite \

--enable-pdo \

--enable-dba \

--with-freetype-dir=/usr/X11 \

--enable-dom \

--enable-gd-native-ttf \

--enable-posix \

--enable-fileinfo


make

sudo make install

配置PHP&PHP-FPM

sudo cp /private/etc/php-fpm.conf.default /private/etc/php-fpm.conf

sudo nano /private/etc/php-fpm.conf

[global]

pid = /usr/local/php/var/run/php-fpm.pid

daemonize = yes

[www]

listen = 127.0.0.1:9000

user = ray

group = staff

pm = dynamic

pm.max_children = 10

pm.start_servers = 5

pm.min_spare_servers = 5

pm.max_spare_servers = 10

pm.max_requests = 500

sudo mkdir /usr/local/php/etc

sudo cp /private/etc/php.ini.default /usr/local/php/etc/php.ini

自动启动php-fpm

sudo nano /Library/LaunchDaemons/net.php.php-fpm.plist

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">

<plist version="1.0">

<dict>

<key>KeepAlive</key>

<true/>

<key>Label</key>

<string>net.php.php-fpm</string>

<key>LaunchOnlyOnce</key>

<true/>

<key>NetworkState</key>

<true/>

<key>ProgramArguments</key>

<array>

<string>/usr/local/php/sbin/php-fpm</string>

</array>

<key>RunAtLoad</key>

<true/>

<key>ServiceDescription</key>

<string>PHP FastCGI Process Manager</string>

<key>StandardErrorPath</key>

<string>/var/log/system.log</string>

</dict>

</plist>

停止php-fpm

sudo kill `cat /usr/local/php/var/run/php-fpm.pid`

启动?php-fpmsudo /usr/local/php/sbin/php-fpm.dSYM

热点排行