Loading

FastDFS实战-集成nginx

1.nginx简介

FastDFS是没有文件访问功能的,需要借助其他工具实现图片HTTP访问的。Nginx就具备代理虚拟机主机功能。

Nginx (engine x) 是一个高性能的HTTP反向代理服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。

Nginx 是一个很强大的高性能Web反向代理服务,它具有很多非常优越的特性:在连接高并发的情况下,Nginx是Apache服务不错的替代品:Nginx在美国是做虚拟主机生意的老板们经常选择的软件平台之一。

正向代理:意思是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端才能使用正向代理。

image

反向代理:反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。

image

区别:

位置不同:正向代理,架设在客户机和目标主机之间;反向代理,架设在服务器端;

代理对象不同:向代理,代理客户端,服务端不知道实际发起请求的客户端;反向代理,代理服务端,客户端不知道实际提供服务的服务端;

Nginx作用:HTTP协议代理。只要支持HTTP协议访问的内容,都可以由Nginx进行代理。Nginx只支持HTTP协议的代理,其他协议不支持。

2.nginx安装

1、上传并安装fastdfs-nginx-module

上传  /fastdfs-nginx-model_v1.16.tar.gz  到 /usr/local/tmp 中,进入 tmp 目录
# cd /usr/local/tmp

解压
# tar zxf fastdfs-nginx-module_v1.16.tar.gz

进入解压目录中src目录,修改配置文件
# cd fastdfs-nginx-module/src

编辑config文件,修改配置文件中第四行,把路径中local去掉。参数是用于配置安装nginx中的FastDFS组件的时候,在什么位置查找FastDFS核心代码。修改结果如下:

image

2、安装nginx的依赖

# yum install -y gcc gcc-c++ make automake autoconf libtool pcre pcre-devel zlib zlib-devel openssl openssl-devel

3、上传Nginx 并解压

上传nginx-1.16.1.tar.gz 到/usr/local/tmp中
# cd /usr/local/tmp
# tar zxf nginx-1.16.1.tar.gz

4、修改Nginx配置

进入到Nginx文件夹
# cd nginx-1.16.1

修改配置文件中好多位置都使用了/var/temp/nginx目录,但是默认不会自动创建这个目录,需要手动创建。
# mkdir -p /var/temp/nginx

修改配置文件参数
./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi \
--add-module=/usr/local/tmp/fastdfs-nginx-module/src

--add-module 必须定义,此配置信息是用于指定安装Nginx时需要加载的模块,如果未指定,Nginx安装过程不会加载fastdfs-nginx-module模块,后续功能无法实现。

5、编译并安装

# make
# make install

6、配置fastdfs-nginx-module模块配置文件

复制配置文件fastdfs-nginx-module/src/mod_fastdfs.conf 到 /etc/fdfs目录中
# cp /usr/local/tmp/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/

7、修改 mod_fastdfs.conf

进入到 /etc/fdfs
# cd /etc/fdfs

编辑配置文件
# vim mod_fastdfs.conf

文件内容修改
需要修改文件中四处内容, 这四处内容的含义:
connect_timeout=2 #连接超时时间,单位秒
tracker_server=tracker:22122 #tracker 服务结点
url_have_group_name=false #URL是否包含group名称
store_path0=/home/yuqing/fastdfs #storage服务结点的存储位置,与配置storage结点一致

修改结果如下:
connect_timeout=10
tracker_server=192.168.93.10:22122
url_have_group_name=true
store_path0=/usr/local/fastdfs/storage/store

8、提供FastDFS需要的HTTP配置文件

复制FastDFS安装包中的两个配置文件(http.conf 和 mine.types) 到 /etc/fdfs目录中
# cp/usr/local/tmp/FastDFS/conf/http.conf /etc/fdfs/
# cp/usr/local/tmp/FastDFS/conf/mine.types /etc/fdfs/

9、创建网络访问存储服务的软连接

在上传文件到FastDFS后,FastDFS会返回group1/M00/00/00/xxxxxxxxx.xxx其中group1是卷名,在mod_fastdfs.conf配置文件中已配置了url_have_group_name, 以保证URL解析正确。其中的M00是FastDFS保存数据时使用的虚拟目录, 需要将这个虚拟目录定位到真实数据目录上。# ln -s /usr/local/fastdfs/storage/store/data/ /usr/local/fastdfs/storage/store/data/M00

10、修改nginx配置文件

进入到安装后 nginx目录,注意是安装目录,不是解压目录# cd /usr/local/nginx/conf编辑配置文件# vim nginx.conf修改内容,需要修改两处user root; #Nginx需要访问linux文件系统,必须有文件系统的权限。User root代表nginx文件系统的权限是root用户权限。如果不开启权限,可能有404反问错误。server{  listen 8888; #storage 配置中, 有http.server_post=8888的配置信息,必须一致。配置文件是 /etc/fdfs/storaged.conf    server_name localhost;    location ~/group([0-9])/M00{      ngx_fastdfs_module;    }}

11、启动nginx

进入到nginx安装目录的sbin文件夹#cd /usr/local/nginx/sbin/ 启动nginx# ./nginx关闭nginx# ./nginx -s quit
posted @ 2022-02-27 14:40  ZT丶  阅读(255)  评论(0编辑  收藏  举报