1. Installieren Sie den VSFTPD -Service auf Ubuntu
1. Installation
sudo apt-get install vsftpd
2. Benutzer hinzufügen (UFTP)
sudo useradd -d /home/uftp -s /bin/bash uftp
3. Setzen Sie das Benutzerkennwort
sudo useradd -d /home/uftp -s /bin/bash uftp
4. Erstellen Sie ein Benutzerverzeichnis
sudo mkdir /home/uftp
5. Benutzerkennwort festlegen
sudo passwd uftp
6. Stellen Sie die Konfigurationsdatei /etc/vsftpd.conf ein
sudo vim /etc/vsftpd.conf
A. Ändern Sie die Berechtigungen, um Dateien hochzuladen:
Hier wird es ein Problem geben. Standardmäßig ist die Standardberechtigung 077, was den entsprechenden 700 in Linux bedeutet. Die Berechnungsregel ist die Erlaubnis von Linux 777 - local_umask
Wenn die Berechtigungsberechtigung von Local_umask nicht festgelegt ist, kann die hochgeladene Datei nicht über den Server darauf zugreifen (fehlende Berechtigungen).
B. Fügen Sie am Ende der Konfigurationsdatei hinzu:
userlist_deny = nonelist_enable = yes userlist_file =/etc/erlaubte_user seccomp_sandbox = no local_enable = yes
C. Legen Sie die Berechtigungen für das Hochladen von Dateien fest:
write_enable = YES
Wenn Sie es nicht auf Ja einstellen, ist das Hochladen von Dateien standardmäßig nicht zulässig.
7. create /etc /erlaubte_user
Fügen Sie die Aufgaben hinzu, die Datei hinzuzufügen.
8. Starten Sie den Service neu
sudo service vsftpd restart
9. Verwenden Sie XFTP, um die Verbindung zu testen
Verwenden Sie XFTP, um eine neue Verbindung zu erstellen. Hier müssen Sie auf das von Ihnen ausgewählte Protokoll -FTP achten. Der Port ist 21. Nachdem Sie das Kontokennwort ausgefüllt haben, können Sie eine Verbindung zu unserem Server herstellen.
Upload -Datei testen:
Hier wird eine TXT -Datei hochgeladen, und wir können sehen, dass die Berechtigungen der Datei 666 betragen. Dies liegt hauptsächlich daran, dass wir die Berechtigungen nach dem Hochladen der Datei local_umask festgelegt haben.
2. Java ftpclient implementiert das Datei -Upload
1. MAVEN -Abhängigkeit
<!-Apache-Toolkomponenten-> <De vorstellen> <GroupId> org.apache.commons </GroupId> <artifactId> commons-Lang3 </artifactId> </abhängig> <Deichung> <gruppe org.apache. <artifactid> commons-net </artifactId> </abhängig>
2. Erstellen Sie ein FTPClient -Objekt, um eine Verbindung zum Server aus fernzustimmen
Ftpclient ftp = new ftpclient (); // Link Remote Service ftp.connect ("192.168.148.128", 21);Das Verbindungsergebnis kann unter Debug angesehen werden:
3. FTPClient Login Server
ftp.login ("UFTP", "**"); // Geben Sie den Anmeldeergebnisstatus int Reply = ftp.getReplyCode () zurück; if (! ftpreply.ispositiveCompletion (Antwort)) {ftp.disconnect (); zurückkehren ; }Wir können überprüfen, ob sich der Benutzer erfolgreich angemeldet hat, indem wir ReplyCode und ReplyString beurteilen!
4. Ändern Sie den Datei -Laden und den Dateityp hochladen
// den Dateipfad hochladen ftp.changeworkingDirectory ("/home/uftp/bilder/"); // Ändern Sie den Dateityp ftp.setfiletype (ftp.bary_file_type);5. Dateien hochladen
// Erhalten Sie den Eingabestream von hochgeladenen Dateien FileInputStream FileInputStream = new FileInputStream (neue Datei ("d: /123.jpg"); // Drücken Sie die Datei auf den Server ftp.storefile ("Hello.jpg", FileInputStream).Nach Abschluss der Upload -Datei ist das Upload erfolgreich, indem das Rückgabeergebnis überprüft wird.
6. Melden Sie sich aus
// Login ftp.logout ();
In den oben genannten Schritten werden FTPClient zum Abschluss eines Datei -Upload -Vorgangs verwendet.
3.. Verwenden Sie Nginx, um Serverbilder anzuzeigen
1. Nginx -Konfigurationsdatei
Fügen Sie die Auflösung der Bildadresse auf dem Server hinzu
Ort ~.*/. (gif | jpg | jpeg | bmp | png | ico | txt) $ {root/home/uftp/Bilder; läuft 7d ab; }2. Starten Sie Nginx neu
./nginx -s reload
3.. Bilder anzeigen
http://192.168.148.128/hello.jpg
Zusammenfassung: Zu diesem Zeitpunkt haben wir eine einfache Upload des Bildes auf den Server abgeschlossen und eine kleine Demo angezeigt. Das Hauptproblem während des Konfigurationsprozesses betrifft Dateiberechtigungen. Wenn local_umask nicht in der Konfigurationsdatei in VSFTPD festgelegt ist, können wir Nginx nicht verwenden, wenn wir die Datei erfolgreich hochladen. Setzen Sie write_enable = Ja, um sicherzustellen, dass die Datei hochgeladen werden kann.
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels für das Studium oder die Arbeit eines jeden hilfreich sein wird. Ich hoffe auch, Wulin.com mehr zu unterstützen!