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 = no userlist_enable = yes userlist_file =/etc/outment_users seccomp_sandbox = no local_enable = yes
в Установите разрешения на загрузку файлов:
write_enable = YES
Если вы не установите его на «да», загрузка файлов не разрешена по умолчанию.
7. Создать /и т. Д. /ALLECT_USERS
Добавить разрешить задачи, чтобы быть добавленными в файл.
8. Перезагрузите обслуживание
sudo service vsftpd restart
9. Используйте XFTP, чтобы проверить соединение
Используйте XFTP, чтобы создать новое соединение. Здесь вам нужно обратить внимание на выбранную вами FTP протокола. Порт составляет 21. После заполнения пароля учетной записи вы можете подключиться к нашему серверу.
Проверьте файл загрузки:
Здесь загружается файл TXT, и мы видим, что разрешения файла составляют 666. Это в основном потому, что мы устанавливаем разрешения после загрузки файла local_umask.
2. Java ftpclient реализует загрузку файла
1. Зависимость Maven
<!-- Apache Tool Components--> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-io</artifactId> </dependency> <dependency> <groupId>commons-net</groupId> <Artifactid> commons-net </artifactid> </dependency>
2. Создайте объект FTPClient для удаленного подключения к серверу
Ftpclient ftp = new ftpclient (); // ссылка удаленная служба ftp.connect ("192.168.148.128", 21);Результат подключения может быть просмотрен в отладке:
3. FTPClient Server
ftp.login ("uftp", "**"); // вернуть статус результата входа в систему int restry = ftp.getReplyCode (); if (! ftpreply.ispositivecoplusion (reply)) {ftp.disconnect (); возвращаться ; }Мы можем проверить, успешно ли пользователь вошел в систему, оценив Ответ -код и ответ!
4. Изменить путь загрузки файла и тип файла
// Измените путь к файлу загрузки ftp.changeworkingDirectory ("/home/uftp/images/"); // Модифицировать тип файла ftp.setfiletype (ftp.binary_file_type);5. Загрузить файлы
// Получить поток ввода загруженных файлов fileInputStream fileInputStream = new FileInputStream (new File ("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 = yes, чтобы убедиться, что файл может быть загружен.
Выше всего содержание этой статьи. Я надеюсь, что содержание этой статьи поможет всем, кто учится или работа. Я также надеюсь поддержать Wulin.com больше!