J'utilise Ubuntu Server 10.10 et je voudrais mettre en place un environnement de serveur web avec NginX , PHP 5.3.3, PostgreSQL et de préférence APC et PHP Suhosin.
J'ai déjà configuré PostgreSQL avec apt-get install postgresql
et Nginx avec apt-get install nginx
.
Mais comment configurer PHP pour ceux-ci? Puis-je le faire en utilisant apt-get install
ou dois-je télécharger les sources et les compiler? Je préférerais le faire en utilisant apt-get
.
J'aimerais utiliser PHP-FPM pour Nginx. La plupart des tutoriels que j'ai trouvés sur Internet sont anciens et compilent le PHP, mais ce n'est pas recommandé pour les serveurs de production.
Comment configurer PHP le plus facilement avec Nginx, APC et PostgreSQL? ou au moins PHP-FPM + Nginx?
MISE À JOUR
J'ai maintenant installé un nouveau serveur Ubuntu 10.10 et exécuté la commande suggérée par Peter avec l' php5-suhosin
ajout. Après cela, Nginx fonctionne correctement, puis je modifie le fichier de configuration généré comme ci-dessous. Après avoir rechargé le nouveau fichier de configuration, Nginx fonctionne toujours très bien en utilisant un index.html
fichier, mais lorsque j'ajoute un index.php
fichier, il s'arrête de fonctionner. Je suppose que cela a à voir avec PHP-FPM, l'APC ou quelque chose de PHP. Mais il pourrait également s'agir du fichier de configuration de PHP-FPM.
Voici le fichier de configuration pour Nginx que j'utilise, la plupart est généré par défaut. J'ai sauté des commentaires.
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;
}
}
Réponses:
À partir d'Ubuntu 10.10, cela est trivial avec le nouveau paquet php5-fpm
Les packages suivants font tout ce dont vous avez besoin
nginx
- le serveur webphp5-fpm
- Serveur php Fast-CGIphp-apc
- Le package APC pour phpphp5-pgsql
- Module PostgreSQL pour PHPpostgresql
- Le serveur de base de données PostgreSQLTous ensemble
sudo apt-get install nginx php5-fpm php-apc php5-pgsql postgresql
Je suggère également de vérifier si apache2 est installé. Si c'est le cas, supprimez-le avec un
sudo apt-get remove apache2
pour éviter que Apache et Nginx ne se disputent le port 80.Notez également que la norme xdebug veut également utiliser le port 9000, tout comme php5-fpm. Donc, si vous utilisez xdebug, changez ce port par exemple en 9001
Et en bonus un exemple de configuration nginx (placez-le dans / etc / nginx / sites-available et liez-le dans / etc / nginx / sites-enabled)
la source
test.php
fichier simple , mais cela ne fonctionne pas. Mon navigateur dit "lien brisé" et dans le journal des erreurs Nginx, il n'y a qu'une entrée sur le "favicon.ico". Je suppose qu'il y a quelque chose avec mon fichier de configuration, mais je n'en ai vraiment aucune idée et il est assez difficile de trouver l'erreur.sudo service nginx start
etsudo service php5-fpm start
devrait faire le travail. Bien sûr, recherchez toute erreur qu'ils pourraient donner.sudo service nginx reload
). Si tout le reste échoue, vous pouvez peut-être ajouter votre fichier de configuration à votre question..html
fichiers, mais il ne fonctionne pas pour les.php
fichiers.