1. ubuntuに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
a。ファイルをアップロードする権限を変更します。
ここに問題があります。デフォルトでは、デフォルトの許可は077です。これは、Linuxの対応する700を意味します。計算ルールは、Linuxの許可777 -Local_umaskです
local_umaskファイルの許可が設定されていない場合、アップロードされたファイルはサーバーを介してアクセスできません(許可がありません)
b。構成ファイルの最後に追加します:
userlist_deny = no userlist_enable = yes userlist_file =/etc/approad_users seccomp_sandbox = no local_enable = yes
c。ファイルをアップロードするための権限を設定します。
write_enable = YES
[はい]に設定しない場合、ファイルのアップロードはデフォルトで許可されていません。
7。 /etc /applaid_usersを作成します
追加のタスクをファイルに追加します。
8。サービスを再起動します
sudo service vsftpd restart
9. XFTPを使用して接続をテストします
XFTPを使用して新しい接続を作成します。ここでは、選択したプロトコルFTPに注意を払う必要があります。ポートは21です。アカウントのパスワードに入力した後、サーバーに接続できます。
アップロードファイルをテストします:
TXTファイルはここにアップロードされており、ファイルの権限は666であることがわかります。これは主に、ファイルlocal_umaskをアップロードした後にアクセス許可を設定したためです。
2。Javaftpclientはファイルのアップロードを実装します
1。メイブン依存関係
<! - apacheツールコンポーネント - > <依存関係> groupid> org.apache.commons </groupid> <artifactid> commons-lang3 </artifactid> </dependency> <dependency> <groupid> org.commons </groupid> <artifactid> commons-io </deprigactid> </sidectid> <artifactid> commons-net </artifactid> </dependency>
2。ftpclientオブジェクトを作成して、サーバーにリモートで接続する
ftpclient ftp = new ftpclient(); //リンクリモートサービスftp.connect( "192.168.148.128"、21);
接続結果は、デバッグで表示できます。
3。FTPCLIENTログインサーバー
ftp.login( "uftp"、 "**"); //ログイン結果ステータスint reply = ftp.getReplyCode()を返します。 if(!ftpreply.ispositiveCompletion(reply)){ftp.disconnect();戻る ; }ReplyCodeとReplyStringを判断して、ユーザーが正常にログインしたかどうかを確認できます!
4.ファイルのアップロードパスとファイルタイプを変更します
//アップロードファイルパスftp.changeworkingdirectory( "/home/uftp/images/"); //ファイルタイプftp.setfiletype(ftp.binary_file_type);
5。ファイルをアップロードします
//アップロードされたファイルの入力ストリームを取得fileInputStream fileInputStream = new FileInputStream(new File( "d:/123.jpg"));
アップロードファイルが完了した後、アップロードは返品結果を確認することで成功します。
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 = yesを設定して、ファイルをアップロードできることを確認します。
上記はこの記事のすべての内容です。この記事の内容が、すべての人の勉強や仕事に役立つことを願っています。また、wulin.comをもっとサポートしたいと思っています!