Rumahweb Journal
Banner - apa itu openresty

Apa Itu OpenResty dan Cara Install di VPS Ubuntu

OpenResty adalah platform open-source berbasis Nginx yang dirancang untuk membangun webserver yang lebih efisien daripada Nginx, terutama dalam menangani lalu lintas tinggi. Dalam artikel ini, kami akan membahas secara mendalam tentang apa itu OpenResty hingga cara install di VPS Ubuntu.

Apa Itu OpenResty?

OpenResty adalah platform yang menggabungkan Nginx dengan berbagai modul tambahan, salah satunya LuaJIT. Dengan LuaJIT, Anda bisa menjalankan kode Lua langsung di dalam server web, yang membuat aplikasi berjalan lebih cepat dan responsif.

Keunggulan lain dari OpenResty adalah kemampuannya mengintegrasikan berbagai modul dari pihak ketiga, sehingga server menjadi lebih efisien dan fleksibel. OpenResty memungkinkan aplikasi web dijalankan langsung di dalam server Nginx tanpa perlu middleware tambahan seperti PHP, Python, atau Node.js.

Singkatnya, OpenResty adalah server aplikasi berbasis Nginx yang sudah dioptimalkan untuk mendukung bahasa Lua. Kombinasi ini menjadikan OpenResty pilihan ideal untuk membangun API, sistem caching, load balancer, dan layanan web lainnya yang membutuhkan performa tinggi dan latensi rendah.

Fitur dan Kelebihan OpenResty

Berikut adalah beberapa fitur dan kelebihan dari OpenResty.

1. Terintegrasi dengan Nginx  

OpenResty dibangun diatas webserver Nginx, sehingga Openresty memiliki fitur dari Nginx. Kemampuan menangani atau menerima banyak koneksi sekaligus, serta sistem load balancing yang handal. 

Pindah Hosting ke Rumahweb Gratis

2. Menggunakan LuaJIT  

OpenResty menggunakan LuaJIT, yaitu sebuah Just-In-Time Compiler untuk bahasa pemrogramman Lua. Dengan LuaJIT, eksekusi kode Lua berjalan lebih cepat dan mendekati performa bahasa pemrograman seperti C. 

3. Modul tambahan untuk Nginx  

OpenResty menyediakan berbagai modul yang tidak tersedia dalam Nginx asli, yaitu modul berikut ini:

  • ngx_lua: Berfungsi agar eksekusi kode Lua langsung dalam request handler yang sama. 
  • ngx_resty_core: Menyediakan berbagai API tambahan untuk meningkatkan kemampuan Nginx.
  • ngx_http_lua_module: Modul utama bahasa Lua dijalankan pada tahap pemrosesan HTTP Request.

4. Kemampuan Caching yang Efektif  

Dengan memanfaatkan fitur shared dictionaries berbasis Lua, OpenResty dapat berfungsi sebagai sistem caching yang advance, dapat membantu mengurangi beban server dan mempercepat pemrosesan data.

5. Dukungan Non-Blocking I/O  

OpenResty mendukung operasi asynchronous I/O, yang memungkinkan sistem menangani ribuan koneksi secara bersamaan tanpa mengalami bottleneck, sehingga meningkatkan efisiensi dan kinerja server.

6. Kompatibilitas dengan Berbagai Database  

OpenResty mendukung integrasi langsung dengan berbagai jenis database, termasuk: 

  • MySQL  
  • PostgreSQL  
  • Redis  
  • MongoDB  
  • Cassandra  

Dengan fitur-fitur ini, OpenResty menjadi solusi yang fleksibel dan efisien untuk membangun aplikasi web dengan performa tinggi.

7. Fitur Keamanan

Karena berbasis Nginx, OpenResty mewarisi berbagai fitur keamanan dari Nginx, seperti:

  • Dukungan SSL/TLS untuk enkripsi komunikasi
  • Rate limiting untuk mencegah serangan DDoS
  • Request filtering dan blocking berdasarkan rule yang sudah dibuat 
  • Kompatibel untuk sistem WAF

Selain itu, dengan menggunakan bahasa Lua, pengguna OpenResty dapat menerapkan logika keamanan tambahan, seperti validasi input yang lebih ketat, pembuatan firewall untuk aplikasi (WAF), atau autentikasi khusus untuk sistem web tertentu.

8. Resource yang ringan

Dibandingkan dengan server aplikasi berbasis Java, Node.js, atau PHP-FPM, OpenResty jauh lebih ringan dalam penggunaan resource pada server. Karena OpenResty dapat menangani pemrosesan logika bisnis langsung di dalam server Nginx tanpa middleware tambahan, penggunaan CPU dan RAM dapat ditekan seminimal mungkin.

Hal ini menjadikannya pilihan yang sangat baik untuk digunakan pada server dengan spesifikasi rendah atau dalam lingkungan yang membutuhkan efisiensi tinggi.

Lebih Baik Nginx atau OpenResty?

Nginx dan OpenResty sering digunakan untuk menjadi webserver utama, tetapi keduanya memiliki perbedaan yang cukup signifikan, sehingga tiap webserver lebih cocok untuk kebutuhan masing-masing. Berikut adalah perbandingan antara Nginx dan OpenResty dari berbagai aspek:

1. Arsitektur sistem dan Pengembangan

  • Nginx adalah server web dan reverse proxy yang sangat cepat dan efisien dalam menangani banyak koneksi simultan. Nginx menggunakan arsitektur event-driven yang membuatnya lebih ringan dibandingkan server berbasis threading seperti Apache.
  • OpenResty adalah pengembangan dari Nginx yang ditingkatkan dengan dukungan LuaJIT dan berbagai modul tambahan. OpenResty memungkinkan penggunaan bahasa pemrograman Lua untuk mengatur request dan response dengan lebih fleksibel.

2. Performa dan Efisiensi

  • Nginx terkenal dengan efisiensinya dalam menangani lalu lintas web yang tinggi dengan konsumsi sumber daya yang rendah.
  • OpenResty memiliki performa yang sebanding dengan Nginx tetapi lebih fleksibel berkat dukungan scripting Lua. LuaJIT yang digunakan oleh OpenResty memiliki kecepatan hampir setara dengan C, sehingga tambahan fitur tidak terlalu membebani server.

3. Fleksibilitas dan Kustomisasi

  • Nginx mengandalkan konfigurasi berbasis file dan modul bawaan. Untuk menambahkan fitur khusus, biasanya harus menggunakan ekstensi pihak ketiga atau menulis modul dalam C.
  • OpenResty memungkinkan pengguna menulis skrip dalam Lua untuk menangani request dengan cara yang lebih fleksibel, seperti autentikasi kustom, load balancing berbasis aturan, dan modifikasi request-response secara real-time.

4. Dukungan Modul dan Integrasi

  • Nginx memiliki berbagai modul bawaan, seperti proxying, caching, dan load balancing, tetapi fitur tambahan sering kali memerlukan kompilasi ulang atau konfigurasi manual.
  • OpenResty sudah menyertakan banyak modul tambahan di dalamnya, seperti:
    • ngx_lua untuk menjalankan Lua
    • lua-resty-redis untuk koneksi langsung ke Redis
    • lua-resty-mysql untuk integrasi MySQL tanpa middleware tambahan

5. Keamanan

  • Nginx memiliki berbagai fitur keamanan seperti rate limiting, DDoS protection, dan request filtering.
  • OpenResty juga mewarisi semua fitur keamanan Nginx, tetapi dengan tambahan kemampuan scripting untuk menerapkan aturan keamanan yang lebih kompleks. Misalnya, OpenResty dapat digunakan untuk membuat firewall berbasis aplikasi, autentikasi API kustom, atau sistem anti-bot.

Cara Install OpenResty di VPS Ubuntu

OpenResty dapat mudah di install pada VPS Ubuntu 20.04, pada kali ini kita akan mencoba installasi OpenResty menggunakan apt, Sebelum installasi pastikan tidak ada webserver yang aktif didalam server, semisal apache atau nginx.

Step 1. Installasi Package

Sebelum memulai installasi OpenResty, Kita perlu melakukan update dan upgrade pada kernel OS Ubuntu.

# sudo apt update
# sudo apt upgrade

Ketika package telah di update, selanjutnya menginstall package yang dibutuhkan untuk openresty agar dapat berjalan.

# sudo apt install -y curl wget gnupg ca-certificates lsb-release software-properties-common 
package openresty

Step 2. Import Key OpenResty

Langkah selanjutnya adalah mengimport GPG Key. Silahkan gunakan perintah berikut:

# wget -O - https://openresty.org/package/pubkey.gpg | sudo apt-key add -

Lalu, tambahkan Repository dari openresty dengan perintah:

# echo "deb http://openresty.org/package/ubuntu $(lsb_release -sc) main" > openresty.list
# sudo cp openresty.list /etc/apt/sources.list.d/
repository openresty

Tambahkan repository Openresty, jika sudah ditambahkan, jalankan update untuk verifikasi repository sebelum menginstall.

# echo "deb http://openresty.org/package/arm64/ubuntu $(lsb_release -sc) main"
# sudo apt-get update

Step 3. Install dan Menjalankan OpenResty

Setelah menambahkan repository dan menjalankan update, langkah selanjutnya adalah installasi openresty.

# sudo apt-get -y install --no-install-recommends openresty
cara install openresty

Jika telah menginstall, verifikasi installasi openresty dengan menjalankan.

# which openresty atau openresty -V
cek openresty versi

Step 4. Verifikasi Installasi dan Pengujian

Sampai saat ini kita telah berhasil menginstall OpenResty, langkah selanjutnya adalah menjalankan OpenResty dan mencoba melakukan pengujian dengan curl.

# sudo systemctl start openresty

Periksa apakah openresty telah berhasil dijalankan dengan systemctl.

# systemctl status openresty
status openresty

Kita dapat mencoba mengakses IP address server kita untuk memastikan apakah OpenResty telah berjalan.

defaultpage openresty

Kita juga dapat melakukan pemeriksaan menggunakan curl pada ssh.

curl openresty

Demikian artikel kami tentang apa itu OpenResty, fiturnya, hingga cara install OpenResty di Ubuntu pada layanan VPS KVM. Semoga bermanfaat.

Bermanfaatkah Artikel Ini?

Klik bintang 5 untuk rating!

Rating rata-rata 0 / 5. Vote count: 0

Belum ada vote hingga saat ini!

Kami mohon maaf artikel ini kurang berguna untuk Anda!

Mari kita perbaiki artikel ini!

Beri tahu kami bagaimana kami dapat meningkatkan artikel ini?

Cloud Hosting Terbaik Rumahweb

Andika Dwi Setyawan

Andika Dwi Setyawan, atau yang akrab disapa Andika, adalah seorang System Administrator di Rumahweb dengan passion mendalam di dunia teknologi cloud. Berbekal pengalaman mengelola infrastruktur berbasis Linux hingga Kubernetes, Andika ingin berbagi panduan konfigurasi server yang tidak hanya teknis, tetapi juga praktis, membantu banyak orang dalam mengoptimalkan performa dan keamanan infrastruktur digital.

banner pop up - VPS Indonesia