From 98603bc195abd21436ab8498c9d31e0c9bab052a Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Thu, 23 May 2013 15:54:18 +0200 Subject: [PATCH] - update to 5.5.0RC2 - add missing options in php-fpm.conf - run php-fpm in systemd notify mode - /etc/syconfig/php-fpm is deprecated (still used) - add /systemd/system/php-fpm.service.d --- .gitignore | 1 + php-fpm.conf | 54 +++++++++++++++++++++++++++++++++++++++++++++++ php-fpm.service | 5 +++++ php-fpm.sysconfig | 11 ++++++++++ php.spec | 15 +++++++++++-- sources | 2 +- 6 files changed, 85 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 07a84bb..1d3c236 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,4 @@ php-5.4.*.bz2 /php-5.5.0beta3.tar.xz /php-5.5.0beta4.tar.xz /php-5.5.0RC1.tar.xz +/php-5.5.0RC2.tar.xz diff --git a/php-fpm.conf b/php-fpm.conf index c9760eb..44ab39c 100644 --- a/php-fpm.conf +++ b/php-fpm.conf @@ -20,9 +20,24 @@ include=/etc/php-fpm.d/*.conf pid = /run/php-fpm/php-fpm.pid ; Error log file +; If it's set to "syslog", log is sent to syslogd instead of being written +; in a local file. ; Default Value: /var/log/php-fpm.log error_log = /var/log/php-fpm/error.log +; syslog_facility is used to specify what type of program is logging the +; message. This lets syslogd specify that messages from different facilities +; will be handled differently. +; See syslog(3) for possible values (ex daemon equiv LOG_DAEMON) +; Default Value: daemon +;syslog.facility = daemon + +; syslog_ident is prepended to every message. If you have multiple FPM +; instances running on the same server, you can change the default value +; which must suit common needs. +; Default Value: php-fpm +;syslog.ident = php-fpm + ; Log level ; Possible Values: alert, error, warning, notice, debug ; Default Value: notice @@ -48,10 +63,49 @@ error_log = /var/log/php-fpm/error.log ; Default Value: 0 ;process_control_timeout = 0 +; The maximum number of processes FPM will fork. This has been design to control +; the global number of processes when using dynamic PM within a lot of pools. +; Use it with caution. +; Note: A value of 0 indicates no limit +; Default Value: 0 +;process.max = 128 + +; Specify the nice(2) priority to apply to the master process (only if set) +; The value can vary from -19 (highest priority) to 20 (lower priority) +; Note: - It will only work if the FPM master process is launched as root +; - The pool process will inherit the master process priority +; unless it specified otherwise +; Default Value: no set +;process.priority = -19 + ; Send FPM to background. Set to 'no' to keep FPM in foreground for debugging. ; Default Value: yes daemonize = no +; Set open file descriptor rlimit for the master process. +; Default Value: system defined value +;rlimit_files = 1024 + +; Set max core size rlimit for the master process. +; Possible Values: 'unlimited' or an integer greater or equal to 0 +; Default Value: system defined value +;rlimit_core = 0 + +; Specify the event mechanism FPM will use. The following is available: +; - select (any POSIX os) +; - poll (any POSIX os) +; - epoll (linux >= 2.5.44) +; Default Value: not set (auto detection) +;events.mechanism = epoll + +; When FPM is build with systemd integration, specify the interval, +; in second, between health report notification to systemd. +; Set to 0 to disable. +; Available Units: s(econds), m(inutes), h(ours) +; Default Unit: seconds +; Default value: 10 +;systemd_interval = 10 + ;;;;;;;;;;;;;;;;;;;; ; Pool Definitions ; ;;;;;;;;;;;;;;;;;;;; diff --git a/php-fpm.service b/php-fpm.service index d90ed8c..41f6bfe 100644 --- a/php-fpm.service +++ b/php-fpm.service @@ -1,8 +1,13 @@ +# It's not recommended to modify this file in-place, because it will be +# overwritten during package upgrades. If you want to customize, the +# best way is to create a file "/etc/systemd/system/php-fpm.service". + [Unit] Description=The PHP FastCGI Process Manager After=syslog.target network.target [Service] +Type=notify PIDFile=/run/php-fpm/php-fpm.pid EnvironmentFile=/etc/sysconfig/php-fpm ExecStart=/usr/sbin/php-fpm --nodaemonize diff --git a/php-fpm.sysconfig b/php-fpm.sysconfig index 72096da..bdb1f6b 100644 --- a/php-fpm.sysconfig +++ b/php-fpm.sysconfig @@ -1,2 +1,13 @@ # Additional environment file for php-fpm +# This file is deprecated and will be removed in the future + +# To alter the FPM environment, drop a file with the suffix +# .conf in /etc/systemd/system/php-fpm.service.d, with +# [Service] +# Environment=FOO=bar + +# See systemd documentation: +# man systemd.unit +# man systemd.exec + diff --git a/php.spec b/php.spec index a4e1641..709169b 100644 --- a/php.spec +++ b/php.spec @@ -64,12 +64,12 @@ %global db_devel libdb-devel %endif -%global rcver RC1 +%global rcver RC2 Summary: PHP scripting language for creating dynamic web sites Name: php Version: 5.5.0 -Release: 0.6.%{rcver}%{?dist} +Release: 0.7.%{rcver}%{?dist} # All files licensed under PHP version 3.01, except # Zend is licensed under Zend # TSRM is licensed under BSD @@ -192,6 +192,7 @@ License: PHP and Zend and BSD Requires: php-common%{?_isa} = %{version}-%{release} Requires(pre): /usr/sbin/useradd BuildRequires: systemd-units +BuildRequires: systemd-devel Requires: systemd-units Requires(post): systemd-units Requires(preun): systemd-units @@ -1003,6 +1004,7 @@ popd # Build php-fpm pushd build-fpm build --enable-fpm \ + --with-fpm-systemd \ --libdir=%{_libdir}/php \ --without-mysql \ --disable-pdo \ @@ -1268,6 +1270,7 @@ mv $RPM_BUILD_ROOT%{_sysconfdir}/php-fpm.conf.default . install -m 755 -d $RPM_BUILD_ROOT%{_prefix}/lib/tmpfiles.d install -m 644 php-fpm.tmpfiles $RPM_BUILD_ROOT%{_prefix}/lib/tmpfiles.d/php-fpm.conf # install systemd unit files and scripts for handling server startup +install -m 755 -d $RPM_BUILD_ROOT%{_sysconfdir}/systemd/system/php-fpm.service.d install -m 755 -d $RPM_BUILD_ROOT%{_unitdir} install -m 644 %{SOURCE6} $RPM_BUILD_ROOT%{_unitdir}/ # LogRotate @@ -1514,6 +1517,7 @@ fi %{_prefix}/lib/tmpfiles.d/php-fpm.conf %{_unitdir}/php-fpm.service %{_sbindir}/php-fpm +%dir %{_sysconfdir}/systemd/system/php-fpm.service.d %dir %{_sysconfdir}/php-fpm.d # log owned by apache for log %attr(770,apache,root) %dir %{_localstatedir}/log/php-fpm @@ -1580,6 +1584,13 @@ fi %changelog +* Thu May 23 2013 Remi Collet 5.5.0-0.7.RC2 +- update to 5.5.0RC2 +- add missing options in php-fpm.conf +- run php-fpm in systemd notify mode +- /etc/syconfig/php-fpm is deprecated (still used) +- add /systemd/system/php-fpm.service.d + * Wed May 8 2013 Remi Collet 5.5.0-0.6.RC1 - update to 5.5.0RC1 - remove reference to apache in some sub-packages description diff --git a/sources b/sources index 7d2fa91..e863a47 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -c36bf7812526b1d5e90ba891e31a3b54 php-5.5.0RC1.tar.xz +767599568ea94f16b9da7e05214d53c7 php-5.5.0RC2.tar.xz