Boxpirates Wiki >>> PI Webserver nginx: Unterschied zwischen den Versionen
Reiter (Diskussion | Beiträge) |
Reiter (Diskussion | Beiträge) |
||
(18 dazwischenliegende Versionen des gleichen Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
+ | [[Datei:nginx-pushstream-logo.png|right|400px]] | ||
== Installation Nginx == | == Installation Nginx == | ||
Zeile 6: | Zeile 7: | ||
<span style="color:#00FF00">Voraussetzung: Raspbian oder vergleichbare Distribution installiert</span> | <span style="color:#00FF00">Voraussetzung: Raspbian oder vergleichbare Distribution installiert</span> | ||
− | === <span style="color:#E52B50"> | + | === <span style="color:#E52B50">1. Installation </span>=== |
Die Installation geht dank dem Paketmanager APT denkbar einfach. | Die Installation geht dank dem Paketmanager APT denkbar einfach. | ||
Zeile 12: | Zeile 13: | ||
<big><span style="color:#007FFF">sudo apt-get install nginx</span></big> | <big><span style="color:#007FFF">sudo apt-get install nginx</span></big> | ||
− | === <span style="color:#E52B50"> | + | === <span style="color:#E52B50">2. Anpassen der Werte </span>=== |
Nun passen wir noch ein paar Werte bzgl. max. Prozesse an, so dass Nginx den Raspberry Pi nicht überlastet. | Nun passen wir noch ein paar Werte bzgl. max. Prozesse an, so dass Nginx den Raspberry Pi nicht überlastet. | ||
Zeile 20: | Zeile 21: | ||
<big><span style="color:#007FFF">sudo sed -i "s/worker_connections 768;/worker_connections 128;/g" /etc/nginx/nginx.conf</span></big> | <big><span style="color:#007FFF">sudo sed -i "s/worker_connections 768;/worker_connections 128;/g" /etc/nginx/nginx.conf</span></big> | ||
− | === <span style="color:#E52B50"> | + | === <span style="color:#E52B50">3. Start von Nginx </span>=== |
Jetzt noch Ngix starten, damit er auch einen Nutzen hat | Jetzt noch Ngix starten, damit er auch einen Nutzen hat | ||
Zeile 32: | Zeile 33: | ||
Nun kann PHP (ich empfehle php5-fpm zu verwenden) und eine MySQL Datenbank wie unter jedem gewöhnlichen Debian Server nachinstalliert werden. | Nun kann PHP (ich empfehle php5-fpm zu verwenden) und eine MySQL Datenbank wie unter jedem gewöhnlichen Debian Server nachinstalliert werden. | ||
− | Ebenfalls ist es möglich | + | Ebenfalls ist es möglich Ruby on Rails zu installieren. |
− | <big>PHP installieren</big> | + | <big><span style="color:#00FF00">PHP installieren</span></big> |
− | + | === <span style="color:#E52B50">4. PHP installieren </span>=== | |
Zuerst installieren wir PHP mit ein paar Standard-Erweiterungen mittels des Paketmanagers APT. | Zuerst installieren wir PHP mit ein paar Standard-Erweiterungen mittels des Paketmanagers APT. | ||
Zeile 42: | Zeile 43: | ||
<big><span style="color:#007FFF">sudo apt-get install php5 php5-fpm php-pear php5-common php5-mcrypt php5-mysql php5-cli php5-gd</span></big> | <big><span style="color:#007FFF">sudo apt-get install php5 php5-fpm php-pear php5-common php5-mcrypt php5-mysql php5-cli php5-gd</span></big> | ||
− | === <span style="color:#E52B50"> | + | === <span style="color:#E52B50">5. PHP aktivieren in der Nginx config</span> === |
Nun müssen wir PHP in nginx aktivieren. Dies machen wir, indem wir mittels eines Editors die folgende, | Nun müssen wir PHP in nginx aktivieren. Dies machen wir, indem wir mittels eines Editors die folgende, | ||
Zeile 50: | Zeile 51: | ||
<big><span style="color:#007FFF">sudo nano /etc/nginx/sites-available/default</span></big> | <big><span style="color:#007FFF">sudo nano /etc/nginx/sites-available/default</span></big> | ||
− | + | # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 | |
− | # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 | + | # |
− | # | + | #location ~ \.php$ { |
− | #location ~ \.php$ { | + | # fastcgi_split_path_info ^(.+\.php)(/.+)$; |
− | # fastcgi_split_path_info ^(.+\.php)(/.+)$; | + | # # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini |
− | # # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini | + | # |
− | # | + | # # With php5-cgi alone: |
− | # # With php5-cgi alone: | + | # fastcgi_pass 127.0.0.1:9000; |
− | # fastcgi_pass 127.0.0.1:9000; | + | # # With php5-fpm: |
− | # # With php5-fpm: | + | # fastcgi_pass unix:/var/run/php5-fpm.sock; |
− | # fastcgi_pass unix:/var/run/php5-fpm.sock; | + | # fastcgi_index index.php; |
− | # fastcgi_index index.php; | + | # include fastcgi_params; |
− | # include fastcgi_params; | + | #} |
− | #} | + | |
− | # deny access to .htaccess files, if Apache's document root | + | # deny access to .htaccess files, if Apache's document root |
− | # concurs with nginx's one | + | # concurs with nginx's one |
− | # | + | # |
− | #location ~ /\.ht { | + | #location ~ /\.ht { |
− | # deny all; | + | # deny all; |
− | #} | + | #} |
+ | |||
+ | |||
+ | |||
+ | <hr> | ||
+ | |||
+ | |||
+ | |||
+ | # pass the PHP scripts to PHP-FPM server listening on unix socket | ||
+ | location ~ \.php$ { | ||
+ | try_files $uri =404; | ||
+ | fastcgi_split_path_info ^(.+\.php)(/.+)$; | ||
+ | fastcgi_pass unix:/var/run/php5-fpm.sock; | ||
+ | fastcgi_index index.php; | ||
+ | include fastcgi_params; | ||
+ | } | ||
+ | # deny access to .htaccess files | ||
+ | location ~ /\.ht { | ||
+ | deny all; | ||
+ | } | ||
+ | |||
+ | <hr> | ||
+ | |||
+ | |||
+ | === <span style="color:#E52B50">6. Nginx anpassen für index.php </span>=== | ||
+ | |||
+ | Damit die index.php direkt geladen wird, müssen wir in derselben Datei wie in Punkt 3 wieder die erste durch die zweite, folgende Passage ersetzten. | ||
+ | |||
+ | <big><span style="color:#007FFF">sudo nano /etc/nginx/sites-available/default</span></big> | ||
+ | |||
+ | index index.html index.htm; | ||
+ | |||
+ | |||
+ | <hr> | ||
+ | |||
+ | |||
+ | index index.html index.htm index.php; | ||
+ | |||
+ | |||
+ | === <span style="color:#E52B50">7. Nginx Restart</span>=== | ||
+ | |||
+ | Jetzt müssen wir nginx und PHP starten. | ||
+ | |||
+ | <big><span style="color:#007FFF">sudo /etc/init.d/nginx restart</span></big> | ||
+ | |||
+ | <big><span style="color:#007FFF">sudo /etc/init.d/php5-fpm restart</span></big> | ||
+ | |||
+ | Nun läuft nginx mit PHP auf unserem Raspberry Pi. | ||
+ | |||
+ | An dieser Stelle möchte ich noch darauf hinweisen das der Raspberry Pi bekanntlicherweise nicht der Leistungsstärkste ist und daher große Systeme, | ||
+ | |||
+ | trotz des schlanken Webservers nginx, wie WordPress nur bedingt gut laufen werden. | ||
+ | |||
+ | |||
+ | Reiter 22:49, 19. Okt. 2014 (CEST) |
Aktuelle Version vom 19. Oktober 2014, 22:44 Uhr
Inhaltsverzeichnis
Installation Nginx
Auf dem kleinen Wunderwerk, alias Raspberry Pi, läuft auch ein Webserver. Ich probierte den klassischen Apache 2 aus, wobei die Performance für mich nicht zufriedenstellend war. Somit entschied ich mich den Nginx Webserver zu installieren, welcher wesentlich runder läuft. Im Folgenden beschreibe ich, wie ihr diesen auf eurem Raspberry Pi installiert und einrichtet.
Voraussetzung: Raspbian oder vergleichbare Distribution installiert
1. Installation
Die Installation geht dank dem Paketmanager APT denkbar einfach.
sudo apt-get install nginx
2. Anpassen der Werte
Nun passen wir noch ein paar Werte bzgl. max. Prozesse an, so dass Nginx den Raspberry Pi nicht überlastet.
sudo sed -i "s/worker_processes 4;/worker_processes 1;/g" /etc/nginx/nginx.conf
sudo sed -i "s/worker_connections 768;/worker_connections 128;/g" /etc/nginx/nginx.conf
3. Start von Nginx
Jetzt noch Ngix starten, damit er auch einen Nutzen hat
sudo /etc/init.d/nginx start
Und das war’s schon.
Fertig ist der Nginx installiert.
Nun kann PHP (ich empfehle php5-fpm zu verwenden) und eine MySQL Datenbank wie unter jedem gewöhnlichen Debian Server nachinstalliert werden.
Ebenfalls ist es möglich Ruby on Rails zu installieren.
PHP installieren
4. PHP installieren
Zuerst installieren wir PHP mit ein paar Standard-Erweiterungen mittels des Paketmanagers APT.
sudo apt-get install php5 php5-fpm php-pear php5-common php5-mcrypt php5-mysql php5-cli php5-gd
5. PHP aktivieren in der Nginx config
Nun müssen wir PHP in nginx aktivieren. Dies machen wir, indem wir mittels eines Editors die folgende,
erste Passage durch die zweite ersetzten. In nano speichert man mittels STRG + X und darauffolgend Y.
sudo nano /etc/nginx/sites-available/default
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # #location ~ \.php$ { # fastcgi_split_path_info ^(.+\.php)(/.+)$; # # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini # # # With php5-cgi alone: # fastcgi_pass 127.0.0.1:9000; # # With php5-fpm: # fastcgi_pass unix:/var/run/php5-fpm.sock; # fastcgi_index index.php; # include fastcgi_params; #} # deny access to .htaccess files, if Apache's document root # concurs with nginx's one # #location ~ /\.ht { # deny all; #}
# pass the PHP scripts to PHP-FPM server listening on unix socket location ~ \.php$ { try_files $uri =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; include fastcgi_params; } # deny access to .htaccess files location ~ /\.ht { deny all; }
6. Nginx anpassen für index.php
Damit die index.php direkt geladen wird, müssen wir in derselben Datei wie in Punkt 3 wieder die erste durch die zweite, folgende Passage ersetzten.
sudo nano /etc/nginx/sites-available/default
index index.html index.htm;
index index.html index.htm index.php;
7. Nginx Restart
Jetzt müssen wir nginx und PHP starten.
sudo /etc/init.d/nginx restart
sudo /etc/init.d/php5-fpm restart
Nun läuft nginx mit PHP auf unserem Raspberry Pi.
An dieser Stelle möchte ich noch darauf hinweisen das der Raspberry Pi bekanntlicherweise nicht der Leistungsstärkste ist und daher große Systeme,
trotz des schlanken Webservers nginx, wie WordPress nur bedingt gut laufen werden.
Reiter 22:49, 19. Okt. 2014 (CEST)