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 alasan Rust menjadi semakin populer adalah kemudahan penggunaannya untuk membangun aplikasi Web dengan berbagai kerangka kerja yang tersedia, seperti Actix Web dan Rocket.
Rust juga memiliki kargo, manajer build dan paket yang hebat yang membuat mengelola ketergantungan dan menyusun aplikasi mudah. Dengan menggunakan Crates.io, Rust memiliki ekosistem perpustakaan (peti) yang luas, memungkinkan kami untuk membangun aplikasi yang kompleks dengan kode minimal.
Dalam tutorial ini, kami akan membuat aplikasi web sederhana, mengkompilasinya, 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
Buat direktori untuk proyek karat:
kargo baru cd cd cd rustweb
|
muatanbaruRustweb CDRustweb |
Membuka src/main.rs mengajukan:
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:
Biner aplikasi akan ditempatkan di Target/Rilis/Rustweb.
Membuat layanan
Membuat File Layanan SystemD:
sudo nano /etc/systemd/system/rustweb.service
|
sudonano/dll./Systemd/sistem/Rustweb.melayani |
Isi file:
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 |
Buat 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 |
Uji aplikasi
Buka browser Anda dan kunjungi alamatnya:
Hasilnya adalah teks “Halo, Dunia!”.
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

