Nginx ( diucapkan engine-x ) adalah gratis, open-source, kinerja tinggi server HTTP dan reverse proxy, serta server IMAP/POP3 proxy. Igor Sysoev memulai pengembangan Nginx pada tahun 2002, dengan rilis publik pertama pada tahun 2004 . Nginx sekarang host hampir 12,18% (22.2M) situs aktif di semua domain.
Nginx dikenal untuk kinerja tinggi, stabilitas, kaya akan fitur,
konfigurasi yang sederhana, dan konsumsi sumber daya yang rendah.
Nginx adalah salah satu dari beberapa server yang ditulis untuk mengatasi masalah C10K . Tidak seperti server tradisional, Nginx tidak bergantung pada benang untuk menangani permintaan. Sebaliknya ia menggunakan event-driven (asynchronous) arsitektur jauh lebih scalable. Arsitektur ini menggunakan kecil, tetapi yang lebih penting, jumlah diprediksi memori bawah beban. Bahkan jika Anda tidak mengharapkan untuk menangani ribuan permintaan simultan, Anda masih bisa mendapatkan keuntungan dari Nginx yang berkinerja tinggi dan memori kecil jejak. Nginx skala segala arah: dari VPS terkecil sepanjang jalan sampai dengan cluster server.
Nginx kekuasaan beberapa situs visibilitas tinggi, seperti as Netflix , Hulu , Pinterest , CloudFlare , Airbnb , WordPress.com , GitHub , SoundCloud , Zynga , Eventbrite , Zappos , Media Temple , Heroku , RightScale , mesin Yard, dan MaxCDN
sumber : nginx
Install Server Web Nginx
Untuk menampilkan halaman web pada pengunjung website kita, kita akan memasang Nginx, server web yang moderen dan efisien.
Semua software untuk keperluan prosedur ini akan menggunakan bawaan default dari repositori paket dari Ubuntu. Ini artinya, kita akan menggunakan manajemen paket
apt
untuk melengkapi instalasi.
Karena ini adalah penggunaan pertama kali
apt
untuk sesi ini, kita harus memulainya dengan meng-update indeks paket lokal kita. Baru kemudian kita dapat meng-install server:sudo apt-get update
sudo apt-get install nginx
Dalam Ubuntu 14.04, Nginx dikonfigurasi untuk mulai berjalan setelah instalasi. Anda dapat mengetesnya dengan mengakses nama domain server atau alamat IP publik pada browser Anda.
Install MySQL untuk Pengelolaan Data
Anda dapat dapat menjalankan perintah di bawah ini untuk mengins
Software database MySQL sekarang sudah ter-install, namun konfigurasinya belum selesai.
Pertama-tama, kita perlu memberitahu MySQL untuk men-generate struktur direktori yang diperlukan untuk menyimpan database dan informasi. Kita dapat melakukannya dengan mengetikkan:
sudo mysql_install_db
sudo mysql_secure_installation
Anda perlu memasukkan password root MySQL yang telah diatur sebelumnya.
Selanjutnya, akan ditanyakan barangkali Anda ingin mengganti password tersebut. Jika tidak diperlukan dan sudah cocok dengan password saat ini, ketik "N" untuk tidak dan tekan "ENTER". Setelah itu, Anda akan dikonfirmasi untuk menghilangkan beberapa user test dan database. Anda sebaiknya menekan "ENTER" untuk jawaban konfirmasi tadi untuk menghilangkan setting-an default yang tidak aman ini.
Setelah selesai, MySQL siap untuk berjalan.
Sekarang kita telah memiliki Nginx yang sudah ter-install untuk melayani halaman-halaman web kita dan MySQL yang juga telah ter-install untuk menyimpan dan mengelola data. Namun, kita masih memerlukan sesuatu untuk menghubungkan kedua bagian ini dan menghasilkan konten yang dinamis. Kita akan menggunakan PHP untuk keperluan ini.
Karena Nginx tidak memiliki PHP processing native seperti server web lainnya, kita perlu meng-install
php5-fpm
, yang merupakan "fastCGI process manager". Kita akan memberitahukan Nginx untuk memproses request PHP pada software ini.Kita dapat meng-install modul ini dan akan memasang pula paket-paket bantuan tambahan yang akan memungkinkan PHP berkomunikasi dengan database backend. Proses instalasinya akan memasang file-file utama PHP yang diperlukan. Lakukan dengan mengetikkan:
sudo apt-get install php5-fpm php5-mysql
Mengkonfigurasi PHP Processor
Sekarang kita telah memiliki komponen PHP yang sudah ter-install. Namun masih diperlukan beberapa perubahan kecil pada konfigurasinya untuk membuatnya lebih aman (secure).Buka file konfigurasi utama
php5-fpm
dengan privilege root:
sudo nano /etc/php5/fpm/php.ini
Apa yang kita cari pada file ini adalah parameter yang mengatur
cgi.fix_pathinfo
. Ini akan kita aktifkan. Nilainya adalah "1" secara default.Dan ini adalah konfigurasi yang sangat tidak aman karena hal ini memberitahukan PHP untuk mencoba mengeksekusi file terdekat yang dapat ditemui jika file PHP yang dicari tidak ditemukan. Ini secara mendasar akan memungkinkan user untuk membuat request PHP dalam cara bagaimana server mengeksekusi / menjalankan script yang seharusnya tidak boleh dijalankan.
Kita akan mengubah konfigurasi ini dengan memberinya nilai "0" seperti ini:
cgi.fix_pathinfo=0
Simpan dan tutup file jika telah selesai.
Sekarang, kita hanya perlu melakukan restart PHP processor kita dengan mengetikkan:
sudo service php5-fpm restart
Ini akan mengaplikasikan perubahan konfigurasi yang telah kita buat.
Mengkonfigurasi Nginx untuk Menggunakan PHP Processor
Sekarang kita telah memiliki semua komponen yang dibutuhkan. Satu-satunya perubahan konfigurasi terakhir yang pelru kita lakukan adalah memberitahukan Nginx untuk menggunakan PHP processor untuk memproses konten dinamis.
Kita melakukan hal ini pada level blok server (blok-blok server mirip dengan host virtual pada Apache). Buka file konfigurasi blok server default Nginx dengan mengetikkan:
sudo nano /etc/nginx/sites-available/default
Saat ini, dengan menghilangkan baris-baris komentar, file blok server default akan terlihat sebagai berikut:
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
root /usr/share/nginx/html;
index index.html index.htm;
server_name localhost;
location / {
try_files $uri $uri/ =404;
}
}
Kita perlu membuat beberapa perubahan pada file ini untuk website kita.
- Pertama, kita perlu menambahkan opsi
index.php
sebagai nilai pertama untuk bagianindex
kita untuk membuat file indeks PHP dijalankan ketika adanya request pada suatu direktori. - Kita juga perlu memodifikasi bagian
server_name
untuk mengarah pada nama domain server kita atau alamat IP publik. - File konfigurasi berisi beberapa baris pernyataan yang diformat sebagai komentar yang mendeskripsikan rutin prosesing error. Kita akan mengubah / mengaktifkan (commented out) status komentar tersebut untuk mengaktifkan fungsinya.
- Untuk PHP processing yang benar, kita perlu melakukan uncomment porsi dari beberapa bagian. Kita juga perlu untuk menambahkan bagian
try_files
untuk memastikan Nginx tidak memproses request yang tidak sesuai pada PHP processor.
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
root /usr/share/nginx/html;
index index.php index.html index.htm;
server_name server_domain_name_or_IP;
location / {
try_files $uri $uri/ =404;
}
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
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;
}
}
Jika telah dilakukan perubahan di atas, silahkan Save dan Tutup file.
Restart Nginx untuk menerapkan perubahan yang telah dibuat:
sudo service nginx restart
0 comments:
Posting Komentar