Saya sedang membangun gambar dengan server Nagios. Salah satu masalah pi raspberry adalah ingatannya cukup kecil pada pi raspberry. Jadi saya akan menggunakan antarmuka ringan berdasarkan php-apc bukan yang standar.
Saya ingin tahu server web ringan apa yang disarankan untuk digunakan?
Saya sedang mempertimbangkan server web minimum yang dapat melakukan php dan menyediakan SSL. Saya sedang memikirkan Apache2 atau Nginx. Meskipun saya pikir Apache akan tetap mengungguli Nginx karena kontennya dinamis.
web-server
Lucas Kauffman
sumber
sumber
Jawaban:
Pertanyaan sebenarnya di sini adalah "Apakah Anda memerlukan semua fitur yang disediakan oleh Apache?" (atau yang lebih penting, "Apakah Anda bersedia menggunakan memori untuk fitur-fitur ini?") - Anda dapat mengkompilasi kustom Apache + mod_perl atau mod_php yang SANGAT dilucuti untuk menjalankan antarmuka web Nagios Anda (atau apache Striped yang dilucuti yang hanya menjalankan perl CGIs), tetapi bahkan dalam bentuk minimalis Apache mungkin akan mengambil lebih banyak memori daripada nginx untuk melakukan pekerjaan yang sama - Itu hanya tidak dibangun untuk menjadi kecil.
Untuk menjadi 100% yakin Anda mungkin ingin melakukan bake-off (kompilasi nginx dan Apache dan lihat mana yang memakan lebih sedikit RAM), tetapi pengalaman saya di server "normal" memberi tahu saya bahwa nginx mungkin merupakan pilihan yang lebih baik untuk memori rendah. konfigurasi: Anda memberikan beberapa fleksibilitas Apache, tetapi jika Anda tidak memerlukannya (dan sebagian besar situs tidak ) Anda tidak akan pernah melihat perbedaannya.
Kinerja (waktu) bijaksana Saya ragu Anda akan dibatasi oleh server web Anda - Semua tolok ukur yang dibuat-buat, jika Anda melakukan volume yang cukup di mana kinerja mesin server yang membagikan halaman adalah penting Anda mungkin akan untuk memanggang Raspberry Pi Anda (dan sungguh, berapa banyak orang yang akan melihat data pemantauan Anda sekaligus? :-).
Ini cukup banyak aksioma bahwa Anda dapat mengoptimalkan sistem untuk ruang atau waktu, tetapi tidak pernah keduanya - dan pada ruang Raspberry Pi mungkin merupakan kendala pembatas Anda.
sumber
powerful
(karena ini adalah istilah yang tidak ditentukan). Saya berkataflexible
(merujuk pada berapa banyak cara server inti telanjang dapat dikonfigurasi untuk memenuhi kebutuhan). Ini tidak dimaksudkan untuk mencerminkan buruk pada kedua server: keduanya adalah potongan kode yang sangat baik, tetapi mereka memiliki tujuan desain yang sangat berbeda. Apache dirancang untuk menjadi segalanya bagi semua orang - sebuah truk tempat Anda dapat mengemas seluruh rumah Anda. nginx dirancang untuk menjadi kecil dan cepat - mobil sport, tetapi Anda tidak dapat membawa serta istri, anak-anak, mertua dan anjing keluarga.Nginx
Saya memiliki beberapa pengalaman bagus dengan Nginx sebagai server web. Saya akan menggabungkannya dengan kerangka kerja wsgi ringan seperti botol atau termos untuk pengembangan aplikasi cepat dengan Python.
Tapi jangan berharap untuk menangani lebih dari 10 atau lebih permintaan per detik :)
Instalasi
Nginx ada dalam repositori Debian / Raspbian dan Arch, sehingga dapat diinstal dengan satu perintah.
Lengkungan
Debian / Raspbian
Konfigurasi
Ada banyak contoh konfigurasi di seluruh web dan penjelasan rinci mungkin di luar cakupan pertanyaan ini. Ada banyak contoh di Nginx Wiki dan milis sangat membantu.
Karena Anda menyebutkan PHP, Anda akan sangat tertarik untuk mengetahui bahwa
/etc/nginx/nginx.conf
file standar berisi contoh PHP.sumber
lighttpd
Server web dengan sumber daya rendah yang hebat adalah lighttpd , yang mendukung PHP dan SSL. Ini muncul untuk dapat bekerja dengan PHP pada Raspberry Pi, dan itu sangat mungkin untuk mengkonfigurasi lighttpd untuk mendukung SecureHTTP .
sumber
node.js
Anda dapat menggunakan node.js untuk membuat server web light waight. Lihat contoh berikut dari situs tutorial node.js:
Kode di atas adalah skrip java sehingga Anda dapat menulis logika pembuatan kode dinamis dalam skrip java dan mulai menggunakannya dalam waktu singkat.
Anda harus mengunduh dan mengatur node.js dari tautan: http: //nodejs.org/ untuk Windows atau platform apa pun yang Anda inginkan.
Mulai server web menggunakan perintah:
sumber
Mungkin Anda bisa melihat apa yang digunakan orang lain pada kotak low end .
Pada dasarnya, ini lighttpd + php-fcgi. Lighttpd benar-benar ringan dan php-fcgi dapat dikonfigurasi untuk menggunakan hanya sedikit memori. Saya sudah mengaturnya di kotak VPS 64MB (bukan nagios, tapi CMS sekalipun).
Saya juga tidak tahu apakah Anda juga perlu mengoptimalkan MySQL untuk menggunakan memori seminimal mungkin .
Ini dapat membantu Anda, mungkin juga tidak. Saya belum mulai menggunakan Raspi saya :)
sumber
Mako Server dan BarracudaDrive berasal dari sumber yang sama dan kedua server ini dapat mengirimkan konten yang dihasilkan secara dinamis (dengan menggunakan bahasa skrip Lua) 70% lebih cepat daripada Apache dapat mengirimkan konten statis. Hasil pembandingan ada di sini: http://barracudadrive.com/blog/2013/03/Apache-Nginx-Lighttpd-Monkey-and-BarracudaDrive-Speed-Test
Server Mako dapat ditemukan di sini: http://makoserver.net/
sumber
Saya menggunakan kombinasi Nginx / Penumpang untuk menjalankan pi.gadgetoid.com 24/7 berbasis Ruby pada Raspberry Pi 512Mb. Ini secara drastis mengungguli pengaturan Thin / Apache yang saya gunakan sebelumnya. Ini adalah situs web publik dengan lalu lintas yang cukup tinggi, walaupun saya telah banyak menipu dengan menggunakan Cloudflare (proxy caching pada dasarnya) untuk menangani sebagian besar volume itu.
Saya cukup yakin konfigurasi ini akan duduk dengan nyaman pada Pi 256MB juga, tapi saya kesulitan menyusun modul Penumpang dan Nginx; mengalami keterbatasan memori.
Saya tahu ini bukan solusi PHP, dan saya mungkin akan dimarahi karena menyarankan jawaban tangental seperti itu; tetapi jika Anda mencari Pi untuk mendorong batas pengetahuan Anda, dan melakukan ini untuk bermain-main santai, saya sangat menyarankan melihat ke Ruby dan Sinatra. Anda akan memiliki kebencian mendidih untuk PHP dalam beberapa minggu.
Pada umumnya Anda tidak akan mengalami banyak kesulitan menjalankan tumpukan web PHP / Apache pada server 256MB. Saya telah melakukan ini untuk situs yang jauh lebih besar dalam kapasitas profesional di hosting berbasis cloud. Saat MySQL terlibat, segalanya menjadi jelek. Menjalankan tumpukan LAMP penuh pada 256MB adalah menyakitkan untuk sedikitnya, tetapi tidak mustahil untuk volume lalu lintas rendah.
sumber