Meningkatkan Upload Maksimum Server Nginx

If you have problem with this post language, jump to this silent video for tutorial, increase maximum upload on nginx web server engine (413 Request Entry Too Large).

Nginx merupakan salah satu web server engine yang banyak digunakan di berbagai server aplikasi web. Dibandingkan apache, nginx memiliki keuggulan dalam menangani trafik tinggi. Nginx tidak banyak menghabiskan memori server dalam menjalankan beberapa perintah secara bersamaan. Server WordPress.com yang diketahui memiliki banyak user dan diakses jutaan orang setiap detik adalah salah satu server yang menggunakan nginx. Tentu untuk menangani kondisi tersebut dibutuhkan kemampuan mesin server yang tangguh, tak hanya hardware tetapi juga software.

Seminggu yang lalu salah satu teman saya ingin mencoba menggunakan nginx untuk web server engine. Sistem operasi yang digunakan adalah TurnKey Linux yang dalam paket distribusinya dapat dipilih beberapa variasi software yang disertakan. teman saya memilih paket distribusi yang di dalamnya sudah termasuk nginx, php, mysql, dan phpmyadmin yang dikelola menggunakan webmin. Saya menyarankan untuk dicoba dalam virtual engine terlebih dahulu. Karena kurang familiar, akhirnya saya juga yang melakukan instalasi.

Proses instalasi TurnKey Linux cukup mudah, terlebih saya menggunakan vmware. Turnkey merupakan varian dari Debian 6, informasi ini cukup berguna saat instalasi TurnKey dalam vmware. Saya hanya menggunakan RAM 256MB dan 4GB harddisk, meski sebenarnya virtual harddisk 1GB sudah mencukupi. Dalam proses instalasi ditanyakan password untuk user Linux, MySQL, dan Webmin.

Setelah selesai instalasi saya mencoba memasang wordpress ke dalam server. Setelah sampai muncul hello world saya anggap semua sudah selesai. Beberapa hari yang lalu teman saya komplain tidak dapat upload file ke server untuk instalasi theme dan plugins wordpress (413 Request Entry Too Large). Saya mencoba mencari informasi problem solving untuk permasalahan ini. Kebanyakan yang disarankan ternyata hanya dapat diaplikasikan pada apache server engine.

Saya mencoba beberapa kali mengubah konfigurasi server tetapi beberapa kali itu pula gagal mengatasi masalah. Saya mencoba mengubah baris “max_file_upload = 64M” pada file php.ini tetapi ternyata permasalahan bukan hanya pada konfigiurasi PHP. File php.ini terdapat pada direktori /etc/php5/cgi/ dan pada /etc/php5/cli/.

Permasalahan ada pada nginx itu sendiri. Untuk mengatasinya bisa dengan menambahkan baris “client_max_body_size 64M” pada file konfigurasi nginx. File konfigurasi nginx berada pada direktori /etc/nginx. Biasanya pada file nginx.conf terdapat baris untuk definisi konfigurasi server, tetapi dalam TurnKey Linux ternyata definisi konfigurasi server diatur dalam file yang berada pada direktori /etc/nginx/sites-available.

Tambahkan baris “client_max_body_size **M” (tanpa tanda petik) pada baris di dalam grup definisi server, dengan ** merupakan angka ukuran file maksimum dalam satuan MB. Misal pada file default yang ada pada direktori /etc/nginx/sites-available sebagai berikut:

server {
    listen 0.0.0.0:80;
    root /var/www/;
    index index.html index.php;

    include /etc/nginx/include/php;
}

server {
    listen 0.0.0.0:443;
    root /var/www/;
    index index.html index.php;

    fastcgi_param HTTPS on;
    include /etc/nginx/include/ssl;
    include /etc/nginx/include/php;
}
server {
    listen 0.0.0.0:80;
    client_max_body_size 64M;
    root /var/www/;
    index index.html index.php;

    include /etc/nginx/include/php;
}

server {
    listen 0.0.0.0:443;
    client_max_body_size 64M;
    root /var/www/;
    index index.html index.php;

    fastcgi_param HTTPS on;
    include /etc/nginx/include/ssl;
    include /etc/nginx/include/php;
}

Lakukan restart server setelah selesai melakukan konfigurasi. Untuk melakukan tes konfigurasi yang baru, coba upload kembali file theme atau plugins wordpress melalui wordpress backend atau wordpress admin.

Voila!!! Happy Uploading….

Penulis: Muh.Ahsan

Geoscience application specialist, technical evangelist, music lover, movie buff, and active blogger.

Tinggalkan Tanggapan

This site uses Akismet to reduce spam. Learn how your comment data is processed.