上傳檔案伺服器搭建
有需求需要搭建一個上傳檔案伺服器,最開始考慮使用Nginx+upload模組,後臺php處理,後來嘗試了一下tomcat+spring方法,都可以滿足需求。
Nginx + upload module
網上的配置文章比較多,這裡只是記錄一下出現的坑吧。
1. nginx加上upload 模組後編譯不過
upload module貌似只支援到nginx 1.3.8,開始使用高版本的nginx老是編譯不過,後來搜到一篇文章,換成低版本的nginx解決了。安的比較久了,好像是ng版本比較新的時候build提示一大堆語法錯誤吧,反正是編譯不過。
2. 臨時路徑的問題
配置裡邊有一項 :upload_store /data/tmpdir 1;
後面如果設定成 1 代表臨時檔案將要雜湊到你設定的目錄中,而且要保證之前這些目錄是存在的,也就是說你需要在/data/tmpdir目錄下建立 0 到9 的9個目錄
3後臺php拿到傳來的檔案的問題
ng按照文件上的設定在php得到request中得不到傳來的值,後來測試之後這樣使用可以了:
conf:
upload_set_form_field $upload_field_name.name "$upload_file_name";
php:
$filePath = $_POST["file_path"];
客戶端傳參,在php中如果想得到的話,要這樣設定
conf:
upload_pass_args on;
4 客戶端通過chrome外掛postman模擬測試post請求
在body中新增引數,file就是要上傳的檔案,id是自定義引數,在php中接收一下就好了。
5 壓力測試工具
使用Apache 的jmeter工具
配置大概是這樣的,可以再Thread Group中設定執行緒數,在summary report中檢視結果,我模擬了100個執行緒10M的檔案很快就傳完了,這個跟網速和伺服器配置有關。
6 未驗證的問題
在網上查了直接設定後沒驗證的問題,關於ng配置中上傳檔案的最大值,和檔案緩衝區大小,我的設定是這樣的
conf:
client_max_body_size 512m; client_body_buffer_size 50m;
php,去php.ini檔案搜size,把有關的大小改一下,還有一個頁面最多請求多久的時間調長些,根據需求吧。
7 dns的問題
運維那邊配的域名和ip貌似出了些問題,導致訪問域名傳檔案很慢,但是ip比較快,一直以為是ng哪的配置除了問題,今天發現ping域名出來的都不是這個ip,後來他們調好了速度快了,真是surprise!所以測試的時候可以都通過ip進行。
通過tomcat + spring部署
嘗試這個方式是因為上面7 的問題始終沒解決,不知道是不是ng哪的限制,所以使用這種方式看看結果,伺服器這邊都不是很熟,所以遇到的問題比較基礎,比較多。
同樣,記錄幾個遇到的坑吧。
1. tomcat配置
java環境的問題,執行./startup.sh後也沒報錯,我以為是啟動成功了,結果訪問不了,檢視$tomcat_home下conf中的日誌發現是jdk找不到
2. 部署位置
我開始按照教程開了一個虛擬目錄,把spring打好包的war檔案放到裡邊然後unzip出來,客戶端訪問老是顯示資原始檔找不到,這個可能是我部署的方式不太對,待驗證,後來直接放到tomcat根目錄webapps中,發現只要把war放進去,在tomcat開啟的時候會自動解壓部署上去的!
3. 部署時執行順序的問題
使用log4j列印日誌,調整專案的時候出現了好幾次日誌打不出來的情況,後來別人說可能是控制代碼的問題,現在還不知道正確的部署順序應該是什麼樣的,不過現在先停掉tomcat,然後把war傳上去,然後再開啟tomcat,日誌能正常列印
spring之前沒用過,這塊對於它的很多細節也不瞭解,現在是能跑通了,這邊只是記錄了一下。
相關推薦
上傳檔案伺服器搭建
有需求需要搭建一個上傳檔案伺服器,最開始考慮使用Nginx+upload模組,後臺php處理,後來嘗試了一下tomcat+spring方法,都可以滿足需求。 Nginx + upload module 網上的配置文章比較多,這裡只是記錄一下出現的坑吧。
淘淘商城第二天—完成商品新增功能 商品類目選擇 圖片上傳 圖片伺服器搭建 kindEditor富文字編輯器的使用 商品新增功能
1、實現商品類目選擇功能 1.1需求 在商品新增頁面,點選“選擇類目”顯示商品類目列表: 請求初始化樹形控制元件的url:/item/cat/list 1.2 EasyUI tree資料結構 資料結構中必須包含: Id:節點id Text:節
第10步 (1)logback.xml日誌配置(2) ftp(上傳檔案)伺服器配置(3) idea注入和自動編譯配置(4)專案提交gitee(5)fe助手和restlet client
****************************************************************************************************************************************** 1.直接複製&
java httpclient 上傳檔案 伺服器 servlet 接收
1、新建一個普通的java專案,然後新建個包和類,程式碼如下: package com.busymonkey; import java.io.File; import java.io.IOException; import org.apache.http
centos7 搭建ftp伺服器 供多使用者上傳檔案
Liunx外部檔案的傳輸,避免不了使用FTP服務,所以現在就整理下,CentOS7環境下,FTP服務的搭建。FTP伺服器需要安裝vsftp服務端軟體。我們知道,在建立vsftpd使用者時,我們一般是在linux下建立使用者useradd的方式來訪問ftp,但有時我們只想提供f
使用springmvc 和nginx 搭建一個檔案上傳下載伺服器
public final class FileUploadUtil { public static JSONObject upload(String httpurl, String fileName, InputStream inputStream) { String result
解決使用FTPClient物件或FtpUtil工具類上傳檔案為空(搭建Nginx圖片伺服器
一、使用FTPClient上傳檔案為空 JAVA使用FTPClient上傳檔案時總是為空,有些資料說防火牆設定問題,但是本機防火牆已設定過。 後來查了下資料,FTP伺服器有被動模式和主動模式。 在JAVA中將FTPClient設定為被動模式即可解決問題。 **FT
CentOS6.5下搭建FTP伺服器 + Java上傳檔案
/** * @Type ftpClientFileManager.java * @Desc * @author 123 * @date 2017年3月31日 下午2:50:58 * @version */ @Service public class FTPFileManager {
ubuntu搭建FTP伺服器 上傳檔案
ftp伺服器的搭建 進入root模式下: 1、檢視是否有vsftp vsftp -version 若有,顯示版本 2、若無,安裝 sudo apt-get install vsftp 3、新建一個資料夾,作為FTP的工作目錄 mk
Day12-微信小程式實戰-交友小程式-搭建伺服器與上傳檔案到後端
要搞一個小型的cms內容釋出系統 因為小程式上線之後,直接對資料庫進行操作的話,慧出問題的,所以一般都會做一個管理系統,讓工作人員通過這個管理系統來對這個資料庫進行增刪改查 微信小程式其實給我們提供了這樣的能力了 (也就是可以在自己已有的伺服器來進行雲操作,所以就可以
Qt Http QHttpMultiPart上傳檔案到java http伺服器
Qt Http QHttpMultiPart上傳檔案到java http伺服器 1.最近專案用到了Qt上傳檔案到HT
Tomcat配置虛擬路徑,使上傳檔案與伺服器及工程檔案分離開
原文連結:https://my.oschina.net/pingdy/blog/381001 摘要: 現在一般的專案都可能會涉及檔案的上傳與下載,那如何管理這些檔案呢?做法各有千秋!今天我也分享下我是怎麼去管理這些檔案的!當然了,這樣的方式只適用於檔案量小的情況下!如果檔案數量非
原生node用fs和http完成檔案上傳到伺服器
var http=require("http"); var fs=require("fs"); http.createServer(function(req,res){ res.writeHead(200,{"Content-type":"text/html;charset=UTF-8","
PHP-Websockets 上傳檔案2 優化支援php socket客戶端和websocket連線websocket伺服器 以守護程序方式執行編碼
WebsocketServer: users.php <?php class WebSocketUser { public $socket; public $id; public $headers = array(); public $handsh
ftp上傳檔案到伺服器
<?php class Ftp { public $off; // 返回操作狀態(成功/失敗) public $conn_id; // FTP連線 const FTP_HOST=''; const FTP_PORT='21'; const FTP_USER=
ASP.NET上傳檔案到遠端伺服器(HttpWebRequest)
/// <summary> /// 檔案上傳至遠端伺服器 /// </summary> /// <param name="url">遠端服務地址</param> /// <param name="pos
java通過ftp 上傳檔案到伺服器
package com.dl.utils; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import ja
用FlashFXP上傳檔案到SSH伺服器,附FlashFXP顯示中文亂碼的解決方法
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
mac上傳檔案到linux伺服器
上傳檔案到伺服器 1.保證伺服器ssh埠是22,重啟服務 ssh -p 27988 [email protected] (原來埠號為27988) ll /etc/ssh/sshd_config vi /et
IntelliJ IDEA實現遠端連線linux,並上傳檔案到linux伺服器(SSH會話功能和SFTP功能)
注意: eclipse的SSH會話功能和SFTP功能這裡不會說 點選以下連結可檢視 eclipse的SSH會話功能和SFTP功能 而IntelliJ IDEA(以下簡稱為IDEA)這麼強大的開發工具自然也有該功能,這篇部落格就介紹一下IDEA的SSH會話功能