Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 38a9fe71

Von Niklas Schmidt vor etwa 23 Stunden hinzugefügt

  • ID 38a9fe712179807118d27a185d63766e68501b4e
  • Vorgänger a4d9c5b7
  • Nachfolger c89a2995

Doku: Entferne Unterkapitel, die FastCGI von CGI abgrenzen

Unterschiede anzeigen:

doc/dokumentation.xml
1143 1143
             xreflabel="Konfiguration für FastCGI/FCGI">
1144 1144
        <title>Konfiguration für FastCGI/FCGI</title>
1145 1145

  
1146
        <sect3 id="Apache-Konfiguration.FCGI.WasIstEs">
1147
          <title>Was ist FastCGI?</title>
1148

  
1149
          <para>Direkt aus <ulink
1150
          url="http://de.wikipedia.org/wiki/FastCGI">Wikipedia</ulink>
1151
          kopiert:</para>
1152

  
1153
          <para><citation> FastCGI ist ein Standard für die Einbindung
1154
          externer Software zur Generierung dynamischer Webseiten in einem
1155
          Webserver. FastCGI ist vergleichbar zum Common Gateway Interface
1156
          (CGI), wurde jedoch entwickelt, um dessen Performance-Probleme zu
1157
          umgehen. </citation></para>
1158
        </sect3>
1159

  
1160
        <sect3 id="Apache-Konfiguration.FCGI.Warum">
1161
          <title>Warum FastCGI?</title>
1162

  
1163
          <para>Perl Programme (wie kivitendo eines ist) werden nicht statisch
1164
          kompiliert. Stattdessen werden die Quelldateien bei jedem Start
1165
          übersetzt, was bei kurzen Laufzeiten einen Großteil der Laufzeit
1166
          ausmacht. Während SQL Ledger einen Großteil der Funktionalität in
1167
          einzelne Module kapselt, um immer nur einen kleinen Teil laden zu
1168
          müssen, ist die Funktionalität von kivitendo soweit gewachsen, dass
1169
          immer mehr Module auf den Rest des Programms zugreifen. Zusätzlich
1170
          benutzen wir umfangreiche Bibliotheken um Funktionaltät nicht selber
1171
          entwickeln zu müssen, die zusätzliche Ladezeit kosten. All dies
1172
          führt dazu dass ein kivitendo Aufruf der Kernmasken mittlerweile
1173
          deutlich länger dauert als früher, und dass davon 90% für das Laden
1174
          der Module verwendet wird.</para>
1175

  
1176
          <para>Mit FastCGI werden nun die Module einmal geladen, und danach
1177
          wird nur die eigentliche Programmlogik ausgeführt.</para>
1178
        </sect3>
1146
        <para>Mit FastCGI wird der kivitendo-Programmcode beim Start des
1147
        Webservers einmal geladen und danach wird nur die eigentliche
1148
        Programmlogik ausgeführt.</para>
1179 1149

  
1180
        <sect3 id="Apache-Konfiguration.FCGI.Konfiguration">
1181
          <title>Konfiguration des Webservers</title>
1150
        <para>Zuerst muss das FastCGI-Modul aktiviert werden. Dies kann
1151
        unter Debian/Ubuntu z.B. mit folgendem Befehl geschehen:</para>
1182 1152

  
1183
          <para>Zuerst muss das FastCGI-Modul aktiviert werden. Dies kann
1184
          unter Debian/Ubuntu z.B. mit folgendem Befehl geschehen:</para>
1153
        <programlisting>a2enmod fcgid</programlisting>
1185 1154

  
1186
          <programlisting>a2enmod fcgid</programlisting>
1155
        <para>Die Konfiguration für die Verwendung von kivitendo mit FastCGI
1156
        erfolgt durch Einfügen von <function>Alias</function>-
1157
        und <function>Directory</function>-Direktiven. Dabei wird zwischen
1158
        dem Installationspfad von kivitendo im Dateisystem
1159
        ("<filename>/path/to/kivitendo-erp</filename>") und der URL
1160
        unterschieden, unter der kivitendo im Webbrowser erreichbar ist
1161
        ("<filename>/url/for/kivitendo-erp</filename>").</para>
1187 1162

  
1188
          <para>Die Konfiguration für die Verwendung von kivitendo mit FastCGI
1189
          erfolgt durch Anpassung der vorhandenen <function>Alias</function>-
1190
          und <function>Directory</function>-Direktiven. Dabei wird zwischen
1191
          dem Installationspfad von kivitendo im Dateisystem
1192
          ("<filename>/path/to/kivitendo-erp</filename>") und der URL
1193
          unterschieden, unter der kivitendo im Webbrowser erreichbar ist
1194
          ("<filename>/url/for/kivitendo-erp</filename>").</para>
1163
        <para>Folgender Konfigurationsschnipsel funktioniert mit
1164
        mod_fastcgi:</para>
1195 1165

  
1196
          <para>Folgender Konfigurationsschnipsel funktioniert mit
1197
          mod_fastcgi:</para>
1198

  
1199
          <programlisting>AliasMatch ^/url/for/kivitendo-erp/[^/]+\.pl /path/to/kivitendo-erp/dispatcher.fcgi
1166
        <programlisting>AliasMatch ^/url/for/kivitendo-erp/[^/]+\.pl /path/to/kivitendo-erp/dispatcher.fcgi
1200 1167
Alias       /url/for/kivitendo-erp/          /path/to/kivitendo-erp/
1201 1168

  
1202 1169
&lt;Directory /path/to/kivitendo-erp&gt;
1203
  AllowOverride All
1204
  Options ExecCGI Includes FollowSymlinks
1205
  Require all granted
1170
AllowOverride All
1171
Options ExecCGI Includes FollowSymlinks
1172
Require all granted
1206 1173
&lt;/Directory&gt;
1207 1174

  
1208 1175
&lt;DirectoryMatch /path/to/kivitendo-erp/users&gt;
1209 1176
Require all denied
1210 1177
&lt;/DirectoryMatch&gt;</programlisting>
1211 1178

  
1212
          <para>Seit mod_fcgid-Version 2.3.6 gelten sehr kleine Grenzen für
1213
          die maximale Größe eines Requests. Diese sollte wie folgt
1214
          hochgesetzt werden:</para>
1179
        <para>Seit mod_fcgid-Version 2.3.6 gelten sehr kleine Grenzen für
1180
        die maximale Größe eines Requests. Diese sollte wie folgt
1181
        hochgesetzt werden:</para>
1215 1182

  
1216
          <programlisting>FcgidMaxRequestLen 10485760</programlisting>
1183
        <programlisting>FcgidMaxRequestLen 10485760</programlisting>
1217 1184

  
1218
          <para>Das Ganze sollte dann so aussehen:</para>
1185
        <para>Das Ganze sollte dann so aussehen:</para>
1219 1186

  
1220
          <programlisting>AddHandler fcgid-script .fpl
1187
        <programlisting>AddHandler fcgid-script .fpl
1221 1188
AliasMatch ^/url/for/kivitendo-erp/[^/]+\.pl /path/to/kivitendo-erp/dispatcher.fpl
1222 1189
Alias       /url/for/kivitendo-erp/          /path/to/kivitendo-erp/
1223 1190
FcgidMaxRequestLen 10485760
1224 1191

  
1225 1192
&lt;Directory /path/to/kivitendo-erp&gt;
1226
  AllowOverride All
1227
  Options ExecCGI Includes FollowSymlinks
1228
  Require all granted
1193
AllowOverride All
1194
Options ExecCGI Includes FollowSymlinks
1195
Require all granted
1229 1196
&lt;/Directory&gt;
1230 1197

  
1231 1198
&lt;DirectoryMatch /path/to/kivitendo-erp/users&gt;
1232 1199
Require all denied
1233 1200
&lt;/DirectoryMatch&gt;</programlisting>
1234 1201

  
1235
          <para>Hierdurch wird nur ein zentraler Dispatcher gestartet. Alle
1236
          Zugriffe auf die einzelnen Scripte werden auf diesen umgeleitet.
1237
          Dadurch, dass zur Laufzeit öfter mal Scripte neu geladen werden,
1238
          gibt es hier kleine Performance-Einbußen.</para>
1239
        </sect3>
1202
        <para>Hierdurch wird nur ein zentraler Dispatcher gestartet. Alle
1203
        Zugriffe auf die einzelnen Scripte werden auf diesen umgeleitet.
1204
        Dadurch, dass zur Laufzeit öfter mal Scripte neu geladen werden,
1205
        gibt es hier kleine Performance-Einbußen.</para>
1240 1206
      </sect2>
1241 1207

  
1242 1208
      <sect2>

Auch abrufbar als: Unified diff