- 浏览: 1124241 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
MyEyeOfJava:
产生问题的主要原因:1.方洪波与南枫公司的直接主管李琼在合作共 ...
人力资源管理案例-左右为难的经理 -
吾名长弓:
学习了,作为一个管理新手,从文章里学到了很多东西,感谢 ...
2018新年管理感言 -
MyEyeOfJava:
非常不错,看过很多文章,说到管理者必然不能抛弃技术,我的主张是 ...
IT行业技术部门人员架构设计 -
小灯笼:
JMeter测试从入门到精通网盘地址:https://pan. ...
LR与Jmeter相关资料 -
flying6071:
“(2)CERT.SF:这是对摘要的签名文件。对前一步生成的M ...
Android签名与认证详细分析之一(CERT.RSA剖析)
网上搜索 大部分都是讲怎么编译安装的, 自己也搜索过ubuntu的源, 没有单独的php5-fpm的安装包, 不过按照一个老外的安装方法, 还是可以不用编译的。
第一步:
aptitude install python-software-properties
第二步:
add-apt-repository ppa:brianmercer/php
第三步:
aptitude -y update
第四步:
aptitude -y install php5-fpm
安装好后, 配置一下 /etc/php5/fpm/php5-fpm.conf
pm.max_children 设置大一点, 默认是10, 这是php5-fpm的进程数。
然后就是 service php5-fpm start 启动。
php5-fpm是可以平滑重启的,修改了php.ini文件后, 用service php5-fpm reload 就能重新加载配置文件。
I've been using the dotdeb.org pacakges for my ubuntu 9.10 servers and they've been running well, except for some necessary patches to contrib modules for php 5.3.
Now ubuntu 10.04 lucid is out and has php 5.3.2 in it. While php5-fpm won't be included in an official release until at least 5.4, it has become a part of official php development and is contained in the php version control.
In order to ease installation and upgrade, I've created a debian style .deb package for php5-fpm on launchpad at https://launchpad.net/~brianmercer/+archive/php/. Unlike the dotdeb package, this one is adapted from the official ubuntu lucid source package and so has identical patches and compile options to the ubuntu 10.04 cgi and cli sapis.
This package will only work on the Ubuntu 10.04 lucid release.
and if you don't want to get the unsigned package warnings, add the launchpad key for the ppa with this command:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 8D0DC64F
Then it's the usual:
You can then start (or stop or restart) php5-fpm with:
The new package works with all the usual ubuntu php extensions like php5-mysql, php5-gd, php-apc and php5-memcache.
The config file is now in an ini style format instead of the xml format and is located at /etc/php5/fpm/php5-fpm.conf. By default it listens on 127.0.0.1:9000 but I typically change the conf to use a unix socket at /var/run/php5-fpm.sock. If you use a socket, you should also uncomment the user and group and mode in the conf file. (I also change the mode to 0660)
I've set the package to start up 10 children by default. You can increase or decrease that amount depending on your memory constraints. There is a "dynamic" setting in the conf file with starting number, max number, max idle, etc. This "apache-like" system will start and stop children as needed depending on load. However, it is still experimental and it may be better to stick with the static setting for now.
I've also set up a second repository at https://launchpad.net/~brianmercer/+archive/fcgiwrap with fcgiwrap. nginx does not have the built in ability to act as a cgi gateway for perl scripts, etc, the way that apache and most other web servers do. In order to use things like awstats.pl or nagios you need to proxy those requests to a backend. I previously ran thttpd and let nginx proxy *.pl and *.cgi requests to thttpd. (boa also worked). However, Grzegorz Nosek has written a small wrapper script in C to handle these requests which works well. http://nginx.localdomain.pl/wiki/FcgiWrap
I've gone ahead and made a debian package from his code and put it up at https://launchpad.net/~brianmercer/+archive/fcgiwrap and it can be installed the same way as php5-fpm by adding the following to /etc/apt/sources.list:
and
My fcgiwrap package relies on spawn-fcgi but it has its own start/stop init script so you can use
It runs on 127.0.0.1:8000 by default but you can change the config file at /etc/default/fcgiwrap to also make it run as a unix socket at /var/run/fcgiwrap.sock.
Then you can put a location in your nginx config such as
You should be aware of the serious security implications of that section. You don't want someone uploading a nasty perl script to your server and running it. A section like that should only exist behind a protected subdomain or at least should have password authentication added to it. If you're only using awstats then instead of using the location above you can use one like this:
I hope these packages are useful and that they ease one of the complications of installing and using nginx.
Login or register to post comments
Comments
php5-fpm for Debian Lenny
Posted by omega8cc on May 23, 2010 at 4:41pm
Thanks for this how-to, Brian.
Since dotdeb.org has also php5-fpm for Debian Lenny and it works great, however still there are too many issues with PHP 5.3 in many contrib Drupal modules, so we are using it only for testing on our dev servers.
Simple how-to for all Debian fans:
See also: http://www.dotdeb.org/instructions/
~Grace
Login or register to post comments
I was using the dotdeb repos
Posted by brianmercer on May 23, 2010 at 5:26pm
I was using the dotdeb repos on ubuntu 9.10 for a while and they worked perfectly, and it's good of Guillaume Plessis to make those packages available. I also owe him thanks because I used his scripts to make my Ubuntu packages.
To use the dotdeb packages on Ubuntu instead of Debian you have to manually install two packages:
and one more if you use php5-mycrypt:
http://mirrors.kernel.org/ubuntu/pool/main/libt/libtool/libltdl3_1.5.26-...
I repackaged php5-fpm for Ubuntu on a launchpad ppa for 3 reasons:
First, I wanted to avoid the extra work for Ubuntu users of manually adding the packages above.
Second, I wanted to have php built with the identical compile options and patches as Ubuntu's current 10.04 php. Guillaume uses the php bundled gd (which is not a bad idea) and also the mysqlnd native driver, whereas Debian and Ubuntu use the official gd and the libmysql driver. There are also several code patches that Ubuntu applies that Guillaume doesn't. I wanted my php-fpm to match the decisions of the Ubuntu packagers.
Ubuntu has updated php5 twice this month to incremental releases php5-5.3.2-1ubuntu4.1 and php5-5.3.2-1ubuntu4.2 and I wanted to be able to track those patches immediately and add them to my php-fpm build.
Third, I wanted the latest version of php-fpm. Guillaume is using the fpm patch from last year that has proved very stable but didn't receive full attention from the fpm originator Andrei Nigmatulin. By the time version 5.3 and 5.2.13 were released, Andrei had already stopped updating his great work. As far as I know, there's no dev maintaining the 5.2.x branch.
Luckily, since then, fpm has been merged into the official php.net development trunk and is now actively maintained by Antony Dovgal and Jerome Loyet, two php.net devs. Jerome has put in some good work bringing in the apache-like dynamic child spawning, and Antony has been committing patches based on reported problems. They've also committed a conversion from an xml conf file to the ini format.
I'm using the very latest svn development version of fpm to get the benefits of the new code and watchful eye of php.net devs.
I completely agree with you about the state of Drupal contrib modules (and core) with respect to 5.3 compatibility. I'm up to nine patches that I have to apply now to core and to contrib modules that I use.
第一步:
aptitude install python-software-properties
第二步:
add-apt-repository ppa:brianmercer/php
第三步:
aptitude -y update
第四步:
aptitude -y install php5-fpm
安装好后, 配置一下 /etc/php5/fpm/php5-fpm.conf
pm.max_children 设置大一点, 默认是10, 这是php5-fpm的进程数。
然后就是 service php5-fpm start 启动。
php5-fpm是可以平滑重启的,修改了php.ini文件后, 用service php5-fpm reload 就能重新加载配置文件。
I've been using the dotdeb.org pacakges for my ubuntu 9.10 servers and they've been running well, except for some necessary patches to contrib modules for php 5.3.
Now ubuntu 10.04 lucid is out and has php 5.3.2 in it. While php5-fpm won't be included in an official release until at least 5.4, it has become a part of official php development and is contained in the php version control.
In order to ease installation and upgrade, I've created a debian style .deb package for php5-fpm on launchpad at https://launchpad.net/~brianmercer/+archive/php/. Unlike the dotdeb package, this one is adapted from the official ubuntu lucid source package and so has identical patches and compile options to the ubuntu 10.04 cgi and cli sapis.
This package will only work on the Ubuntu 10.04 lucid release.
In order to install the package, you need to add the following to your /etc/apt/sources.list file:
deb http://ppa.launchpad.net/brianmercer/php/ubuntu lucid main deb-src http://ppa.launchpad.net/brianmercer/php/ubuntu lucid main
and if you don't want to get the unsigned package warnings, add the launchpad key for the ppa with this command:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 8D0DC64F
Then it's the usual:
sudo aptitude update sudo aptitude install php5-fpm
You can then start (or stop or restart) php5-fpm with:
sudo service php5-fpm start
The new package works with all the usual ubuntu php extensions like php5-mysql, php5-gd, php-apc and php5-memcache.
The config file is now in an ini style format instead of the xml format and is located at /etc/php5/fpm/php5-fpm.conf. By default it listens on 127.0.0.1:9000 but I typically change the conf to use a unix socket at /var/run/php5-fpm.sock. If you use a socket, you should also uncomment the user and group and mode in the conf file. (I also change the mode to 0660)
I've set the package to start up 10 children by default. You can increase or decrease that amount depending on your memory constraints. There is a "dynamic" setting in the conf file with starting number, max number, max idle, etc. This "apache-like" system will start and stop children as needed depending on load. However, it is still experimental and it may be better to stick with the static setting for now.
I've also set up a second repository at https://launchpad.net/~brianmercer/+archive/fcgiwrap with fcgiwrap. nginx does not have the built in ability to act as a cgi gateway for perl scripts, etc, the way that apache and most other web servers do. In order to use things like awstats.pl or nagios you need to proxy those requests to a backend. I previously ran thttpd and let nginx proxy *.pl and *.cgi requests to thttpd. (boa also worked). However, Grzegorz Nosek has written a small wrapper script in C to handle these requests which works well. http://nginx.localdomain.pl/wiki/FcgiWrap
I've gone ahead and made a debian package from his code and put it up at https://launchpad.net/~brianmercer/+archive/fcgiwrap and it can be installed the same way as php5-fpm by adding the following to /etc/apt/sources.list:
deb http://ppa.launchpad.net/brianmercer/fcgiwrap/ubuntu lucid main deb-src http://ppa.launchpad.net/brianmercer/fcgiwrap/ubuntu lucid main
and
sudo aptitude update sudo aptitude install fcgiwrap
My fcgiwrap package relies on spawn-fcgi but it has its own start/stop init script so you can use
service fcgiwrap start
It runs on 127.0.0.1:8000 by default but you can change the config file at /etc/default/fcgiwrap to also make it run as a unix socket at /var/run/fcgiwrap.sock.
Then you can put a location in your nginx config such as
location ~ (.cgi|.pl)$ { # auth_basic "Restricted"; # auth_basic_user_file /var/private/htpasswd; # somewhere outside the http root gzip off; include /etc/nginx/fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_pass 127.0.0.1:8000; # fastcgi_pass unix:/var/run/fcgiwrap.sock; #if using unix socket instead of TCP }
You should be aware of the serious security implications of that section. You don't want someone uploading a nasty perl script to your server and running it. A section like that should only exist behind a protected subdomain or at least should have password authentication added to it. If you're only using awstats then instead of using the location above you can use one like this:
location = /awstats.pl { gzip off; root /usr/lib/cgi-bin; include /etc/nginx/fastcgi_params; fastcgi_param SCRIPT_FILENAME /usr/lib/cgi-bin/awstats.pl; fastcgi_pass 127.0.0.1:8000; # fastcgi_pass unix:/var/run/fcgiwrap.sock; } location ~ ^/awstats-icon/(.*)$ { alias /usr/share/awstats/icon/$1; }
I hope these packages are useful and that they ease one of the complications of installing and using nginx.
Login or register to post comments
Comments
php5-fpm for Debian Lenny
Posted by omega8cc on May 23, 2010 at 4:41pm
Thanks for this how-to, Brian.
Since dotdeb.org has also php5-fpm for Debian Lenny and it works great, however still there are too many issues with PHP 5.3 in many contrib Drupal modules, so we are using it only for testing on our dev servers.
Simple how-to for all Debian fans:
sudo echo "deb http://php53.dotdeb.org stable all" >> /etc/apt/sources.list sudo echo "deb-src http://php53.dotdeb.org stable all" >> /etc/apt/sources.list sudo apt-get update sudo apt-get -y install php5-cli php5-common php5-suhosin php5-memcache php5-imagick php5-apc php5-dev sudo apt-get -y install php5-curl php5-gd php5-imap php5-mcrypt php5-mysql php5-xsl php-pear sudo apt-get -y install php5-fpm php5-cgi invoke-rc.d php5-fpm start
See also: http://www.dotdeb.org/instructions/
~Grace
Login or register to post comments
I was using the dotdeb repos
Posted by brianmercer on May 23, 2010 at 5:26pm
I was using the dotdeb repos on ubuntu 9.10 for a while and they worked perfectly, and it's good of Guillaume Plessis to make those packages available. I also owe him thanks because I used his scripts to make my Ubuntu packages.
To use the dotdeb packages on Ubuntu instead of Debian you have to manually install two packages:
http://us.archive.ubuntu.com/ubuntu/pool/main/k/krb5/libkrb53_1.6.dfsg.4... http://us.archive.ubuntu.com/ubuntu/pool/main/i/icu/libicu38_3.8-6ubuntu...
and one more if you use php5-mycrypt:
http://mirrors.kernel.org/ubuntu/pool/main/libt/libtool/libltdl3_1.5.26-...
I repackaged php5-fpm for Ubuntu on a launchpad ppa for 3 reasons:
First, I wanted to avoid the extra work for Ubuntu users of manually adding the packages above.
Second, I wanted to have php built with the identical compile options and patches as Ubuntu's current 10.04 php. Guillaume uses the php bundled gd (which is not a bad idea) and also the mysqlnd native driver, whereas Debian and Ubuntu use the official gd and the libmysql driver. There are also several code patches that Ubuntu applies that Guillaume doesn't. I wanted my php-fpm to match the decisions of the Ubuntu packagers.
Ubuntu has updated php5 twice this month to incremental releases php5-5.3.2-1ubuntu4.1 and php5-5.3.2-1ubuntu4.2 and I wanted to be able to track those patches immediately and add them to my php-fpm build.
Third, I wanted the latest version of php-fpm. Guillaume is using the fpm patch from last year that has proved very stable but didn't receive full attention from the fpm originator Andrei Nigmatulin. By the time version 5.3 and 5.2.13 were released, Andrei had already stopped updating his great work. As far as I know, there's no dev maintaining the 5.2.x branch.
Luckily, since then, fpm has been merged into the official php.net development trunk and is now actively maintained by Antony Dovgal and Jerome Loyet, two php.net devs. Jerome has put in some good work bringing in the apache-like dynamic child spawning, and Antony has been committing patches based on reported problems. They've also committed a conversion from an xml conf file to the ini format.
I'm using the very latest svn development version of fpm to get the benefits of the new code and watchful eye of php.net devs.
I completely agree with you about the state of Drupal contrib modules (and core) with respect to 5.3 compatibility. I'm up to nine patches that I have to apply now to core and to contrib modules that I use.
发表评论
-
一分钟学awk够用(产品经理都懂了)
2018-05-10 15:30 6451分钟懂awk-技不在深,够用就行 1.什么是AW ... -
查看Linux是ubuntu还是centos
2018-03-26 10:02 1779[operadmin@testtools devtools] ... -
mac-date命令
2016-09-12 13:30 1759参数解析: -j:使用-j才能使用-f -n:默认情况下 ... -
Linux进度条实现方式
2016-09-10 16:28 1118《《《转载内容》》》》 example1: #!/bi ... -
sed高级用法
2015-04-28 16:50 955下一个:n命令 $ sed '/t ... -
[Linux]字符处理相关命令
2015-03-23 14:38 776一、tr可以替换或者删除某些文字或者字符,也是一个非常不错的 ... -
[RedHat] RHCE_RHEL6_实战精品 6.postfix邮件服务器
2015-01-30 16:39 1212企业需求: 配置一台dn.ws.com域的邮件服务器, ... -
[linux]vim快捷键
2015-01-06 15:45 15141. 关于Vim vim是我最 ... -
[Linux shell]查找某目录下文件是否包含某个字符串
2014-10-21 14:05 3663查找目录下的所有文件 ... -
[linux]在vi和vim中彩色显示语法
2014-06-10 11:20 1032首先在配置自己的vi环境变量vi ~/.vimrcsyntax ... -
[Linux]Ubuntun与redhatService管理对比
2013-11-14 10:56 904Command Line Tools Below is a ... -
[Linux]Ubuntu与redhat包管理器命令对比
2013-11-14 10:55 2121Below is a table of equivalen ... -
VSS,RSS,PSS,USS
2013-03-28 10:56 8329adb shell procrank | grep com ... -
[linux]sed与awk
2013-03-27 17:55 1036详情见附件,附件是一本书 -
[ubuntu]设置开机自启动程序的方法
2013-01-21 17:45 1995先用gnome-session-properties添加一个程 ... -
[网络性能测试]iperf适用于linux以及windows
2012-10-08 11:32 8081文章引用:http://sharkyan. ... -
【linux shell】推荐一个比较好的博客
2012-05-17 18:17 1220http://blog.chinaunix.net/uid/2 ... -
[linux]磁盘监控程序并且发EMail
2012-05-17 18:00 1217以下代码实现磁盘空间小于10G自动发送邮件 #!/bin ... -
[linux]写的一个服务器数据过滤HTML脚本
2012-05-17 17:56 1260此脚本过滤统计后台数据并显示为HTML格式 # !/bin ... -
[linux]linux过滤日志奇偶数行
2012-05-17 15:48 1690sed -n -e 'n' -e 'p' -i tmp.txt ...
相关推荐
php-fpm是个中间件,在需要php解释器来处理.php文本时会用到php-fpm。自从php5.3.3以后就将php-fpm集成在php内核中。PHP-FPM提供了更好的PHP进程管理方式,可以有效控制内存和进程、可以平滑重载PHP配置。 作者:...
docker-compose php7.3.4-fpm+nginx+mysql配置
php-fpm7.1包 yum localinstall -y php-fpm/*安装 包是7.1 tar 压缩 下载后tar解压 yum即可安装
php-fpm,用于php网页解析的软件工具包,还有一些php写好的网页
编译源代码时,缺乏顺利开启fpm,于是鼓捣了一下,并打包了一个适用于php5.3.10的 ...上暂时只跟新到 php-5.2.9-fpm-0.5.10-unofficial.diff.gz 编译参数: #./configure --enable-fpm + other custum configure .etc
php-fpm。放到/etc/init.d/目录。然后执行:chmod a+x php-fpm 然后就可以/etc/init.d/php-fpm start 或者systemctl start php-fpm
Ubuntu上的Nginx PHP5 FPM重新启动修复 stop: Unknown instance:运行服务php5-fpm后重新启动? 正常。 该脚本解决了Ubuntu-Nginx服务php5-fpm重新启动的问题。 这是一个已知的错误,已重新出现。 如果您运行tail -f ...
正常编译安装 php 按照以前流程,把 init.d.php-fpm 往 /etc/init.d/php-fpm 拷贝 然后准备执行 service php-fpm start 时出错了 错误如下 Failed to start php-fpm.service: Unit php-fpm.service not found. ...
安装php所需要的文件,没有此文件将安装失败!!!!!安装php所需要的文件,没有此文件将安装失败!!!!!
php-fpm-5.3.3-14.el6_3.x86_64.rpm
基于alpine的php-fpm nginx docker一键环境 可以手动替换所有版本 通过修改dockerfile,支持容器加载代码,或者挂载代码 也可以支持k8s做为基础环境容器,整体已经经过优化
php-5.3.0-fpm-0.5.12
php-5.2.8-fpm-0.5.10.diff.gz
设置,默认在安装目录中的var/run/php-fpm.pid,建议开启 error_log = log/php-fpm.log错误日志,默认在安装目录中的var/log/php-fpm.log log_level = notice错误级别. 可用级别为: alert(必须立即处理), error...
Zabbix 监控 php-fpm 的模板
php-fpm.conf配置文件中文翻译注释
Windows 下使用 RunHiddenConsole 启动 nginx、php-fpm, https://www.nginx.com/resources/wiki/start/topics/examples/phpfastcgionwindows/
php5-fpm-munin-plugins, Munin FPM的一组插件 安装在Ubuntu上的插件:cd/usr/share/munin/pluginsgit clone git://github.com/tjstein/php5-fpm-munin-plugins.gitchmod x
Ansible-docker-php-fpm.zip,devilbox的php-fpm docker图片sphp fpm docker图片,ansible是一个简单而强大的自动化引擎。它用于帮助配置管理、应用程序部署和任务自动化。
php-5.2.17-fpm-0.5.14.diff.gz