亚洲国产精品人久久,亚洲va国产日韩欧美精品色婷婷,久久久久88色偷偷,免费人成黄页在线观看国际

17站長網

17站長網 首頁 網站 服務器 查看內容

Docker搭建Nginx圖片服務器的方法

2022-10-19 09:01| 查看: 1830 |來源: 互聯網

一般開發中,都會把圖片上傳到一個目錄,然后將目錄和文件名拼接存儲在數據庫中,但是,這種方法如果沒弄好的話可能有一定的缺陷。 若項目搬遷,即時這臺服務器 ...

一般開發中,都會把圖片上傳到一個目錄,然后將目錄和文件名拼接存儲在數據庫中,但是,這種方法如果沒弄好的話可能有一定的缺陷。

若項目搬遷,即時這臺服務器本身還在用,存放在服務器的跟項目相關的圖片也要跟著搬遷,同時還要修改代碼,會造成較多麻煩。如果搭建一個專門存放圖片的服務器,而且通過ftp傳輸,那么你的代碼就不用改了。

關于Docker和Nginx的介紹和優點在這里就不展開了,網上博客和教程也有很多。

環境搭建

環境搭建有些模塊可能不夠詳細,如果想知道更多的話可以查看其他資料,這里只是簡單操作。

1、安裝Docker

yum install docker

2、拉取Nginx鏡像

docker pull nginx:1.16.0

1.16.0 是版本號,可以通過 docker search nginx 查詢鏡像;拉取其他鏡像比如 tomcat、mysql 等同理。

3、創建主要文件,用于docker掛載

mkdir -p /home/nginx/www /home/nginx/logs /home/nginx/conf

4、創建并運行Nginx容器

docker run -d -p 80:80 -p 443:443 --name nginx-server -v /home/nginx/www:/usr/share/nginx/html 
-v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /home/nginx/logs:/var/log/nginx nginx

5、在宿主機上創建Nginx的配置文件

在]/home/nginx/conf中新建文件nginx.conf,并寫入如下配置:

user root;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
 worker_connections 1024;
}
http {
 include /etc/nginx/mime.types;
 default_type application/octet-stream;
 log_format main '$remote_addr - $remote_user [$time_local] "$request" '
   '$status $body_bytes_sent "$http_referer" '
   '"$http_user_agent" "$http_x_forwarded_for"';
 access_log /var/log/nginx/access.log main;
 sendfile on;
 #tcp_nopush on;
 keepalive_timeout 65;
 #gzip on;
 include /etc/nginx/conf.d/*.conf;
 server {
 listen 443 ssl;
 server_name 你的 ip 地址或域名;
 root  /usr/share/nginx/html;
 ssl_certificate 你的密鑰.pem;
 ssl_certificate_key 你的密鑰.key;
 ssl_session_timeout 5m;
 ssl_session_cache shared:SSL:1m;
 ssl_ciphers  ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:aNULL:!MD5:!ADH:!RC4;
 ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
 ssl_prefer_server_ciphers on;
 # 跳轉到8080端口,即我的tomcat容器,如果瀏覽器輸入 https://ip/ 則跳轉到tomcat容器(已經運行并映射端口號)
 location / {
  root /usr/share/nginx/html;
  proxy_pass http://ip:8080/;
  index index.html index.htm;
 }
     # 如果瀏覽器輸入 https://ip/images/ 則對應宿主機上的 /home/nginx/www/images/ 因為前面已經掛載了,即宿主機某個目錄和docker容器內的某個文件夾共享數據
     # 要先在宿主機的 /home/nginx/www/ 中創建 images 目錄
 location ~ /images/ {
  root /usr/share/nginx/html/;
 }
 }
 server {
 listen 80;
 server_name 你的 ip 地址或域名;
 rewrite ^ https://$host$1 permanent;
 }
}

這里面有關于ssl的配置,你需要先申請域名,然后搞個ssl證書,再進行配置,這里也不做詳細介紹。

環境配置差不多完成,接下來安裝 vsftpd 搭建 ftp

搭建FTP

安裝vsftpd

yum -y install vsftpd

添加用戶

useradd 自定義用戶名

passwd 自定義密碼

修改配置文件

vi /etc/vsftpd/vsftpd.conf

需要修改的地方如下:

# 配置文件默認為YES,即支持匿名訪問,設置為不支持
anonymous_enable=NO
# 在最后添加這兩行
pasv_min_port=30000
pasv_max_port=30009

保存退出后設置用戶訪問權限

chown ftpadmin /home/nginx/www/image
chmod 777 -R /home/nginx/www/image

完事后測試一波,通過ftp上傳后,通過瀏覽器https請求得到如下結果:

*補充一點:阿里云服務器的話記得配置安全組,將21號端口打開,以及443、80端口,還有30000-30009端口

 Java實現FTP傳輸

先在resource中創建ftpResource.properties文件,并寫入參數

FTP_ADDRESS=你的IP
FTP_PORT=21
FTP_USERNAME=用戶名
FTP_PASSWORD=用戶密碼
FTP_BASE_PATH=/home/nginx/www/images
IMAGE_BASE_URL=https://域名/images/

之后寫一個工具類,用于FTP傳輸

import org.apache.commons.net.ftp.FTP;
import org.apache.commons.net.ftp.FTPClient;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;
import java.io.*;
/**
 * @author Max
 */
@Component
@PropertySource("classpath:ftpResource.properties")
public class FtpUtil {
 /**
 * FTP_ADDRESS: ftp 服務器ip地址
 * FTP_PORT: ftp 服務器port,默認是21
 * FTP_USERNAME: ftp 服務器用戶名
 * FTP_PASSWORD: ftp 服務器密碼
 * FTP_BASE_PATH: ftp 服務器存儲圖片的絕對路徑
 * IMAGE_BASE_URL: ftp 服務器外網訪問圖片路徑
 */
 @Value("${FTP_ADDRESS}")
 private String FTP_ADDRESS;
 @Value("${FTP_PORT}")
 private Integer FTP_PORT;
 @Value("${FTP_USERNAME}")
 private String FTP_USERNAME;
 @Value("${FTP_PASSWORD}")
 private String FTP_PASSWORD;
 @Value("${FTP_BASE_PATH}")
 private String FTP_BASE_PATH;
 @Value("${IMAGE_BASE_URL}")
 private String IMAGE_BASE_URL;
 /**
 * 上傳圖片
 * @param inputStream 輸入流
 * @param name 文件名
 * @return 圖片 url
 * @throws IOException IO異常
 */
 public String uploadImage(InputStream inputStream, String name) throws IOException {
 FTPClient ftpClient = new FTPClient();
 try {
  System.out.println(FTP_ADDRESS);
  ftpClient.enterLocalPassiveMode();
  ftpClient.connect(FTP_ADDRESS, FTP_PORT);
  ftpClient.login(FTP_USERNAME, FTP_PASSWORD);
  ftpClient.changeWorkingDirectory(FTP_BASE_PATH);
  ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
  boolean isSucceed = ftpClient.storeFile(name, inputStream);
  if (isSucceed){
  return IMAGE_BASE_URL + name;
  }
 }catch (Exception e){
  e.printStackTrace();
 }finally {
  ftpClient.logout();
 }
 return IMAGE_BASE_URL + "error";
 }
}

然后在Service處理邏輯,此處只展示部分代碼

@Autowired
 private FtpUtil ftpUtil;

 @Override
 public int insertImg(MultipartFile file) throws IOException {
 /*
 1、獲取上傳的文件流 inputStream 以及文件名 getOriginalFilename
 2、調用 FtpUtil 中的函數,將圖片上傳到圖片服務器并返回 https 地址
 3、若返回的是圖片地址,則將其插入數據庫
  */
 InputStream inputStream = file.getInputStream();
 String filename = file.getOriginalFilename();
 String picUrl = ftpUtil.uploadImage(inputStream, filename);
 }

就這樣完事兒,以后客戶端請求過來,通過FTP傳輸到服務器,然后將地址保存到數據庫,前端只要獲取了圖片url就會顯示。

本文最后更新于 2022-10-19 09:01,某些文章具有時效性,若有錯誤或已失效,請在網站留言或聯系站長:17tui@17tui.com
·END·
站長網微信號:w17tui,關注站長、創業、關注互聯網人 - 互聯網創業者營銷服務中心

免責聲明:本站部分文章和圖片均來自用戶投稿和網絡收集,旨在傳播知識,文章和圖片版權歸原作者及原出處所有,僅供學習與參考,請勿用于商業用途,如果損害了您的權利,請聯系我們及時修正或刪除。謝謝!

17站長網微信二維碼

始終以前瞻性的眼光聚焦站長、創業、互聯網等領域,為您提供最新最全的互聯網資訊,幫助站長轉型升級,為互聯網創業者提供更加優質的創業信息和品牌營銷服務,與站長一起進步!讓互聯網創業者不再孤獨!

掃一掃,關注站長網微信

大家都在看

  • 當我們在共享網絡訪問的時候,可能會遇到提示指定的網絡名不再可用的問題,這可能是由于我們的共享網絡出現了錯誤,也可能是被共享的對象所拒絕了。指定的網絡名 ......

    故障排除 2023-03-10
  • 1、首先進入到“百度”軟件中, 2、然后在其中輸入“百度識圖”, 3、之后點擊圖中的“開始使用”按鈕, 4、緊接著點擊右下角的“相冊”功能, 5、在相冊下 ......

    軟件教程 2023-02-17
  • 一、軟件沖突1、首先確認是否是應用程序沖突導致的。2、查看是否只有特定幾個游戲或應用會導致該問題。3、如果是應用沖突,那么只要卸載這些app就可以解決了。二 ......

    軟件教程 2022-12-27
  •   文/曹楊  原標題:誰還看電視?  爸爸戴一副老花鏡,媽媽戴一副近視鏡,一人坐在沙發,一人躺在床上,各自刷著自己關注的博主更新的短視頻。電視也許開著,但只是背景。  這樣的畫面,幾乎成了洛奇家的常 ...

    站長 2020-12-09
  • 圖片來源于簡書  文/郭開森 楊帆  陸玖財經準備開新欄目了,每周一創始人郭開森和楊帆合體郭德帆,對行業進行一些觀察和評論,第一篇我們仍是打算寫社區團購,這是當下最火的話題。  來過陸玖財經做客的朋友們...

    熱議 2020-12-07
  • 一、N100對比intel i3 1、N100的跑分達到了147210分,這個數據可以達到i3的七代級別。 2、在跑分上也是超越了大部分的I3七代CPU,不過比I3八代要弱勢一些。 3 ......

    硬件知識 2023-04-26
  • 電腦端:1、大家可以點擊右邊鏈接進入網頁版的百度網盤,進入之后點擊“去登錄”。https://pan.baidu.com/2、之后正確的輸入賬號密碼進行登錄就好啦。手機端:1 ......

    軟件教程 2022-12-27
  • 在填寫一些項目申請書中,總是免不了要選擇一些數字,但是在方框中如何插入數字,該怎么辦呢?那么下面就由學習啦小編給大家分享下word在方框里輸入數字的技巧, ......

    Word教程 2023-04-27
  • 8月15日消息 上周,有媒體報道前身為百度圖片的“榴蓮”APP含有大量不雅視頻內容被用戶舉報。對此,百度圖片官方進行了回應,百度圖片表示已經對報道中所涉及的“生吃旋風哥”等爭議內容進行了下線處理。 此外,百度...

    站長 2016-08-15
  • 迅雷前綴是什么 答:迅雷前綴是(magnet:?xt=urn:btih:)括號里的就是了。 我們只要在這段文字之后輸入后續的內容,就可以創建下載鏈接了。 1、磁力鏈接不基于文 ......

    軟件教程 2023-06-03
  • WPS Office手機版怎么加橫線?很多用戶還不知道WPS Office手機版怎么加橫線,WPS Office手機版怎么加橫線,WPS Office手機版怎么打橫線,WPS Office手機版怎么弄 ......

    WPS教程 2023-03-31
  • 一、內容特權。 1、半價點播。 許多站內視頻都需要付費觀看,而大會員用戶可以直接半價享受; 購買成功后的48h內無限次觀看。有部分的內容是只限在中國大陸內觀 ......

    軟件教程 2023-05-05
  • 藍奏云怎么打開別人分享的鏈接1、當我們獲得了鏈接以后,首先需要把鏈接粘貼進瀏覽器里回車進入。2、進入以后就會轉到這樣一個頁面,如果有密碼的話我們就輸入給 ......

    軟件教程 2023-03-16
  • 1、首先打開小米運動的“實驗室功能”。 2、接著點擊“門卡模擬”。 3、然后點擊“我知道了”。 4、最后貼近就可以刷卡成功了。...

    硬件知識 2023-05-17
  • 1、打開手機輕顏相機app,點擊“我的”,點擊“設置”,2、點擊“幫助與反饋”,3、點擊右下角“在線咨詢”即可聯系客服,詢問自己的問題啦!...

    軟件教程 2023-03-16
  • 答:華為P系列: 華為p40,華為p40plus,華為p50,華為p50e,華為p60 華為mate系列: 華為mate40,華為mate50,華為mate50e,華為mate60 華為nova系列: 華為n ......

    鴻蒙系統 2023-04-24
  • 近期有用戶反映,電腦在更新Windows 11 Insider Preview 25252.1000后,出現了應用和已壓縮的文件點擊毫無反應,拖拽都不行,只能從開始菜單打開的情況,這是怎 ......

    windows11 2022-12-13
  • 可見單元格就是不包括隱藏或者篩選篩選后隱藏起來的單元格區域。方法:篩選或隱藏數據,復制需要粘貼的值,在目標單元格區域左上角的第一個單元格處右擊,選擇【 ......

    WPS教程 2022-12-10
  • 答:驍龍8+更好。 驍龍7+gen2實際上就是驍龍8+的低配版本。 在一些其他的核心架構方面都是保持一致的,比如說CPU的架構、GPU的架構等等。 驍龍7+和驍龍8+具體 ......

    硬件知識 2023-04-06
  • 1、先打開機頂盒進入主界面,并且使用遙控器打開設置。 2、然后選擇“賬號與安全”,并且進入。 3、最后往下面翻就可以看到“ADB調試”的選項,直接開啟就行了 ......

    軟件教程 2023-06-01
  • 答:在3DMark壓力測試當中,顯卡需要超高97%才能夠算合格,證明顯卡的穩定性是過關的。 1、一般的默認情況下在2500~3000分就算很正常的了。 2、分數越高說明顯卡 ......

    軟件教程 2023-06-01
  • 文件被win10系統誤報病毒自動刪除了如何進行恢復?有用戶下載了某些破解軟件卻被Win10系統誤認為是病毒文件而自動刪除,當然系統自帶殺毒軟件其實挺不錯的,就是有時候會誤報,大家遇到這種情況的時候就希望把誤刪的...

    windows10 2022-11-20
  • win11系統如何釋放掉系統默認保留的存儲空間?一般情況下,Windows會保留一些存儲空間,以便設備獲得良好性能和成功更新。但是當出現系統盤儲存空間不足時,我們會將幾個G的保留空間釋放出來,以解燃眉之急。本期教...

    windows11 2022-11-17
  •   文/黎明  一場針對中國互聯網巨頭的反壟斷風暴正在醞釀,而且這次動真格了。  11月10日,國家市場監管總局發布《關于平臺經濟領域的反壟斷指南(征求意見稿)》,要加大對互聯網巨頭涉嫌壟斷的調查和監管。 ...

    熱議 2020-11-14
  • 我們經常用WPS的時候,如果需要輸入波浪號~,會發現鍵盤上的波浪號輸入之后在最上面,但是為了美觀,我們希望波浪號顯示在中間。這里總結了三個方法分享給大家 ......

    WPS教程 2023-02-18
  • 答:不一樣。 字類不同、數量不同、使用也不同。 1、字類不同 仿宋gb2312只包含符合GB2312標準的簡體字,仿宋包含所有的簡體字,包括特殊的繁體字。 2、版本不 ......

    軟件教程 2023-02-17
  • 1、下載番茄作家助手,登錄你自己的賬號進入。2、在首頁這里可以看到你創建的書籍,或者新建一個小說,點擊這個黃色的編輯圖標。3、進入以后,再點擊“創建章節 ......

    軟件教程 2023-03-16
  • 答:中高端水平 i513500hx在處理器當中是處于一個中高端的水平。 i513500hx是第十一代酷睿處理器系列的一員,基礎頻率為2.4GHz,表現十分的不錯。 i513500hx介 ......

    硬件知識 2023-04-27
  • 羅技g304dpi燈顏色代表什么:1、藍色:這種情況是正常工作的顯示,如果說是常亮或者閃爍,那都沒有問題這是在正常工作呢。2、紅色:如果說是紅燈閃爍的話那就是 ......

    硬件知識 2023-03-16
  • 打開軟件,直接填寫就可以。 1、下載安裝easyconnect軟件, 2、打開easyconnect應用,在如圖所示的“服務器地址”一欄輸入如圖所示網址,點擊“連接”, 3、等 ......

    軟件教程 2023-04-03

熱門排行

    最近更新

      返回頂部
      亚洲国产精品人久久,亚洲va国产日韩欧美精品色婷婷,久久久久88色偷偷,免费人成黄页在线观看国际
      久久精品理论片| 91久久精品一区二区三区| 婷婷开心激情综合| av高清久久久| 久久精品在线观看| 亚洲欧美电影一区二区| 国产在线精品一区二区不卡了| 狠狠色狠狠色综合| 日韩欧美亚洲一区二区| 亚洲视频每日更新| 波多野结衣在线一区| 欧美少妇xxx| 一区二区三区成人在线视频| 国产剧情av麻豆香蕉精品| 337p粉嫩大胆噜噜噜噜噜91av| 久久99精品久久只有精品| 久久香蕉国产线看观看99| 国内久久婷婷综合| 欧美精品三级在线观看| 亚洲男女一区二区三区| 精彩视频一区二区三区| 色域天天综合网| 亚洲一区视频在线| 色香蕉成人二区免费| 亚洲第一久久影院| 在线播放欧美女士性生活| 肉丝袜脚交视频一区二区| 91久久精品日日躁夜夜躁欧美| 亚洲第一精品在线| 亚洲精品一区二区三区精华液 | 国内成+人亚洲+欧美+综合在线| 欧美妇女性影城| 国产在线播精品第三| 日本一区二区三区电影| 99精品久久只有精品| 日韩主播视频在线| 欧美一级免费大片| 色哟哟国产精品| 国产成人综合在线播放| 亚洲丶国产丶欧美一区二区三区| 欧美在线看片a免费观看| 国产露脸91国语对白| 亚洲国产一区在线观看| 国产精品网曝门| 久久亚洲精品小早川怜子| 在线看日韩精品电影| 成人av影视在线观看| 国产片一区二区| 日韩欧美综合在线| 欧美人妖巨大在线| 国产在线精品一区在线观看麻豆| 亚洲国产精品嫩草影院| 日韩欧美亚洲一区二区| 国产凹凸在线观看一区二区| 亚洲精品老司机| 日韩一区二区三区在线观看 | 久久久午夜精品理论片中文字幕| 成人在线一区二区三区| 精品一区二区三区免费视频| 国产欧美精品一区aⅴ影院| 欧美亚洲动漫精品| 国产成人精品免费| 日韩毛片精品高清免费| 久久久久久久综合日本| 欧美一级免费大片| 色婷婷激情综合| 一本色道a无线码一区v| 色女孩综合影院| 色偷偷成人一区二区三区91| 91丨porny丨户外露出| 国产精品一品视频| 国产成人aaaa| 在线观看不卡一区| 成人国产精品免费观看| 成人高清免费观看| 色拍拍在线精品视频8848| 色综合色综合色综合| 色94色欧美sute亚洲13| 国产成人精品亚洲日本在线桃色| 在线电影欧美成精品| 国产成人免费视频网站高清观看视频| 蜜臀av性久久久久蜜臀aⅴ四虎| 一区二区三区日韩精品视频| 老色鬼精品视频在线观看播放| 色婷婷综合久久久久中文| 日韩一级精品视频在线观看| 国模套图日韩精品一区二区| 国产一区二区福利| 欧美日韩一区三区| 亚洲女同ⅹxx女同tv| 91麻豆免费看片| 亚洲一二三专区| 亚洲精品中文在线影院| 国产不卡在线一区| 精品国产一区二区三区久久影院| 亚洲r级在线视频| 欧美三级三级三级| 性做久久久久久| 制服丝袜成人动漫| 久久狠狠亚洲综合| 久久蜜桃av一区二区天堂| 午夜精品一区二区三区电影天堂| 色综合久久久久网| 午夜伊人狠狠久久| 欧美α欧美αv大片| 成人性视频网站| 亚洲国产综合人成综合网站| 日韩一区二区精品| 国产夫妻精品视频| 欧洲另类一二三四区| 久久久国产精品麻豆| 欧美成va人片在线观看| 免费精品99久久国产综合精品| 亚洲午夜久久久| 一区二区三区不卡视频| 蜜桃视频第一区免费观看| av激情综合网| 日韩一区二区三区免费看| 久久久高清一区二区三区| 一区二区三区欧美久久| 暴力调教一区二区三区| 欧美一区二区三区在线看 | 奇米精品一区二区三区在线观看一 | 国产不卡在线视频| 337p亚洲精品色噜噜噜| 亚洲男人的天堂一区二区 | 国产在线观看一区二区| 在线看国产一区| 国产精品久久久久婷婷| 激情图片小说一区| 日韩欧美国产高清| 亚洲成人午夜电影| 亚洲蜜臀av乱码久久精品| 国产欧美日本一区二区三区| 精品噜噜噜噜久久久久久久久试看| 欧美三级三级三级爽爽爽| 亚洲国产一区二区在线播放| 色婷婷综合久久久中文字幕| 亚洲婷婷综合久久一本伊一区 | 欧美日本在线观看| 美国av一区二区| 亚洲成人激情自拍| 91亚洲精品一区二区乱码| 国产精品电影院| 91丨porny丨户外露出| 亚洲精品成人天堂一二三| 欧美日韩日日骚| 亚洲18色成人| 欧美大肚乱孕交hd孕妇| 日韩 欧美一区二区三区| 在线观看中文字幕不卡| 欧美激情在线一区二区| 日韩高清欧美激情| 国产一区二区三区在线观看免费视频| 麻豆中文一区二区| 国产成人综合亚洲网站| 国产喂奶挤奶一区二区三区| 国产精品免费丝袜| 久久精品国产精品亚洲红杏| 不卡视频一二三| 色屁屁一区二区| 欧美自拍丝袜亚洲| 欧美精品第一页| 欧美刺激脚交jootjob| 午夜久久久影院| av电影天堂一区二区在线 | 国产91丝袜在线18| 精品视频在线免费观看| 久久精品日产第一区二区三区高清版 | 国产欧美中文在线| 日本精品一级二级| 日韩avvvv在线播放| 国产精品久99| 制服丝袜激情欧洲亚洲| 国产一区二区在线观看免费| 久久人人爽人人爽| 久99久精品视频免费观看| av福利精品导航| 中文字幕制服丝袜成人av| 亚洲午夜国产一区99re久久| 色嗨嗨av一区二区三区| 国产日韩视频一区二区三区| 亚洲成人动漫在线免费观看| 99riav久久精品riav| 国产精品久久久久久久久搜平片| 久久免费午夜影院| 亚洲777理论| 欧美最猛性xxxxx直播| 亚洲精品视频在线观看免费| 欧美一区二区视频在线观看2022| 成人美女在线视频| 黑人巨大精品欧美一区| 欧美成人一区二区三区| 国产精品色在线观看| 韩国三级在线一区| 久久久久国产精品麻豆| 欧美在线啊v一区| 美女精品一区二区| 91婷婷韩国欧美一区二区| 国产亚洲精品精华液|