1. تثبيت خدمة VSFTPD على Ubuntu
1. التثبيت
sudo apt-get install vsftpd
2. أضف المستخدم (UFTP)
sudo useradd -d /home/uftp -s /bin/bash uftp
3. اضبط كلمة مرور المستخدم
sudo useradd -d /home/uftp -s /bin/bash uftp
4. إنشاء دليل مستخدم
sudo mkdir /home/uftp
5. تعيين كلمة مرور المستخدم
sudo passwd uftp
6. اضبط ملف تكوين /etc/vsftpd.conf
sudo vim /etc/vsftpd.conf
أ. تعديل الأذونات لتحميل الملفات:
ستكون هناك مشكلة هنا. بشكل افتراضي ، يكون الإذن الافتراضي هو 077 ، مما يعني 700 المقابلة في Linux. قاعدة الحساب هي إذن Linux 777 - local_umask
إذا لم يتم تعيين إذن ملف Local_umask ، فلن يتمكن الملف الذي تم تحميله من الوصول إليه من خلال الخادم (الأذونات المفقودة)
ب. أضف في نهاية ملف التكوين:
userlist_deny = لا يوجد userlist_enable = yes userlist_file =/etc/showld_users seccomp_sandbox = no local_enable = yes
ج. قم بتعيين أذونات لتحميل الملفات:
write_enable = YES
إذا لم تقم بتعيينه على نعم ، فلا يُسمح بتحميل الملفات افتراضيًا.
7. إنشاء /etc /المسموح به
إضافة السماح بإضافة المهام إلى الملف.
8. أعد تشغيل الخدمة
sudo service vsftpd restart
9. استخدم XFTP لاختبار الاتصال
استخدم XFTP لإنشاء اتصال جديد. هنا تحتاج إلى الانتباه إلى بروتوكول FTP الذي حددته. المنفذ هو 21. بعد ملء كلمة مرور الحساب ، يمكنك الاتصال بخادمنا.
ملف تحميل التحميل:
يتم تحميل ملف TXT هنا ، ويمكننا أن نرى أن أذونات الملف هي 666. وذلك أساسًا لأننا نضع الأذونات بعد تحميل الملف المحلي.
2. Java FtpClient تنفذ تحميل الملف
1. تبعية مافن
<!-مكونات أداة Apache-> <reperency> <roupiD> org.apache.commons </groupId> <StifactId> المشاع-lang3 </sontifactid> </semplency> <nemperency> <groupid> org.apache <StifactId> المشاع-net </artifactId> </premency>
2. قم بإنشاء كائن FTPClient للاتصال عن بُعد بالخادم
ftpclient ftp = new ftpclient () ؛ // Link Remote Service ftp.connect ("192.168.148.128" ، 21) ؛يمكن الاطلاع على نتيجة الاتصال في التصحيح:
3. خادم تسجيل الدخول إلى FTPCLIENT
ftp.login ("uftp" ، "**") ؛ // إرجاع حالة نتيجة تسجيل الدخول int reply = ftp.getReplyCode () ؛ if (! ftpreply.ispositivecOption (الرد)) {ftp.disconnect () ؛ يعود ؛ }يمكننا التحقق مما إذا كان المستخدم قام بتسجيل الدخول بنجاح عن طريق الحكم على رمز الرد والرد!
4. تعديل مسار تحميل الملف ونوع الملف
// تعديل مسار ملف التحميل ftp.ChangeWorkingDirectory ("/home/uftp/images/") ؛ // تعديل نوع الملف ftp.setfiletype (ftp.binary_file_type) ؛5. تحميل الملفات
// احصل على دفق الإدخال للملفات التي تم تحميلها fileInputStream FileInputStream = جديد fileInputStream (ملف جديد ("d: /123.jpg")) ؛ // اضغط على الملف إلى الخادم ftp.storefile ("hello.jpg" ، fileInputStream) ؛بعد اكتمال ملف التحميل ، ينجح التحميل عن طريق التحقق من نتيجة الإرجاع.
6. تسجيل الخروج
// login ftp.logout () ؛
الخطوات المذكورة أعلاه هي استخدام FTPClient لإكمال عملية تحميل الملف.
3. استخدم nginx لعرض صور الخادم
1. ملف تكوين nginx
أضف دقة عنوان الصورة في الخادم
الموقع ~.*/. (gif | jpg | jpeg | bmp | png | ico | txt) $ {root/home/uftp/images ؛ تنتهي 7D. }2. إعادة تشغيل nginx
./nginx -s reload
3. عرض الصور
http://192.168.148.128/hello.jpg
ملخص: في هذه المرحلة ، أكملنا تحميلًا بسيطًا من الصورة إلى الخادم وعرضنا عرضًا تجريبيًا صغيرًا. المشكلة الرئيسية التي واجهتها أثناء عملية التكوين هي حول أذونات الملفات. إذا لم يتم تعيين Local_umask في ملف التكوين في VSFTPD ، حتى لو نجحنا في تحميل الملف ، فلن نتمكن من استخدام Nginx لتصفح. تعيين write_enable = نعم للتأكد من أنه يمكن تحميل الملف.
ما سبق هو كل محتوى هذه المقالة. آمل أن يكون محتوى هذه المقالة من بعض المساعدة في دراسة أو عمل الجميع. آمل أيضًا دعم wulin.com أكثر!