install/fpm/configuration.xml
b01a6761f8e5a1dc58ec92b4bba9b7b5878047fe
...
...
@@ -210,8 +210,8 @@
210
210
<listitem>
211
211
<para>
212
212
Specify the event mechanism FPM will use.
213
-
The following is available: select, pool, epoll, kqueue (*BSD), port (Solaris).
214
-
Default value: not set (auto detection).
213
+
The following is available: epoll, kqueue (*BSD), port (Solaris), poll, select.
214
+
Default value: not set (auto detection preferring epoll and kqueue).
215
215
</para>
216
216
</listitem>
217
217
</varlistentry>
...
...
@@ -260,8 +260,9 @@
260
260
</term>
261
261
<listitem>
262
262
<para>
263
-
Set listen(2) backlog. A value of '-1' means unlimited. Default value:
264
-
-1.
263
+
Set listen(2) backlog. A value of <literal>-1</literal> means maximum on BSD systems.
264
+
Default value: <literal>-1</literal> (FreeBSD or OpenBSD) or <literal>511</literal>
265
+
(Linux and other platforms).
265
266
</para>
266
267
</listitem>
267
268
</varlistentry>
...
...
@@ -420,8 +421,7 @@
420
421
<para>
421
422
The number of child processes created on startup.
422
423
Used only when <literal>pm</literal> is set to <literal>dynamic</literal>.
423
-
Default Value: min_spare_servers + (max_spare_servers -
424
-
min_spare_servers) / 2.
424
+
Default Value: (min_spare_servers + max_spare_servers) / 2.
425
425
</para>
426
426
</listitem>
427
427
</varlistentry>
...
...
@@ -451,6 +451,19 @@
451
451
</para>
452
452
</listitem>
453
453
</varlistentry>
454
+
<varlistentry xml:id="pm.max-spawn-rate">
455
+
<term>
456
+
<parameter>pm.max_spawn_rate</parameter>
457
+
<type>int</type>
458
+
</term>
459
+
<listitem>
460
+
<para>
461
+
The number of rate to spawn child processes at once. Used only when
462
+
<literal>pm</literal> is set to <literal>dynamic</literal>.
463
+
Default value: 32
464
+
</para>
465
+
</listitem>
466
+
</varlistentry>
454
467
<varlistentry xml:id="pm.process-idle-timeout">
455
468
<term>
456
469
<parameter>pm.process_idle_timeout</parameter>
...
...
@@ -479,6 +492,22 @@
479
492
</para>
480
493
</listitem>
481
494
</varlistentry>
495
+
<varlistentry xml:id="pm.status-listen">
496
+
<term>
497
+
<parameter>pm.status_listen</parameter>
498
+
<type>string</type>
499
+
</term>
500
+
<listitem>
501
+
<para>
502
+
The address on which to accept FastCGI status request. This creates a new invisible pool
503
+
that can handle requests independently. This is useful if the main pool is busy with long
504
+
running requests because it is still possible to get the
505
+
<link linkend="fpm.status">FPM status page</link> before finishing the long running
506
+
requests. The syntax is the same as for <link linkend="listen">listen</link> directive.
507
+
Default value: none.
508
+
</para>
509
+
</listitem>
510
+
</varlistentry>
482
511
<varlistentry xml:id="pm.status-path">
483
512
<term>
484
513
<parameter>pm.status_path</parameter>
...
...
@@ -572,6 +601,22 @@
572
601
</para>
573
602
</listitem>
574
603
</varlistentry>
604
+
<varlistentry xml:id="request-terminate-timeout-track-finished">
605
+
<term>
606
+
<parameter>request_terminate_timeout_track_finished</parameter>
607
+
<type>bool</type>
608
+
</term>
609
+
<listitem>
610
+
<para>
611
+
The timeout set by
612
+
<link linkend="request-terminate-timeout">request_terminate_timeout</link> is not engaged
613
+
after a <link linkend="function.fastcgi-finish-request">fastcgi_finish_request</link> or
614
+
when application has finished and internal shutdown functions are being called. This
615
+
directive will enable timeout limit to be applied unconditionally even in such cases.
616
+
Default value: no. Since PHP 7.3.0.
617
+
</para>
618
+
</listitem>
619
+
</varlistentry>
575
620
<varlistentry xml:id="request-slowlog-timeout">
576
621
<term>
577
622
<parameter>request_slowlog_timeout</parameter>
...
...
@@ -586,6 +631,18 @@
586
631
</para>
587
632
</listitem>
588
633
</varlistentry>
634
+
<varlistentry xml:id="request-slowlog-trace-depth">
635
+
<term>
636
+
<parameter>request_slowlog_trace_depth</parameter>
637
+
<type>int</type>
638
+
</term>
639
+
<listitem>
640
+
<para>
641
+
The depth of slowlog log stack trace.
642
+
Default value: 20. Since PHP 7.2.0.
643
+
</para>
644
+
</listitem>
645
+
</varlistentry>
589
646
<varlistentry xml:id="slowlog">
590
647
<term>
591
648
<parameter>slowlog</parameter>
...
...
@@ -702,6 +759,18 @@
702
759
</para>
703
760
</listitem>
704
761
</varlistentry>
762
+
<varlistentry xml:id="apparmor-hat">
763
+
<term>
764
+
<parameter>apparmor_hat</parameter>
765
+
<type>string</type>
766
+
</term>
767
+
<listitem>
768
+
<para>
769
+
If AppArmor is enabled, it allows to change a hat.
770
+
Default value: not set
771
+
</para>
772
+
</listitem>
773
+
</varlistentry>
705
774
<varlistentry xml:id="access-log">
706
775
<term>
707
776
<parameter>access.log</parameter>
...
...
@@ -735,111 +804,173 @@
735
804
<tbody>
736
805
<row>
737
806
<entry>
738
-
<constant>%C</constant>
807
+
<literal>%%</literal>
808
+
</entry>
809
+
<entry>The <literal>%</literal> character</entry>
810
+
</row>
811
+
<row>
812
+
<entry>
813
+
<literal>%C</literal>
814
+
</entry>
815
+
<entry>
816
+
%CPU used by the request. It can accept the following format:
817
+
<literal>%{user}C</literal> for user CPU only,
818
+
<literal>%{system}C</literal> for system CPU only,
819
+
<literal>%{total}C</literal> for user + system CPU (default)
820
+
</entry>
821
+
</row>
822
+
<row>
823
+
<entry>
824
+
<literal>%d</literal>
825
+
</entry>
826
+
<entry>
827
+
Time taken to serve the request.
828
+
It can accept the following formats for precision:
829
+
<literal>%{seconds}d</literal> (default), <literal>%{milliseconds}d</literal>,
830
+
<literal>%{microseconds}d</literal>
739
831
</entry>
740
-
<entry>%CPU</entry>
741
832
</row>
742
833
<row>
743
834
<entry>
744
-
<constant>%d</constant>
835
+
<literal>%{<replaceable>name</replaceable>}e</literal>
836
+
</entry>
837
+
<entry>
838
+
An environment variable (same as <varname>$_ENV</varname> or <varname>$_SERVER</varname>).
839
+
A variable name must be specified within curly brackets to specify the name of the env variable.
840
+
For example, server specifics like <literal>%{REQUEST_METHOD}e</literal> or
841
+
<literal>%{SERVER_PROTOCOL}e</literal>, HTTP headers like
842
+
<literal>%{HTTP_HOST}e</literal> or <literal>%{HTTP_USER_AGENT}e</literal>
745
843
</entry>
746
-
<entry>duration µs</entry>
747
844
</row>
748
845
<row>
749
846
<entry>
750
-
<constant>%e</constant>
847
+
<literal>%f</literal>
751
848
</entry>
752
-
<entry>fastcgi env</entry>
849
+
<entry>Script filename</entry>
753
850
</row>
754
851
<row>
755
852
<entry>
756
-
<constant>%f</constant>
853
+
<literal>%l</literal>
854
+
</entry>
855
+
<entry>
856
+
<literal>Content-Length</literal> of the request (for HTTP POST request only)
757
857
</entry>
758
-
<entry>script</entry>
759
858
</row>
760
859
<row>
761
860
<entry>
762
-
<constant>%l</constant>
861
+
<literal>%m</literal>
763
862
</entry>
764
-
<entry>content length</entry>
863
+
<entry>Request HTTP method</entry>
765
864
</row>
766
865
<row>
767
866
<entry>
768
-
<constant>%m</constant>
867
+
<literal>%M</literal>
868
+
</entry>
869
+
<entry>
870
+
Peak of memory allocated by PHP.
871
+
It can accept the following format:
872
+
<literal>%{bytes}M</literal> (default), <literal>%{kilobytes}M</literal>
873
+
<literal>%{kilo}M</literal>, <literal>%{megabytes}M</literal>,
874
+
<literal>%{mega}M</literal>
769
875
</entry>
770
-
<entry>method</entry>
771
876
</row>
772
877
<row>
773
878
<entry>
774
-
<constant>%M</constant>
879
+
<literal>%n</literal>
775
880
</entry>
776
-
<entry>memory</entry>
881
+
<entry>Pool name</entry>
777
882
</row>
778
883
<row>
779
884
<entry>
780
-
<constant>%n</constant>
885
+
<literal>%{<replaceable>name</replaceable>}o</literal>
886
+
</entry>
887
+
<entry>
888
+
Output header. The header name must be specified within curly brackets.
889
+
For example: <literal>%{Content-Type}o</literal>,
890
+
<literal>%{X-Powered-By}o</literal>, <literal>%{Transfer-Encoding}o</literal>
781
891
</entry>
782
-
<entry>pool name</entry>
783
892
</row>
784
893
<row>
785
894
<entry>
786
-
<constant>%o</constant>
895
+
<literal>%p</literal>
787
896
</entry>
788
-
<entry>header output</entry>
897
+
<entry>PID of the child that serviced the request</entry>
789
898
</row>
790
899
<row>
791
900
<entry>
792
-
<constant>%p</constant>
901
+
<literal>%P</literal>
793
902
</entry>
794
-
<entry>PID</entry>
903
+
<entry>PID of the parent of the child that serviced the request</entry>
795
904
</row>
796
905
<row>
797
906
<entry>
798
-
<constant>%q</constant>
907
+
<literal>%q</literal>
799
908
</entry>
800
-
<entry>query string</entry>
909
+
<entry>Query string</entry>
801
910
</row>
802
911
<row>
803
912
<entry>
804
-
<constant>%Q</constant>
913
+
<literal>%Q</literal>
914
+
</entry>
915
+
<entry>
916
+
The <literal>'?'</literal> character, or glue between <literal>%q</literal> and <literal>%r</literal>,
917
+
if query string exists
805
918
</entry>
806
-
<entry>the glue between %q and %r</entry>
807
919
</row>
808
920
<row>
809
921
<entry>
810
-
<constant>%r</constant>
922
+
<literal>%r</literal>
923
+
</entry>
924
+
<entry>
925
+
Request URI without the query string,
926
+
see <literal>%q</literal> and <literal>%Q</literal>
811
927
</entry>
812
-
<entry>request URI</entry>
813
928
</row>
814
929
<row>
815
930
<entry>
816
-
<constant>%R</constant>
931
+
<literal>%R</literal>
817
932
</entry>
818
-
<entry>remote IP address</entry>
933
+
<entry>Remote IP address</entry>
819
934
</row>
820
935
<row>
821
936
<entry>
822
-
<constant>%s</constant>
937
+
<literal>%s</literal>
823
938
</entry>
824
-
<entry>status</entry>
939
+
<entry>Status (response code)</entry>
825
940
</row>
826
941
<row>
827
942
<entry>
828
-
<constant>%T</constant>
943
+
<literal>%t</literal>
944
+
</entry>
945
+
<entry>
946
+
Server time the request was received. It can
947
+
accept a <literal>strftime(3)</literal> format:
948
+
<literal>%d/%b/%Y:%H:%M:%S %z</literal> (default)
949
+
The <literal>strftime(3)</literal> format must be encapsulated in
950
+
a <literal>%{&lt;strftime_format&gt;}t</literal> tag, e.g. for a ISO8601
951
+
formatted timestring, use:
952
+
<literal>%{%Y-%m-%dT%H:%M:%S%z}t</literal>
829
953
</entry>
830
-
<entry>time</entry>
831
954
</row>
832
955
<row>
833
956
<entry>
834
-
<constant>%t</constant>
957
+
<literal>%T</literal>
958
+
</entry>
959
+
<entry>
960
+
Time the log was written (when the request finished). It can accept a
961
+
<literal>strftime(3)</literal> format:
962
+
<literal>%d/%b/%Y:%H:%M:%S %z</literal> (default).
963
+
The <literal>strftime(3)</literal> format must be encapsulated in a
964
+
<literal>%{&lt;strftime_format&gt;}T</literal> tag, e.g. for a ISO8601
965
+
formatted timestring, use:
966
+
<literal>%{%Y-%m-%dT%H:%M:%S%z}T</literal>
835
967
</entry>
836
-
<entry>time</entry>
837
968
</row>
838
969
<row>
839
970
<entry>
840
-
<constant>%u</constant>
971
+
<literal>%u</literal>
841
972
</entry>
842
-
<entry>remote user</entry>
973
+
<entry>Basic access authentication user, if specified in <literal>Authorization</literal> header</entry>
843
974
</row>
844
975
</tbody>
845
976
</tgroup>
846
977