1. Instale o serviço vsftpd no Ubuntu
1. Instalação
sudo apt-get install vsftpd
2. Adicione o usuário (UFTP)
sudo useradd -d /home/uftp -s /bin/bash uftp
3. Defina a senha do usuário
sudo useradd -d /home/uftp -s /bin/bash uftp
4. Crie um diretório de usuário
sudo mkdir /home/uftp
5. Defina a senha do usuário
sudo passwd uftp
6. Defina o arquivo de configuração /etc/vsftpd.conf
sudo vim /etc/vsftpd.conf
um. Modifique as permissões para fazer upload de arquivos:
Haverá um problema aqui. Por padrão, a permissão padrão é 077, o que significa o 700 correspondente no Linux. A regra de cálculo é a permissão do Linux 777 - LOCAL_UMASK
Se a permissão do arquivo local_umask não estiver definida, o arquivo carregado não poderá acessá -lo através do servidor (Permissões ausentes)
b. Adicione no final do arquivo de configuração:
userlist_deny = não userlist_enable = sim userlist_file =/etc/alpede_users se secretComp_sandbox = no local_enable = sim
c. Defina as permissões para fazer upload de arquivos:
write_enable = YES
Se você não o definir como sim, o upload de arquivos não será permitido por padrão.
7. Crie /etc /permed_users
Adicione permite que as tarefas sejam adicionadas ao arquivo.
8. Reinicie o serviço
sudo service vsftpd restart
9. Use XFTP para testar a conexão
Use XFTP para criar uma nova conexão. Aqui você precisa prestar atenção ao protocolo FTP que você selecionou. A porta tem 21 anos. Depois de preencher a senha da conta, você pode se conectar ao nosso servidor.
Teste o arquivo de upload:
Um arquivo TXT é enviado aqui e podemos ver que as permissões do arquivo são 666. Isso ocorre principalmente porque definimos as permissões após o upload do arquivo local_UMask.
2. Java FTPClient Iplemmings Upload de arquivo
1. Dependência do Maven
<!-Apache Tool Components-> <pendency> <puperiD> org.apache.commons </foupiD> <stifactId> commons-lang3 </stifactId> </dependency> <pendency> <purpiD> org.apache.commons </groupid> <stifactId> commOns- <fiPerfactId> </confiFactId> <TarfactId> Commons-Net </stifactId> </dependency>
2. Crie um objeto FTPClient para conectar -se remotamente ao servidor
FtpClient ftp = new ftpClient (); // Link Remote Service ftp.connect ("192.168.148.128", 21);O resultado da conexão pode ser visualizado no Debug:
3. Servidor de login ftpclient
ftp.login ("uftp", "**"); // retorna o status do resultado do login int Responder = ftp.getReplyCode (); if (! ftPreply.ispositiveCeliction (Responder)) {ftp.disconnect (); retornar ; }Podemos verificar se o usuário efetuou login com sucesso, julgando o ResponderCode e ReplyString!
4. Modifique o caminho do upload do arquivo e o tipo de arquivo
// modifique o caminho do arquivo de upload ftp.changeworkingDirectory ("/home/uftp/imagens/"); // modifique o tipo de arquivo ftp.setFileType (ftp.binary_file_type);5. Carregar arquivos
// Obtenha o fluxo de entrada dos arquivos enviados FileInputStream fileInputStream = new FileInputStream (new File ("d: /123.jpg")); // empurre o arquivo para o servidor ftp.storefile ("hello.jpg", FileInputStream);Após a conclusão do arquivo de upload, o upload é bem -sucedido verificando o resultado de retorno.
6. Log Out
// login ftp.logout ();
As etapas acima devem usar o FTPClient para concluir uma operação de upload de arquivo.
3. Use o nginx para visualizar as imagens do servidor
1. Arquivo de configuração nginx
Adicionar resolução de endereço de imagem no servidor
Localização ~. expira 7d; }
2. Reinicie o nginx
./nginx -s reload
3. Veja as fotos
http://192.168.148.128/hello.jpg
Resumo: Neste ponto, concluímos um upload simples da imagem no servidor e exibimos uma pequena demonstração. O principal problema encontrado durante o processo de configuração é sobre permissões de arquivo. Se Local_UMask não estiver definido no arquivo de configuração no vsftpd, mesmo se carregarmos com sucesso o arquivo, não podemos usar o NGINX para navegar. Set write_enable = sim para garantir que o arquivo possa ser carregado.
O exposto acima é todo o conteúdo deste artigo. Espero que o conteúdo deste artigo seja de ajuda para estudar ou trabalhar de todos. Eu também espero apoiar mais wulin.com!