Rust adalah bahasa pemrograman yang dikenal dengan kinerja tinggi, keamanan memori tanpa pengumpul sampah, dan kemampuannya untuk membangun aplikasi yang cepat dan efisien. Salah satu hal yang membuat karat lebih populer adalah kemudahan penggunaan untuk membangun aplikasi web dengan berbagai kerangka kerja yang tersedia, seperti Web Actix dan Rocket.
Rust juga memiliki kargo, manajer build dan paket yang sangat baik, yang memfasilitasi manajemen dependensi dan kompilasi aplikasi. Dengan menggunakan Crates.io, Rust memiliki ekosistem perpustakaan yang sangat besar (Crate), memungkinkan kami untuk membangun aplikasi yang kompleks dengan kode kecil.
Dalam tutorial ini, kami akan membuat aplikasi web sederhana dengan karat, kompilasi, dan kemudian menggunakannya menggunakan Nginx sebagai proxy terbalik.
Pasang dependensi dan karat
Perbarui dan instal dependensi:
sudo apt update sudo apt install build -eSsential -y
|
sudotepatmemperbarui sudotepatmemasangmembangun–penting–y |
Instal Rust:
Curl -ssf | sh
|
keritinghttps://sh.rustup.rs -ssf | sh |
Verifikasi pemasangan karat dan kargo:
Rustup –version rustc –version kargo –versi
|
Rustup–versi Rustc–versi muatan–versi |
Respons yang dihasilkan:
Rustc 1.82.0 (F6E511EEC 2024-10-15) Cargo 1.82.0 (8F40FC59F 2024-08-21)
|
Rustc1.82.0(f6e511eec2024–10–15) muatan1.82.0(8F40FC59F2024–08–21) |
Membuat aplikasi karat
Membuat direktori untuk proyek karat:
kargo baru cd cd cd rustweb
|
muatanbaruRustweb CDRustweb |
Buka file src/main.rs:
Ganti konten dengan kode berikut:
Gunakan std :: io :: prelude ::*; Gunakan std :: net :: {tcPlistener, tcpStream}; fn handle_connection (mut stream: tcpstream) {biarkan mut buffer = [0; 512]; stream.read (& mut buffer) .unwrap (); Biarkan respons = “http/1.1 200 ok \ r \ ncontent-tipe: teks/html; charset = utf-8 \ r \ n \ r \ n
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
menggunakanstd::io::prelude::*; menggunakanstd::bersih::{Tcplisten,Tcpstream}; fnhandle_connection(mutsungai kecil:Tcpstream){ membiarkanmutpenyangga=[0;512]; sungai kecil.membaca(&mutpenyangga).membuka(); membiarkantanggapan=“Http/1.1 200 ok \ r \ ncontent-type: text/html; charset = utf-8 \ r \ n \ r \ n Halo, dunia! “; sungai kecil.menulis(tanggapan.as_bytes()).membuka(); sungai kecil.menyiram().membuka(); } fnutama(){ // Bind Server ke LocalHost: 8000 membiarkanpendengar=Tcplisten::mengikat(“127.0.0.1:8000”).membuka(); printlnLai(“Server berjalan di http://127.0.0.1:8000”); untuksungai kecildi dalampendengar.masuk(){ membiarkansungai kecil=sungai kecil.membuka(); handle_connection(sungai kecil); } } |
Kompilasi Aplikasi:
Aplikasi biner akan aktif Target/Rilis/Rustweb
Membuat layanan
Membuat Layanan File:
sudo nano /etc/systemd/system/rustweb.service
|
sudonano/dll./Systemd/sistem/Rustweb.melayani |
MENGAJUKAN:
Deskripsi = aplikasi web karat setelah = network.target
[Service]
User = youghuSer group = yourUser workingDirectory =/home/youghoSer/rustweb execStart =/home/youghoSer/rustweb/target/rilis/rustweb restart = selalu
[Install]
Wantedby = multi-user.target
|
[Unit] Keterangan=KaratWebAplikasi Setelah=jaringan.target [Service] Pengguna=YourUser Kelompok=YourUser WorkingDirectory=/rumah/YourUser/Rustweb EXECSTART=/rumah/YourUser/Rustweb/target/melepaskan/Rustweb Restart=selalu [Install] Dicari=multi–pengguna.target |
Aktifkan Layanan:
Sudo Systemctl Daemon-Reload Sudo Systemctl Aktifkan RustWeb Sudo Systemctl Mulai RustWeb Sudo Systemctl Status RustWeb
|
sudoSystemctlDaemon–Muat ulang sudoSystemctlmemungkinkanRustweb sudoSystemctlawalRustweb sudoSystemctlstatusRustweb |
Konfigurasi nginx
Instal Nginx:
sudo apt install nginx -y
|
sudotepatmemasangNginx–y |
Membuat file konfigurasi nginx:
sudo nano /etc/nginx/conf.d/rustweb.conf
|
sudonano/dll./Nginx/conf.D/Rustweb.conf |
Isi file:
server {dengarkan 80; server_name example.com; Lokasi / {proxy_pass proxy_set_header host $ host; proxy_set_header x-real-ip $ remote_addr; proxy_set_header X-forwarded-for $ proxy_add_x_forwarded_for; }}
|
server{ mendengarkan80; server_namecontoh.com; Lokasi/{ proxy_passhttp://127.0.0.1:8000; proxy_set_headerTuan rumah$tuan rumah; proxy_set_headerX–Nyata–AKU P$remote_addr; proxy_set_headerX–Diteruskan–Untuk$proxy_add_x_forwarded_for; } } |
Restart nginx:
Sudo Systemctl restart nginx
|
sudoSystemctlrestartNginx |
Tes aplikasi
Buka browser dan kunjungi alamatnya:
Hasilnya adalah teks “Halo, dunia!”.
Semoga Sukses 🙂
Quick Count
Berita Olahraga
News
Berita Terkini
Berita Terbaru
Berita Teknologi
Seputar Teknologi
Drama Korea
Resep Masakan
Pendidikan
Berita Terbaru
Berita Terbaru
Berita Terbaru
Lifestyle
