Saya menggunakan Ubuntu Server 10.10 dan saya ingin mengatur lingkungan server web dengan NginX , PHP 5.3.3, PostgreSQL dan lebih disukai APC dan PHP Suhosin.
Saya sudah mengatur PostgreSQL dengan apt-get install postgresql
dan Nginx dengan apt-get install nginx
.
Tapi bagaimana cara mengatur PHP untuk ini? Dapatkah saya melakukan ini menggunakan apt-get install
atau saya harus mengunduh sumber dan kompilasi? Saya lebih suka melakukannya menggunakan apt-get
.
Saya ingin menggunakan PHP-FPM untuk Nginx. Sebagian besar tutorial yang saya temukan di Internet sudah tua dan kompilasi PHP, tetapi ini tidak disarankan untuk server produksi.
Bagaimana cara termudah mengatur PHP dengan Nginx, APC dan PostgreSQL? atau setidaknya PHP-FPM + Nginx?
MEMPERBARUI
Saya sekarang telah menginstal Ubuntu Server 10.10 yang baru dan menjalankan perintah yang disarankan Peter dengan php5-suhosin
menambahkan. Setelah itu Nginx berfungsi dengan baik, maka saya edit file confiugration yang dihasilkan menjadi seperti di bawah ini. Setelah memuat ulang file konfigurasi baru, Nginx masih berfungsi dengan baik menggunakan index.html
file, tetapi ketika saya menambahkan index.php
file itu berhenti berfungsi. Saya kira ini ada hubungannya dengan PHP-FPM, APC atau sesuatu yang berhubungan dengan PHP. Tetapi bisa juga file konfigurasi untuk PHP-FPM juga.
Ini adalah file konfigurasi untuk Nginx yang saya gunakan, sebagian besar dihasilkan secara default. Saya telah melewatkan komentar.
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;
}
}
Jawaban:
Mulai dari Ubuntu 10.10 ini sepele dengan paket php5-fpm baru
Paket-paket berikut melakukan semua yang Anda butuhkan
nginx
- server webphp5-fpm
- Server php Fast-CGIphp-apc
- Paket APC untuk phpphp5-pgsql
- Modul PostgreSQL untuk PHPpostgresql
- Server database PostgreSQLBersama
sudo apt-get install nginx php5-fpm php-apc php5-pgsql postgresql
Saya juga menyarankan untuk memeriksa apakah apache2 diinstal. Jika demikian, hapus dengan a
sudo apt-get remove apache2
untuk menghindari apache dan nginx yang bersaing untuk port 80.Perhatikan juga bahwa standar xdebug juga ingin menggunakan port 9000, seperti halnya php5-fpm. Jadi jika Anda menggunakan xdebug, ubah port itu misalnya menjadi 9001
Dan sebagai bonus contoh konfigurasi nginx (letakkan di / etc / nginx / sites-available dan symlink ke / etc / nginx / sites-enabled)
sumber
test.php
file sederhana , tetapi tidak berhasil. Browser saya mengatakan "broken link" dan di log kesalahan Nginx hanya ada entri tentang "favicon.ico". Saya kira ada sesuatu dengan file konfigurasi saya, tetapi saya benar-benar tidak tahu dan cukup sulit untuk menemukan kesalahan.sudo service nginx start
dansudo service php5-fpm start
harus melakukan pekerjaan itu. Tentu saja, cari kesalahan yang mungkin mereka berikan.sudo service nginx reload
. Jika semuanya gagal, mungkin Anda bisa menambahkan file konfigurasi ke pertanyaan Anda..html
file tetapi tidak berfungsi untuk.php
file.