nginx实现网站图片上载服务器

我这里就写两个例子:
Eg1:电商网站分前台后台,后台维护商品和供应商即后台上传图片前台展示,现在要求前台部署在A服务器,前台部署在B服务器上且用nginx做图片服务器并将nginx服务装在A服务器上,图片上传到A服务器本地xx文件夹下。
这中情况就很简单,我们只需要将后台上传图片的url设置为A服务本地创建的xx文件,并修改conf/f
扣住腰往下压
server {
listen      80;
server_name127.0.0.1;
        #charset koi8-r;
        #access_log  logs/host.access.log  main;
location /ekaImage/{
alias D:\ekaImage;
        }
前台访问时直接A服务IP:ekaImage/XX/xx.jpg即可
Eg2:后台服务部署在A服务器上,前台部署在B服务器,图片服务器部署在C服务器上
我们是单独将图片上传写了个APP部署在C服务器然后后台上传图片是调C服务器部署的图片服务器应用提供的上传图片的方法并将图片存放在C服务器的本地文件夹xxx下且在f里修改为C服务器IP,前台访问时直接按http:+C服务器IP+文件路径+图片路径
图片服务器应用:
packageinx.service;
importjava.io.File;
importjava.io.FileOutputStream;
importjava.io.IOException;
importjava.util.Iterator;
importjava.util.List;
importjavax.servlet.ServletException;
importjavax.servlet.http.HttpServlet;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
importorg.apachemons.fileupload.FileItem;
importorg.apachemons.fileupload.FileItemFactory;
importorg.apachemons.fileupload.FileUploadException;
importorg.apachemons.fileupload.disk.DiskFileItemFactory;
importorg.apachemons.fileupload.servlet.ServletFileUpload;
import org.apache.log4j.Logger;
/**
* Servlet implementation class nginxServlet
*/
publicclassnginxServletextendsHttpServlet {
   
    private Logger    logger    = Logger.getLogger烟饼(nginxServlet.class);
   
    privatestaticfinallongserialVersionUID = 1L;
机械制图标题栏/**
    * @seeHttpServlet#HttpServlet()
    */
publicnginxServlet() {
super();
logger.info(" nginxServletinit .......... ");
    }
    /**
    * @seeHttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
    */
    protectedvoiddoGet(HttpServletRequest request, HttpServletResponse response) thr
owsServletException, IOException {
        logger.info(" nginxServletdoGet ............................ ");
        doPost(request,response);
    }
    /**
    * @seeHttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
按摩腰靠
    */
    protectedvoiddoPost(HttpServletRequest request, HttpServletResponse response) throwsServletException, IOException {
        logger.info(" nginxServletdoPost ............................ ");
        FileItemFactory factory = newDiskFileItemFactory();   
ServletFileUpload upload = newServletFileUpload(factory);    气动滑板
try {   
List items = upload.parseRequest(request);   
Iteratoriter = items.iterator();   
while (iter.hasNext()) {   
FileItem item = (FileItem) ();   
if (item.isFormField()) {   
//普通文本信息处理
                    String paramName = FieldName();   
                    String paramValue = String();   
logger.info(paramName + ":" + paramValue);   
                } else {   
//上传文件信息处理
                    String fileName=  Name(); 
                    String filePath="";
if(fileName.indexOf("/")!=-1){
    filePath = fileName.substring(0,fileName.lastIndexOf("/"));
    fileName = fileName.substring(fileName.lastIndexOf("/"),fileName.length());
                    }
logger.info("item : "+Name());
logger.info(" fname : "+fileName);
logger.info(" path : "+filePath);
                    File f = newFile(filePath);
            if(!f.exists()){
                f.mkdirs();
            }
byte[] data = ();   
FileOutputStreamfos = newName());   
fos.write(data);   
fos.close();   
                }   
          }   
        } catch (FileUploadException e) {   
    logger.error(" nginxServletdoPOST exception :"+e.getMessage());
e.printStackTrace();   
        }   
    }
}
l:
<servlet>
<description></description>
<display-name>nginxServlet</display-name>
<servlet-name>nginxServlet</servlet-name>
<servlet-class>inxServlet</servlet-class>
</servlet>
mesh自组网<servlet-mapping>
<servlet-name>nginxServlet</servlet-name>
<url-pattern>/nginxServlet</url-pattern>
</servlet-mapping>
配置f
server {
listen      80;
server_name127.0.0.1;
        #charset koi8-r;
        #access_log  logs/host.access.log  main;
location /ekaImage/{
alias  /wls/ekaImage/;
        }
后台服务代码:
#图片服务器
imgIp= 192.168.221.91/ekaImage前台<imgsrc=${imgIp }>
#图片上传到哪个地方
uploadFilePath = /wls/ekaImage/
#nginx图片服务器应用
Nginxpath=192.168.221.91:8080/nginxService/nginxServlet
后台上传图片调图片服务器192.168.221.91:8080/nginxService/nginxServlet
如service:

本文发布于:2024-09-21 17:36:11,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/273393.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:服务器   图片   后台   上传   前台   部署   文件   扣住
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议