日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > php >内容正文

php

lnmp php fpm 默认,LNMP(PHP-FPM)

發(fā)布時間:2025/3/19 php 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 lnmp php fpm 默认,LNMP(PHP-FPM) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

nginx本身不能處理PHP,它只是個web服務(wù)器,當(dāng)接收到請求后,如果是php請求,則發(fā)給php解釋器處理,并把結(jié)果返回給客戶端。nginx一般是把請求發(fā)fastcgi管理進(jìn)程處理,fascgi管理進(jìn)程選擇cgi子進(jìn)程處理結(jié)果并返回被nginx

本文以php-fpm為例介紹如何使nginx支持PHP

一、編譯安裝php-fpm

什么是PHP-FPM

PHP-FPM是一個PHP FastCGI管理器,是只用于PHP的,可以在 http://php-fpm.org/download下載得到.

PHP-FPM其實是PHP源代碼的一個補(bǔ)丁,旨在將FastCGI進(jìn)程管理整合進(jìn)PHP包中。必須將它patch到你的PHP源代碼中,在編譯安裝PHP后才可以使用。

新版PHP已經(jīng)集成php-fpm了,不再是第三方的包了,推薦使用。PHP-FPM提供了更好的PHP進(jìn)程管理方式,可以有效控制內(nèi)存和進(jìn)程、可以平滑重載PHP配置,比spawn-fcgi具有更多優(yōu)點,所以被PHP官方收錄了。在./configure的時候帶 �enable-fpm參數(shù)即可開啟PHP-FPM。

安裝前準(zhǔn)備

centos下執(zhí)行

yum?-y?install?gcc?automake?autoconf?libtool?make

yum?-y?install?gcc?gcc-c++?glibc

yum?-y?install?libmcrypt-devel?mhash-devel?libxslt-devel?\

libjpeg?libjpeg-devel?libpng?libpng-devel?freetype?freetype-devel?libxml2?libxml2-devel?\

zlib?zlib-devel?glibc?glibc-devel?glib2?glib2-devel?bzip2?bzip2-devel?\

ncurses?ncurses-devel?curl?curl-devel?e2fsprogs?e2fsprogs-devel?\

krb5?krb5-devel?libidn?libidn-devel?openssl?openssl-devel

新版php-fpm安裝(推薦安裝方式)

wget

tar?zvxf?php-5.4.7.tar.gz

cd?php-5.4.7

./configure?--prefix=/usr/local/php??--enable-fpm?--with-mcrypt?\--enable-mbstring?--disable-pdo?--with-curl?--disable-debug??--disable-rpath?\--enable-inline-optimization?--with-bz2??--with-zlib?--enable-sockets?\--enable-sysvsem?--enable-sysvshm?--enable-pcntl?--enable-mbregex?\--with-mhash?--enable-zip?--with-pcre-regex?--with-mysql?--with-mysqli?\--with-gd?--with-jpeg-dir

make?all?install

下面是對php-fpm運行用戶進(jìn)行設(shè)置

cd?/usr/local/php

cp?etc/php-fpm.conf.default?etc/php-fpm.conf

vi?etc/php-fpm.conf

修改

user = www-data

group = www-data

如果www-data用戶不存在,那么先添加www-data用戶

groupadd www-data

useradd -g www-data www-data

二、編譯安裝nginx

2.安裝PCRE庫

ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/?下載最新的 PCRE 源碼包,使用下面命令下載編譯和安裝 PCRE 包:

cd?/usr/local/src

wget?ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.34.tar.gz

tar?-zxvf?pcre-8.34.tar.gz

cd?pcre-8.34

./configure

make

make?install

3.安裝zlib庫

http://zlib.net/zlib-1.2.8.tar.gz?下載最新的 zlib 源碼包,使用下面命令下載編譯和安裝 zlib包:

cd?/usr/local/src

wget?http://zlib.net/zlib-1.2.8.tar.gz

tar?-zxvf?zlib-1.2.8.tar.gz

cd?zlib-1.2.8

./configure

make

make?install

5.安裝nginx

Nginx 一般有兩個版本,分別是穩(wěn)定版和開發(fā)版,您可以根據(jù)您的目的來選擇這兩個版本的其中一個,下面是把 Nginx 安裝到 /usr/local/nginx 目錄下的詳細(xì)步驟:

cd?/usr/local/src

wget?http://nginx.org/download/nginx-1.4.2.tar.gz

tar?-zxvf?nginx-1.4.2.tar.gz

cd?nginx-1.4.2

./configure?--sbin-path=/usr/local/nginx/nginx?\--conf-path=/usr/local/nginx/nginx.conf?\-?\--with-http_ssl_module?\--with-pcre=/usr/local/src/pcre-8.34?\--with-zlib=/usr/local/src/zlib-1.2.8?\--with-openssl=/usr/local/src/openssl-1.0.1c

make

make?install

--with-pcre=/usr/local/src/pcre-8.34 指的是pcre-8.34 的源碼路徑。--with-zlib=/usr/local/src/zlib-1.2.7 指的是zlib-1.2.7 的源碼路徑。

三、修改nginx配置文件以支持php-fpm

nginx安裝完成后,修改nginx配置文件為,nginx.conf(目錄為/usr/local/nginx)

其中server段增加如下配置,注意標(biāo)紅內(nèi)容配置,否則會出現(xiàn)No input file specified.錯誤

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000

#

location ~ \.php$ {

root html;

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

include fastcgi_params;

}

默認(rèn)網(wǎng)站根目錄為/usr/local/nginx/html,要將它改成/homw/www

vi /usr/local/nginx/conf/nginx.conf

將其中的

location / {

root ? html;

index ?index.php index.html index.htm;

}

改為

location / {

root ? /home/www;

index ?index.php index.html index.htm;

}

然后再將

location ~ \.php$ {

root ? ? ? ? ? html;

fastcgi_pass ? 127.0.0.1:9000;

fastcgi_index ?index.php;

fastcgi_param ?SCRIPT_FILENAME ?$document_root$fastcgi_script_name;

include ? ? ? ?fastcgi_params;

}

改為

location ~ \.php$ {

root ? ? ? ? ? /home/www;

fastcgi_pass ? 127.0.0.1:9000;

fastcgi_index ?index.php;

fastcgi_param ?SCRIPT_FILENAME ?$document_root$fastcgi_script_name;

include ? ? ? ?fastcgi_params;

}

然后重啟nginx

四、創(chuàng)建測試php文件

創(chuàng)建php文件

在/usr/local/nginx/html下創(chuàng)建index.php文件,輸入如下內(nèi)容

echo?phpinfo();

?>

五、啟動服務(wù)

啟動php-fpm和nginx

/usr/local/php/sbin/php-fpm

/usr/local/nginx/nginx

六.?php-fpm 5.4.7 如何關(guān)閉 重啟?

php 5.4.7 下的php-fpm 不再支持 php-fpm 以前具有的 /usr/local/php/sbin/php-fpm (start|stop|reload)等命令,需要使用信號控制:

6.?mcrypt.h not found. Please reinstall libmcrypt

apt-get install libmcrypt-dev

或者

cd /usr/local/src

wget http://softlayer.dl.sourceforge.net/sourceforge/mcrypt/libmcrypt-2.5.8.tar.gz

tar -zxvf libmcrypt-2.5.8.tar.gz

cd /usr/local/src/libmcrypt-2.5.8

./configure --prefix=/usr/local

make

make install

7.?php-fpm 5.4.7 如何關(guān)閉 重啟?

php 5.4.7 下的php-fpm 不再支持 php-fpm 以前具有的 /usr/local/php/sbin/php-fpm (start|stop|reload)等命令,需要使用信號控制:

master進(jìn)程可以理解以下信號

INT, TERM 立刻終止

QUIT 平滑終止

USR1 重新打開日志文件

USR2 平滑重載所有worker進(jìn)程并重新載入配置和二進(jìn)制模塊

示例:

php-fpm 關(guān)閉:

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

php-fpm 重啟:

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

總結(jié)

以上是生活随笔為你收集整理的lnmp php fpm 默认,LNMP(PHP-FPM)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。