-
Notifications
You must be signed in to change notification settings - Fork 7
/
lighttpd-14.xml
163 lines (138 loc) · 4.98 KB
/
lighttpd-14.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: butera Status: ready -->
<sect1 xml:id="install.unix.lighttpd-14" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Lighttpd 1.4 su sistemi Unix</title>
<para>
Questa sezione contiene note e suggerimenti specifici per installazioni
di PHP per Lighttpd 1.4 su sistemi Unix.
</para>
<para>
Si prega di utilizzare <link xlink:href="&url.lighttpd.doc;">Lighttpd trac</link>
per imparare come installare Lighttpd correttamente prima di continuare.
</para>
<para>
Fastcgi è il SAPI consigliato per connettersi a PHP e Lighttpd. Fastcgi è abilitato
automagicamente in php-cgi in PHP 5.3, ma per versioni precedenti è necessario
configurare PHP con --enable-fastcgi. Per avere conferma che PHP abbia fastcgi abilitato,
<literal>php -v</literal> dovrebbe contenere <literal>PHP 5.2.5 (cgi-fcgi)</literal>
Prima di PHP 5.2.3, fastcgi era abilitato sulla versione compilata di php (non esisteva alcun php-cgi).
</para>
<sect2 xml:id="install.unix.lighttpd-14.lighttpd-spawn">
<title>Consentire a Lighttpd di generare processi php</title>
<para>
Per configurare Lighttpd per la connessione con php e generare processi fastcgi, editare
lighttpd.conf. Si consiglia di eseguire le connessioni ai processi fastcgi
sul sistema locale tramite socket.
</para>
<example>
<title>Estratto di lighttpd.conf</title>
<screen>
<![CDATA[
server.modules += ( "mod_fastcgi" )
fastcgi.server = ( ".php" =>
((
"socket" => "/tmp/php.socket",
"bin-path" => "/usr/local/bin/php-cgi",
"bin-environment" => (
"PHP_FCGI_CHILDREN" => "16",
"PHP_FCGI_MAX_REQUESTS" => "10000"
),
"min-procs" => 1,
"max-procs" => 1,
"idle-timeout" => 20
))
)
]]>
</screen>
</example>
<para>
La direttiva bin-path consente a lighttpd di generare processi fastcgi dinamicamente.
PHP genererà processi figli in accordo con la variabile di ambiente PHP_FCGI_CHILDREN.
La direttiva "bin-environment" imposta l'ambiente per i processi generati.
PHP terminerà i processi generati dopo che il numero di richieste specificato in
PHP_FCGI_MAX_REQUESTS sia stato raggiunto. L'uso delle direttive "min-procs" e "max-procs"
è sconsigliato relativamente a PHP. PHP
gestisce autonomamente i propri processi figlio e la cache opcode come APC viene condivisa
unicamente tra processi gestiti da PHP. Se "min-procs" è impostata ad un numero maggiore di 1,
il numero totale di risponditori di php sarà moltiplicato per PHP_FCGI_CHILDREN
(2 min-procs * 16 processi dà come risultato 32 risponditori).
</para>
</sect2>
<sect2 xml:id="install.unix.lighttpd-14.spawn-fcgi">
<title>Spawning with spawn-fcgi</title>
<para>
Lighttpd fornisce un programma chiamato spawn-fcgi per facilitare la generazione di processi
fastcgi.
</para>
</sect2>
<sect2 xml:id="install.unix.lighttpd-14.spawn-php">
<title>Impiegare php-cgi</title>
<para>
E' possibile generare processi senza spawn-fcgi, ma il procedimento è più complicato.
L'impostazione della variabile di ambiente PHP_FCGI_CHILDREN controlla quanti processi figlio
saranno generati da PHP per gestire le richieste ricevute.
L'impostazione di PHP_FCGI_MAX_REQUESTS determinerà quanto a lungo (in termini di richieste) ogni processo figlio dovrà durare.
Segue un semplice script bash per generare risponditori php.
</para>
<example>
<title>Generazione di risponditori FastCGI</title>
<screen>
<![CDATA[
#!/bin/sh
# Location of the php-cgi binary
PHP=/usr/local/bin/php-cgi
# PID File location
PHP_PID=/tmp/php.pid
# Binding to an address
#FCGI_BIND_ADDRESS=10.0.1.1:10000
# Binding to a domain socket
FCGI_BIND_ADDRESS=/tmp/php.sock
PHP_FCGI_CHILDREN=16
PHP_FCGI_MAX_REQUESTS=10000
env -i PHP_FCGI_CHILDREN=$PHP_FCGI_CHILDREN \
PHP_FCGI_MAX_REQUESTS=$PHP_FCGI_MAX_REQUESTS \
$PHP -b $FCGI_BIND_ADDRESS &
echo $! > "$PHP_PID"
]]>
</screen>
</example>
</sect2>
<sect2 xml:id="install.unix.lighttpd-14.remote-fcgi">
<title>Connessione a istanze di FCGI remote</title>
<para>
Le istanze di Fastcgi possono essere generate su macchine remote multiple per consentire
la scalabilità delle applicazioni.
</para>
<example>
<title>Connessione a istanze di php-fastcgi remote</title>
<screen>
<![CDATA[
fastcgi.server = ( ".php" =>
(( "host" => "10.0.0.2", "port" => 1030 ),
( "host" => "10.0.0.3", "port" => 1030 ))
)
]]>
</screen>
</example>
</sect2>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->