Ich verwende Ubuntu Server 10.10 und möchte eine Webserverumgebung mit NginX , PHP 5.3.3, PostgreSQL und vorzugsweise APC und PHP Suhosin einrichten.
Ich habe bereits PostgreSQL mit apt-get install postgresql
und Nginx mit eingerichtet apt-get install nginx
.
Aber wie richte ich PHP für diese ein? Kann ich dies mit apt-get install
tun oder muss ich die Quellen herunterladen und kompilieren? Ich würde es lieber mit machen apt-get
.
Ich würde gerne PHP-FPM für Nginx verwenden. Die meisten Tutorials, die ich im Internet gefunden habe, sind alt und kompilieren das PHP, aber dies wird für Produktionsserver nicht empfohlen.
Wie richte ich PHP am einfachsten mit Nginx, APC und PostgreSQL ein? oder zumindest PHP-FPM + Nginx?
AKTUALISIEREN
Ich habe jetzt einen neuen Ubuntu Server 10.10 installiert und den von Peter vorgeschlagenen Befehl mit php5-suhosin
hinzugefügt ausgeführt. Nachdem Nginx einwandfrei funktioniert, bearbeite ich die generierte Konfigurationsdatei wie folgt. Nach dem erneuten Laden der neuen Konfigurationsdatei funktioniert Nginx immer noch einwandfrei mit einer index.html
Datei, aber wenn ich eine index.php
Datei hinzufüge , funktioniert sie nicht mehr. Ich denke, dass dies mit PHP-FPM, dem APC oder etwas PHP-bezogenem zu tun hat. Es könnte aber auch die Konfigurationsdatei für PHP-FPM sein.
Hier ist die Konfigurationsdatei für Nginx, die ich verwende. Das meiste davon wird standardmäßig generiert. Ich habe Kommentare übersprungen.
server {
listen 80;
listen [::]:80 default ipv6only=on;
server_name localhost;
access_log /var/log/nginx/localhost.access.log;
location /favicon.ico {
empty_gif;
}
location / {
root /var/www;
index index.php index.html index.htm;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
}
}
Antworten:
Ab Ubuntu 10.10 ist dies mit dem neuen php5-fpm-Paket trivial
Die folgenden Pakete bieten alles, was Sie brauchen
nginx
- der Webserverphp5-fpm
- Fast-CGI-PHP-Serverphp-apc
- Das APC-Paket für PHPphp5-pgsql
- PostgreSQL-Modul für PHPpostgresql
- Der PostgreSQL-DatenbankserverAlle zusammen
sudo apt-get install nginx php5-fpm php-apc php5-pgsql postgresql
Außerdem empfehle ich zu überprüfen, ob Apache2 installiert ist. Wenn ja, löschen Sie es mit einem
sudo apt-get remove apache2
, um zu vermeiden, dass Apache und Nginx um Port 80 konkurrieren.Beachten Sie auch, dass der xdebug-Standard ebenso wie php5-fpm auch Port 9000 verwenden möchte. Wenn Sie also xdebug verwenden, ändern Sie diesen Port beispielsweise in 9001
Und als Bonus ein Beispiel für eine Nginx-Konfiguration (platzieren Sie es in / etc / nginx / sites-available und verknüpfen Sie es mit / etc / nginx / sites-enabled)
quelle
test.php
Datei erstellt, aber es funktioniert nicht. Mein Browser sagt "defekter Link" und im Nginx-Fehlerprotokoll gibt es nur einen Eintrag über "favicon.ico". Ich denke, es gibt etwas in meiner Konfigurationsdatei, aber ich habe wirklich keine Ahnung und es ist ziemlich schwer, den Fehler zu finden.sudo service nginx start
undsudo service php5-fpm start
sollte den Job machen. Achten Sie natürlich auf mögliche Fehler.sudo service nginx reload
. Wenn alles andere fehlschlägt, können Sie Ihrer Frage möglicherweise Ihre Konfigurationsdatei hinzufügen..html
Dateien, aber nicht für.php
Dateien.