1. Instal Layanan VSFTPD di Ubuntu
1. Instalasi
sudo apt-get install vsftpd
2. Tambahkan Pengguna (UFTP)
sudo useradd -d /home/uftp -s /bin/bash uftp
3. Tetapkan Kata Sandi Pengguna
sudo useradd -d /home/uftp -s /bin/bash uftp
4. Buat direktori pengguna
sudo mkdir /home/uftp
5. Tetapkan Kata Sandi Pengguna
sudo passwd uftp
6. Atur file konfigurasi /etc/vsftpd.conf
sudo vim /etc/vsftpd.conf
A. Ubah izin untuk mengunggah file:
Akan ada masalah di sini. Secara default, izin default adalah 077, yang berarti 700 yang sesuai di Linux. Aturan perhitungan adalah izin Linux 777 - local_umask
Jika izin file local_umask tidak diatur, file yang diunggah tidak akan dapat mengaksesnya melalui server (izin yang hilang)
B. Tambahkan di akhir file konfigurasi:
userlist_deny = no userlist_enable = yes userlist_file =/etc/apled_users seccomp_sandbox = no local_enable = ya
C. Atur izin untuk mengunggah file:
write_enable = YES
Jika Anda tidak mengaturnya ke ya, mengunggah file tidak diizinkan secara default.
7. Buat /etc /diizinkan_Users
Tambahkan Izinkan Tugas untuk ditambahkan ke file.
8. Mulai ulang layanan
sudo service vsftpd restart
9. Gunakan XFTP untuk menguji koneksi
Gunakan XFTP untuk membuat koneksi baru. Di sini Anda perlu memperhatikan Protokol FTP yang Anda pilih. Port adalah 21. Setelah mengisi kata sandi akun, Anda dapat terhubung ke server kami.
Tes File Unggah:
File txt diunggah di sini, dan kita dapat melihat bahwa izin file adalah 666. Ini terutama karena kami mengatur izin setelah mengunggah file local_umask.
2. Java ftpClient mengimplementasikan unggahan file
1. Ketergantungan Maven
<!-Komponen Alat Apache-> <dependency> <GroupId> org.apache.commons </groupid> <ArtiFacTid> commons-lang3 </t Artifactid> </dependency> <dependency> <groupid> org. <ArTifactId> Commons-net </artifactid> </gantisan>
2. Buat objek FTPClient untuk terhubung dari jarak jauh ke server
FtpClient ftp = ftpclient baru (); // tautan layanan jarak jauh ftp.connect ("192.168.148.128", 21);Hasil koneksi dapat dilihat di debug:
3. Server login FTPClient
ftp.login ("uftp", "**"); // kembalikan status hasil login int balasan = ftp.getReplycode (); if (! ftpreply.ispositiveCompletion (balasan)) {ftp.disconnect (); kembali ; }Kami dapat memeriksa apakah pengguna masuk dengan sukses dengan menilai kode balasan dan ReplyString!
4. Modifikasi jalur unggahan file dan jenis file
// Ubah jalur unggahan file ftp.changeworkingdirectory ("/home/uftp/gambar/"); // ubah jenis file ftp.setFileType (ftp.binary_file_type);5. Unggah file
// Dapatkan aliran input file yang diunggah fileInputStream fileInputStream = new fileInputStream (file baru ("d: /123.jpg")); // dorong file ke server ftp.storefile ("hello.jpg", fileInputStream);Setelah file unggahan selesai, unggahan berhasil dengan memeriksa hasil pengembalian.
6. Keluar
// login ftp.logout ();
Langkah -langkah di atas adalah menggunakan FTPClient untuk menyelesaikan operasi unggahan file.
3. Gunakan nginx untuk melihat gambar server
1. File Konfigurasi Nginx
Tambahkan resolusi alamat gambar di server
Lokasi ~.*/. (Gif | jpg | jpeg | bmp | png | ico | txt) $ {root/home/uftp/gambar; kedaluwarsa 7d; }2. Restart nginx
./nginx -s reload
3. Lihat gambar
http://192.168.148.128/hello.jpg
Ringkasan: Pada titik ini, kami menyelesaikan unggahan sederhana gambar ke server dan menampilkan demo kecil. Masalah utama yang dihadapi selama proses konfigurasi adalah tentang izin file. Jika local_umask tidak diatur dalam file konfigurasi di VSFTPD, bahkan jika kami berhasil mengunggah file, kami tidak dapat menggunakan Nginx untuk menelusuri. Setel write_enable = ya untuk memastikan bahwa file dapat diunggah.
Di atas adalah semua konten artikel ini. Saya berharap konten artikel ini akan membantu untuk belajar atau bekerja semua orang. Saya juga berharap untuk mendukung wulin.com lebih lanjut!