超全面Nginx+VSFTP搭建图片服务器

为啥需要图片服务器?

现在的项目基本上都是nginx/Apache+tomcat/jetty,如果图片存储到对应的应用服务器的机器上,下次访问图片时负载到另外一台应用服务器的机器上也就访问不到了,所以我们需要图片服务器用来专门存储图片信息。

图片量较小就使用nginx+VSFTP单节点图片服务器就可有了,如果量很大我们就需要考虑使用FastDFS分布式文件系统。

这里咱只讨论nginx+VSFTP单节点图片服务器。

Nginx简介:

Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。

VSFTP简介:

VSFTP是一个基于GPL发布的类Unix系统上使用的FTP服务器软件,它的全称是Very Secure FTP 从此名称可以看出来,编制者的初衷是代码的安全。

安全性是编写VSFTP的初衷,除了这与生俱来的安全特性以外,高速与高稳定性也是VSFTP的两个重要特点。

在速度方面,使用ASCII代码的模式下载数据时,VSFTP的速度是Wu-FTP的两倍,如果Linux主机使用2.4.*的内核,在千兆以太网上的下载速度可达86MB/S。

在稳定方面,VSFTP就更加的出色,VSFTP在单机(非集群)上支持4000个以上的并发用户同时连接,根据Red Hat的Ftp服务器的数据,VSFTP服务器可以支持15000个并发用户

一下命令是在CentOS7.4 64位操作系统环境操作的。


Nginx安装:

依赖环境安装

yum install gcc

yum install pcre-devel

yum install zlib zlib-devel

yum install openssl openssl-devel

//一键安装上面四个依赖

yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel


开启防火墙端口:

Centos7默认防火墙是firewalld,一下是相关命令

# service firewalld status; #查看防火墙状态

# service firewalld start;  或者 #systemctl start firewalld.service;#开启防火墙

# service firewalld stop;  或者 #systemctl stop firewalld.service;#关闭防火墙

# service firewalld restart;  或者 #systemctl restart firewalld.service;  #重启防火墙

# systemctl disable firewalld.service#禁止防火墙开启自启

# systemctl enable firewalld#设置防火墙开机启动

# yum remove firewalld#卸载firewall

# firewall-cmd --query-port=80/tcp  #查询端口号80 是否开启


先把nginx和vsftp相关端口开启,分别执行一下5条指令即可。

firewall-cmd --zone=public --add-port=80/tcp --permanent

firewall-cmd --zone=public --add-port=443/tcp --permanent

firewall-cmd --zone=public --add-port=22/tcp --permanent

firewall-cmd --zone=public --add-port=21/tcp --permanent

firewall-cmd --zone=public --add-port=30000-30999/tcp --permanent


下载Nginx的tar并解压

//创建一个文件夹

cd /usr/local

mkdir nginx

cd nginx

wget http://nginx.org/download/nginx-1.10.1.tar.gz  //下载tar包

tar -xvf nginx-1.10.1.tar.gz  //解压


安装Nginx

进入nginx-1.10.1

cd /usr/local/nginx/nginx-1.10.1

执行命令

./configure --prefix=/usr/local/nginx

执行命令make和makeinstall

make && make install

进入sbin目录

cd /usr/local/nginx/sbin

可以执行以下命令

./nginx    启动服务器

./nginx -s stop  停止服务器

./nginx -s reload  重启服务器

ps -ef | grep nginx       查看进程命令

kill -HUP Nginx主进程号     平滑重启

注:配置nginx自启,参考地址:https://www.cnblogs.com/piscesLoveCc/p/5867900.html


VSFTP安装:

安装

yum -y install vsftpd

添加ftp用户:

useradd ftpuser

给ftp用户添加密码:

passwd ftpuser   

输入两次密码后修改密码。


selinux默认是关闭的,我就没有启动,偷懒了。嘿嘿


修改配置vsftpd.conf

vim /etc/vsftpd/vsftpd.conf

关闭匿名方法配置端口

anonymous_enable=NO

pasv_min_port=30000

pasv_max_port=30999


查看vsftpd状态

systemctl status vsftpd.service

启动vsftpd

systemctl start vsftpd.service

设置开启自启方式:参考地址:http://blog.sina.com.cn/s/blog_4b93170a0100mdou.html

本人使用Xftp客户端测试OK!

详细安装配置,建议参考下面地址:https://blog.csdn.net/Hello_World_QWP/article/details/78184435



设置Nginx为图片服务器

vim /user/local/nginx/conf/nginx.conf

配置如下:


超全面Nginx+VSFTP搭建图片服务器_第1张图片

charset 设置编码

location设置静态资源访问地址

root 设置图片存放地址

autoindex on; 设置图片浏览器预览功能

expires 1d;  设置图片缓存有效时间1天


Xftp和浏览器访问效果:


超全面Nginx+VSFTP搭建图片服务器_第2张图片
超全面Nginx+VSFTP搭建图片服务器_第3张图片

你可能感兴趣的:(超全面Nginx+VSFTP搭建图片服务器)