1. 우분투에 VSFTPD 서비스를 설치하십시오
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이므로 Linux의 해당 700을 의미합니다. 계산 규칙은 Linux의 권한 777 -Local_umask입니다
Local_umask 파일 허가가 설정되지 않은 경우 업로드 된 파일은 서버를 통해 액세스 할 수 없습니다 (누락 된 권한)
비. 구성 파일 끝에서 추가하십시오.
userList_Deny = no userList_Enable = 예 userList_File =/etc/allend_users seccomp_sandbox = 아니오 로컬_enable = 예
기음. 파일 업로드에 대한 권한을 설정하십시오.
write_enable = YES
예로 설정하지 않으면 기본적으로 파일 업로드가 허용되지 않습니다.
7. /etc /enver_users를 만듭니다
파일에 추가 할 작업을 추가하십시오.
8. 서비스를 다시 시작하십시오
sudo service vsftpd restart
9. XFTP를 사용하여 연결을 테스트하십시오
XFTP를 사용하여 새 연결을 만듭니다. 여기에서 선택한 프로토콜 FTP에주의를 기울여야합니다. 포트는 21입니다. 계정 암호를 작성한 후 서버에 연결할 수 있습니다.
업로드 파일 테스트 :
TXT 파일이 여기에 업로드되어 파일의 권한이 666임을 알 수 있습니다. 이는 주로 Local_umask 파일을 업로드 한 후 권한을 설정하기 때문입니다.
2. Java ftpclient는 파일 업로드를 구현합니다
1. Maven 의존성
<!-아파치 도구 구성 요소-> <pectionency> <groupid> org.apache.commons </groupid> <artifactid> commons-lang3 </artifactid> </dependency> <prectionency> <groupid> org.apache.commons </groupid> <artifactid> commons-io </hourpaldency> <groupid> <groupid> <artifactid> commons-net </artifactid> </의존성>
2. 서버에 원격으로 연결하려면 ftpclient 객체를 만듭니다.
ftpclient ftp = 새로운 ftpclient (); // 원격 서비스 링크 ftp.connect ( "192.168.148.128", 21);
연결 결과는 디버그에서 볼 수 있습니다.
3. ftpclient 로그인 서버
ftp.login ( "uftp", "**"); // 로그인 결과 상태를 반환합니다 int reply = ftp.getReplyCode (); if (! ftpReply.ispositiveCoMpletion (답장)) {ftp.disconnect (); 반품 ; }우리는 사용자가 ReplyCode 및 ReplyString을 판단하여 성공적으로 로그인했는지 확인할 수 있습니다!
4. 파일 업로드 경로 및 파일 유형을 수정하십시오
// 업로드 파일 경로 수정 ftp.changeworkingDirectory ( "/home/uftp/images/"); // 파일 유형 ftp.setFileType (ftp.binary_file_type);
5. 파일 업로드
// 업로드 된 파일의 입력 스트림을 가져옵니다. fileInputStream fileInputStream = new FileInputStream (새 파일 ( "d : /123.jpg"); // 파일을 서버 ftp.storeFile ( "hello.jpg", fileInputStream)로 푸시합니다.
업로드 파일이 완료되면 반환 결과를 확인하여 업로드가 성공적입니다.
6. 로그 아웃
// login ftp.logout ();
위의 단계는 ftpclient를 사용하여 파일 업로드 작업을 완료하는 것입니다.
3. Nginx를 사용하여 서버 사진을보십시오
1. nginx 구성 파일
서버에 이미지 주소 해상도를 추가하십시오
위치 ~.*/. 7D가 만료됩니다. }
2. nginx를 다시 시작하십시오
./nginx -s reload
3. 사진보기
http://192.168.148.128/hello.jpg
요약 :이 시점에서 우리는 서버에 이미지의 간단한 업로드를 완료하고 작은 데모를 표시했습니다. 구성 프로세스 중에 발생하는 주요 문제는 파일 권한에 관한 것입니다. local_umask가 vsftpd의 구성 파일에 설정되지 않은 경우 파일을 성공적으로 업로드하더라도 Nginx를 사용하여 찾아 볼 수 없습니다. 파일을 업로드 할 수 있도록 write_enable = 예 설정하십시오.
위는이 기사의 모든 내용입니다. 이 기사의 내용이 모든 사람의 연구 나 업무에 도움이되기를 바랍니다. 또한 wulin.com을 더 지원하기를 바랍니다!