文档服务器的安装部署,文件服务器搭建

本文介绍了如何在Linux系统中利用vsftpd和Nginx搭建一个文件服务器,用于解决服务器集群环境下的文件访问问题。详细步骤包括vsftpd的安装与配置、创建虚拟用户、设置防火墙规则以及Nginx的配置,最终通过不同方式验证文件服务器的访问成功。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

在我们下载一些开发软件时,常常可以看到如图的网页形式,事实上访问的就是文件服务器,我们将使用vsftpd + Nginx在Linux下搭建一个简单的文件服务器

af2be63b796e

为什么要使用文件服务器?

主要用于服务器集群架构中,比如使用nginx+tomcat做集群与负载均衡时,如果将文件直接上传到tomcat上,那么由于有多个tomcat,假设A上传图片到了tomcat1上,那么分配到其他tomcat的用户就访问不到了,而文件服务器就可以解决集群环境下图片的访问问题。

通过Nginx的一些配置也能提高线上图片的访问速度,并且线上文件服务器通常会单独使用一台云主机与应用服务器相隔离,这样也能缓解应用服务器图片访问及上传下载的压力。

af2be63b796e

vsftpd简介

简介

vsftpd是"very secure FTP daemon"的缩写,是一个完全免费的、开放源代码的ftp服务器软件。

特点

vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序,小巧轻快,安全易用,支持虚拟用户、支持带宽限制等功能。

vsftpd安装

安装

安装命令:yum -y install vsftpd

可通过 rpm -qa| grep vsftpd 命令检查是否已经安装vsftpd

默认配置文件在 /etc/vsftpd/vsftpd.conf

创建虚拟用户

# 在根目录或者用户目录下创建ftp文件夹,这里选择在根目录

mkdir /ftpfile

# 添加用户

useradd ftpuser -d /ftpfile -s /sbin/nologin

# 修改ftpfile文件夹权限

chown -R ftpuser.ftpuser /ftpfile

# 重设ftpuser密码

passwd ftpuser

配置

cd /etc/vsftpd

# 创建文件chroot_list

vim chroot_list

# 添加内容:ftpuser,保存退出

vim /etc/selinux/config

# 修改SELINUX=disabled

setenforce 0

修改主配置

修改主配置文件:vim /etc/vsftpd/vsftpd.conf

1.搜索banner找到如下注释,取消ftpd_banner注释,新增加三行配置

# You may fully customise the login banner string:

ftpd_banner=Welcome to silly FTP service.

local_root=/ftpfile

anon_root=/ftpfile

use_localtime=yes

2.继续搜索chroot_list,取消如下两行配置的注释

chroot_list_enable=YES

# (default follows)

chroot_list_file=/etc/vsftpd/chroot_list

3.搜索anon,将如下的配置项值修改为NO

# Allow anonymous FTP? (Beware - allowed by default if you comment this out).

anonymous_enable=NO

4.在最底端添加被动传输的端口,最大和最小端口值,在ftp上传文件传输时需要使用的,虽然采用默认的端口范围也可以,但是防火墙的设置就不能太严格,所以线上环境为了安全考虑建议加上端口配置,方便防火墙配置。

tcp_wrappers=YES

# 添加端口配置

pasv_min_port=61001

pasv_max_port=62000

防火墙配置

vim /etc/sysconfig/iptables

# 添加vsftpd的端口配置

-A INPUT -p TCP --dport 61001:62000 -j ACCEPT

-A OUTPUT -p TCP --sport 61001:62000 -j ACCEPT

-A INPUT -p TCP --dport 20 -j ACCEPT

-A OUTPUT -p TCP --sport 20 -j ACCEPT

-A INPUT -p TCP --dport 21 -j ACCEPT

-A OUTPUT -p TCP --sport 21 -j ACCEPT

启动服务

重启防火墙:service iptables restart

启动vsftpd:service vsftpd start

在/ftpfile目录上传一些测试文件及目录,方便验证查看。

验证

在windows下验证:打开浏览器,以ftp协议访问,如:ftp://192.168.0.108/,访问时会弹出窗口让我们输入ftp的用户名和密码,输入正确的帐号后看到如图界面则代表访问成功。

af2be63b796e

在linux下的验证:输入命令 ftp ip 连接服务器,需要输入ftp的用户和密码,通过ls命令或者dir命令查看文件服务器的文件列表,输入exit退出。

af2be63b796e

通过ftp客户端软件验证:例如cuteftp、filezilla、viperftp、flashftp、leapftp等进行连接ftp服务器,进行文件上传、下载验证。

文件服务器搭建

环境说明

af2be63b796e

CentOS安装参考:Linux安装

虚拟机使用参考:虚拟机的使用

nginx安装参考:Linux下安装Nginx

host配置

由于我们是在本机进行搭建,所以需要配置host虚拟域名映射,如果是线上环境有真实域名,请忽略此步。

修改浏览器所在的主机的host文件,这里修改的是windows的host文件:C:\Windows\System32\drivers\etc

在末尾添加一行配置:192.168.0.108 img.silly.com

nginx配置

1.修改nginx主配置文件nginx.conf

vim /usr/local/nginx/conf/nginx.conf

# 在注释内容上面添加如下内容

include vhost/*.conf;

# another virtual host

2.在Nginx安装目录的conf目录下新建一个vhost目录,然后在vhost目录下新建配置文件,文件名需要以.conf结尾

cd /usr/local/nginx/conf/

mkdir vhost

cd vhost/

vim img.silly.com.conf

配置文件添加如下内容

server {

listen 80;

autoindex on;

server_name img.silly.com;

access_log /usr/local/nginx/logs/access.log combined;

index index.html index.htm index.jsp index.php;

location / {

root /ftpfile/;

add_header Access-Control-Allow-Origin *;

}

}

环境验证

启动nginx,即执行命令:${nginx}/sbin/nginx,打开浏览器,访问自己上传的任意一张图片,如:http://img.silly.com/mountain.jpg,访问ok则说明环境搭建成功。

af2be63b796e

后序

我们在Java项目开发中会使用apache的一些ftp开源包,然后我们用里面的工具进行上传图片的时候,会调用ftp服务,将图片上传到ftp服务器上,这时候我们就能拿到上传图片的文件名,而图片服务器对应的二级域名我们可以在项目中配置,所以上传图片的完整URL就能拿到了,那么前端就可以通过域名url展示图片了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值