RPC框架下实现文件上传到linux服务器

一、前端使用element -ui 的upload组件

:data 表示额外传递的参数, :header 表示设置请求头参数,如,token等, action表示后台api接口的地址

二、 contoller层

因为dubbo 不支持File文件类型的参数,所以转换成byte[],或者使用hessian协议
Dubbo 缺省协议采用单一长连接和 NIO 异步通讯,适合于小数据量大并发的服务调用,以及服务消费者机器数远大于服务提供者机器数的情况。
反之,Dubbo 缺省协议不适合传送大数据量的服务,比如传文件,传视频等,除非请求量很低。
官网:http://dubbo.apache.org/zh/docs/v2.7/user/references/protocol/dubbo/

三、定义服务端暴露的接口

四、 provider端

现在文件只能传到本地电脑,不能传到Linux下,下面来实现传递到linux服务器上

测试下,在E盘下生成一个cc.pdf的文件

五、linux 安装ftp组件vsftpd

上次安装nginx,把selinux关闭了,现在开起selinux,并设置放行nginx

开启http访问

六、防火墙开启21端口

开放端口后需要重启防火墙

七、创建一个用户用于登录

八、给新创建的用户设置密码

九、修改selinux

使用下列命令查看selinux状态

getsebool -a | grep ftp

开启外网的访问权限

setsebool -P allow_ftpd_full_access on
setsebool -P tftp_home_dir on

十、 关闭匿名访问

修改/etc/vsftpd/vsftpd.conf文件(访问时必须有用户名和密码才能访问):

vim /etc/vsftpd/vsftpd.conf

所以我就不修改了

十一、开启被动模式

默认是开启的,但是要指定一个端口范围,打开vsftpd.conf文件,在最后面加上下列内容

pasv_min_port=30000
pasv_max_port=30999

开放30000-30999端口,并重启防火墙

修改配置文件后要重启ftp服务

十二、设置开机启动vsftpd ftp 服务

十三、修改provider

首先要导入apache 的Commons-net

修改nginx下的default.conf,添加路径

重启nginx后,通过http访问

发现是403,查看下nginx权限

打开nginx.conf文件修改user 权限

把user 的nginx 修改为medical,我在此修改为root,重启nginx后再用浏览器访问

参考资料:
https://www.cnblogs.com/zhaixingzhu/p/12569156.html
https://www.jianshu.com/p/b113ba77d467
https://www.cnblogs.com/aotian/p/13222134.html
https://blog.csdn.net/csdn_lqr/article/details/53333946
https://blog.csdn.net/qq_41905042/article/details/105899450?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2~all~sobaiduend~default-1-105899450.nonecase&utm_term=centos8%E9%98%B2%E7%81%AB%E5%A2%99%E5%85%81%E8%AE%B8%E7%AB%AF%E5%8F%A3&spm=1000.2123.3001.4430



来自为知笔记(Wiz)


posted on 2020-11-21 07:56  白衣风云  阅读(1939)  评论(0编辑  收藏  举报

导航