Senin, 30 Juni 2014

Cara installasi server menggunakan NGINX

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

Anda kemudian akan diminta untuk menyediakan password root (administratif) untuk digunakan dalam sistim MySQL.
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

Selanjutnya, lakukan script sekuriti yang simpel untuk memodifikasi beberapa konfigurasi default yang tidak aman. Mulailah dengan mengetikkan:
 
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.
 
Install PHP untuk Processing

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 bagian index 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.
Perubahan yang perlu Anda buat adalah seperti yang diwarnai merah pada teks berikut ini:
 
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