|
|
Auf dieser Seite wird beschrieben, wie der Default Backe-end Server für eine Domain kompiliert wird.
|
|
|
|
|
|
1 Download des Quelltext
|
|
|
========================
|
|
|
Als erster lädt man sich von die gewünschte Version des Quelltextes von der [offiziellen Downloadseite](http://nginx.org/en/download.html) herunter.
|
|
|
|
|
|
Nginx wird in zwei Versionen veröffentlicht:
|
|
|
|
|
|
<dl>
|
|
|
<dt>Mainline (Development)</dt>
|
|
|
<dd>
|
|
|
Die neuste Version des Servers. Sie wurde allerdings nicht so intensiv getestet wie die `stable` Version.
|
|
|
Bug-Fixes treten häufiger auf. Die gefundenen Fehler werden rückwirkend auf die `stable` Versionen geported.
|
|
|
In der Regel sind die `mainline` Versionen aber auch sehr stabil und für den Produktionseinsatz geeignet.
|
|
|
</dd>
|
|
|
<dt>Stable</dt>
|
|
|
<dd>
|
|
|
Bei dieser Version liegt der Schwerpunkt auf der Stabilität des Systems. Sie ist lange getestet und alle
|
|
|
gefundenen Fehler in der `mainline` werden auch in den `stable` Versionen gefixed.
|
|
|
</dd>
|
|
|
</dl>
|
|
|
|
|
|
Für den Default Server wird die `mainline` Version verwendet. Diese lädt man sich am besten mit `wget` herunter. Hierbei ist `<version>` durch die aktulle Versionsnummer zu ersetzen.
|
|
|
|
|
|
$ wget http://nginx.org/download/nginx-<version>.tar.gz
|
|
|
|
|
|
Danach entpackt man den komprimierten Quelltext mit `tar`:
|
|
|
|
|
|
$ tar -xvzf nginx-<version>.tar.gz
|
|
|
|
|
|
Theoretisch kann man nun die heruntergeladene Datei löschen. Wer aber mehr ausprobieren möchte, der sollte sich die orginalen Quelldateien vielleicht noch etwas vorhalten.
|
|
|
|
|
|
$ rm nginx-<version>.tar.gz
|
|
|
|
|
|
Anschließend wechselt man in das entpackte Verzeichnis:
|
|
|
|
|
|
$ cd nginx-<version>/
|
|
|
|
|
|
2 Konfiguration
|
|
|
===============
|
|
|
Jetzt führt man das `configure` zur Konfiguration der zu kompilierenden nginx Version aus. Eine Liste aller möglichen Compile-Time Parameter findet man [hier](http://nginx.org/en/docs/configure.html). Der Default Server wird folgendermaßen kompiliert:
|
|
|
|
|
|
```
|
|
|
./configure \
|
|
|
--prefix=$HOME \
|
|
|
--conf-path=conf/nginx/nginx.conf \
|
|
|
--sbin-path=bin/nginx \
|
|
|
--pid-path=run/nginx.pid \
|
|
|
--error-log-path=logs/nginx/error.log \
|
|
|
--http-log-path=logs/nginx/access.log \
|
|
|
--with-http_ssl_module \
|
|
|
--with-http_gzip_static_module \
|
|
|
```
|
|
|
|
|
|
3 Kompilieren
|
|
|
=============
|
|
|
Am Schluss führt man nur noch den eigentlichen Build Befehl aus und installiert das Ergebnis:
|
|
|
|
|
|
$ make install
|
|
|
|
|
|
Möchte man die neue Version erst einmal ausprobieren, kann man `make` ohne die `install` Instruktion aufrufen. Dabei wird das Binary nicht an seinen letztendlichen Bestimmungsort kopiert, sondern im `build` Ordner belassen.
|
|
|
|
|
|
$ make |
|
|
\ No newline at end of file |