使用http代理服务器nginx通过fastdfs-nginx插件访问fastdfs的storage存储文件(图片、音视频等)

一、安装依赖软件和类库(安装前的准备,一定要先运行这里的命令,因为后边的安装文件需要进行编译)

Linux系统下载:http://mirrors.huaweicloud.com/centos/7.8.2003/isos/x86_64
我使用的是:/CentOS-7-x86_64-DVD-2003.iso

1、先分别运行以下4条命令 安装依赖:Gcc、libevent、perl,依赖:pcre-devel、zlib-devel
yum install gcc-c++ -y

yum -y install zlib zlib-devel pcre pcre-devel gcc gcc-c++ openssl openssl-devel libevent libevent-devel perl unzip net-tools wget

yum -y install libevent

yum install perl*

二、按照顺序安装以下4个软件:

1、安装fastdfs的依赖库:Libfastcommon

(1)解压tar -zxvf Libfastcommon压缩包,并进入到压缩文件里。
链接: https://pan.baidu.com/s/1i76Ivtm7JMrx6um7xiRYvw 提取码: e67r
(2)编译文件./make.sh
(3)安装编译文件./make.sh install
(4)将类库拷贝到/usr/lib下cp /usr/lib64/libfastcommon.so /usr/lib/
在这里插入图片描述

2、fastdfs软件(安装tracker和storage)配置tracker和配置storage。tracker依赖于:Gcc、libevent、perl

(1)cd /opt,解压tar -zxvf FastDFS_v5.05.tar.gz,解压后文件名为:FastDFS
链接: https://pan.baidu.com/s/1exZEmRe0zHl2ZJ8eWWzGaw 提取码: pux9
(2)进入解压目录cd FastDFS
(3)运行命令./make.sh,编译文件
(5)运行命令./make.sh install,安装
(6)进入cd /opt/FastDFS/conf
在配置目录中,将所有文件都拷贝到/etc/fdfs下cp * /etc/fdfs/
(7)创建目录,用来存放数据mkdir -p /opt/fastdfs/fdfs_storage
(8)进入cd /etc/fdfs/配置tracker.conf
vi /etc/fdfs/tracker.conf ,设置软件数据和日志目录路径:/opt/fastdfs
在这里插入图片描述
(9)配置storage.conf(storage不需要安装,因为安装tracker时已经同时安装)
vi /etc/fdfs/storage.conf

软件目录:opt/fastdfs
在这里插入图片描述
Storage存储文件的目录:opt/fastdfs/fdfs_storage
在这里插入图片描述
Storage找到tracker服务,IP地址:端口。ip地址这里设置为linux本机ip地址。
在这里插入图片描述
(10)配置tracker和storage的开机自动服务
1、进入/etc/init.d启动脚本目录,默认fastdfs已经生成
在这里插入图片描述

2、mkdir /usr/local/fdfs创建一个目录,用来存放开启和关闭fastdfs的程序(因为启动和关闭程序还在安装目录下,所以将这两个程序cp到该目录)
进入安装目录/opt/FastDFs
cp stop.sh /usr/local/fdfs/
cp restart.sh /usr/local/fdfs/

3、Vi fdfs_trackerd脚本文件,图中标红的地方对应的目录,应有的文件或程序务必一致!
在这里插入图片描述
在这里插入图片描述

4、vi fdfs_storage脚本文件,图中标红的路径务必一致!
在这里插入图片描述
在这里插入图片描述
这里有坑!谨记上边图片画红线的和红方框的路径,务必要一致!!!

5、将这两个开机自启脚本加入linux服务
在这里插入图片描述
6、启动服务
在这里插入图片描述
7、使用命令:ps -ef|grep fdfs查看tracker和storage的服务开启情况。
在这里插入图片描述
(11)这两个服务都确认开启,就可以上传测试一下了:
FastDFS安装成功可通过/usr/bin/fdfs_test测试上传、下载等操作。

修改/etc/fdfs/client.conf
vi /etc/fdfs/client.conf
base_path=/opt/fastdfs
tracker_server=192.168.67.163:22122
前面的ip地址修改成自己电脑的,后面的端口不用动
在这里插入图片描述
(12)测试:
将/root下的图片文件上传到fastdfs服务器中:
/usr/bin/fdfs_test /etc/fdfs/client.conf upload /root/winteriscoming.jpg
在这里插入图片描述
(13)查看对应的上传路径:
/opt/fastdfs/fdfs_storage/data /00/00/wKhDo1qipbiAJC6iAAB1tayPlqs094_big.jpg
在这里插入图片描述
测试成功!这样fastdfs服务器就安装完毕了,花费时间接近4个小时,累死了!!!

(14)ps -ef|grep fdfs查看fdfs进程运行情况
这里用命令kill杀掉进程,重启系统查看服务自启情况!
在这里插入图片描述
重启系统之后:开机自动启动服务成功!
在这里插入图片描述

3、安装fastdfs-nginx-module,即fastdfs整合nginx的插件

(1)解压FastDFS-nginx-module插件
链接: https://pan.baidu.com/s/1pZW3y74-JXL_DaJAJlD5cQ 提取码: n6d2
(2)vi fastdfs-nginx-module/src/config修改插件读取fdfs的目录(安装的时候,默认把fastdfs安装到了include目录下,故这里把路径中的local去掉即可
在这里插入图片描述
(3) 将FastDFS-nginx-module插件整合fdfs的配置文件,拷贝到etc/fdfs的配置目录(整合fdfs的配置文件)cp mod_fastdfs.conf /etc/fdfs/

(4)vi mod_fastdfs.conf这个文件修改4处地方(软件安装目录、tracker_service地址、Web的url是否包含group的路径名、上传文件存储目录)
软件安装目录
在这里插入图片描述
Tracker_server地址,ip地址为本地地址,端口不变。
在这里插入图片描述
Web的url是否包含group的路径名
在这里插入图片描述
上传文件存储目录
在这里插入图片描述
修改完这个文件,就安装完毕了。
如果运行之后带mod的错误,都是这个插件配置出问题了。注意了!!!

4、安装Nginx代理服务器 ,提供http服务 (依赖于:pcre-devel、zlib-devel)

1、解压nginx的压缩包
链接: https://pan.baidu.com/s/14EcKiOJgZqAJ80L6tJoUIA 提取码: hv7y
2、进入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=/opt/fastdfs-nginx-module/src

解析一下命令:

./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
这段代码有bug!每次重启机器,都会删除nginx文件夹,再次运行,这里会报错没有这个文件。
下边有解决方案!!!
--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 \
这里需要创建临时目录 mkdir -p /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=/opt/fastdfs-nginx-module/src
这里加入一个插件(fastdfs和nginx整合的插件)

3、运行上方命令成功后,直接运行make命令,编译文件
4、再运行make install安装
5、修改nginx配置文件vi /usr/local/nginx/conf/nginx.conf(默认安装到usr/local目录下)
在这里插入图片描述
6、cd /usr/local/nginx/sbin,运行命令./nginx启动nginx
在这里插入图片描述
7、创建临时的目录mkdir -p /var/temp/nginx/client
-p的意思就是,目录后面没有这个文件,就一直往后创建。

8、这里有个坑!!!
主机访问nginx的服务器,端口在linux系统目录文件/usr/local/nginx/conf/nginx.conf
这里的端口是80,还没有开放这个端口,所以主机无法访问
在这里插入图片描述
9、执行下面的命令,开放80端口,主机就可以访问到nginx了
firewall-cmd --permanent --add-port=8080/tcp
firewall-cmd --reload
在这里插入图片描述
10、nginx通过fastdfs-nginx插件访问fastdfs,即可查看到图片了!!!
上传图片测试:storage返回的URL地址
在这里插入图片描述
http://172.25.0.11:80/group1/M00/00/00/rBkAC18ZakGAAtXGAALlUB6_mK8316_big.jpg这个链接的的80端口已经给nginx服务器代理了,所以可以省去。

在主机输入storage返回的URL地址,正常查看到storage存储的图片,访问成功!!!
在这里插入图片描述
11、第二天重启虚拟机的时候,发现问题了,nginx的pid文件莫名被删掉,导致程序运行不了。重启虚拟机后,再次重启nginx会报错:
nginx: [error] open() “/var/run/nginx/nginx.pid” failed (2: No such file or directory)
问题原因:提示信息说明在 /var/run/nginx/ 目录下找不到 nginx.pid 文件

(1)进入 cd /usr/local/nginx/conf/ 目录,编辑配置文件vi nginx.conf
(2)在配置文件中有个注释的地方: #pid logs/nginx.pid;
  在这里插入图片描述
(3)将注释放开,并修改为:pid /usr/local/nginx/logs/nginx.pid;
在这里插入图片描述
(4)在 /usr/local/nginx 目录下创建 logs 目录:mkdir /usr/local/nginx/logs
(5)cd /usr/local/nginx/sbin/ ,再次启动nginx服务./nginx问题解决!!!

12、正常的启动nginx的话需要cd /usr/local/nginx/sbin目录下,命令:./nginx运行nginx
在这里插入图片描述
这里设置开机启动,开机运行该命令。
vi /etc/rc.d/rc.local这个文件
加入/usr/local/nginx/sbin/nginxwq保存退出
这里要设置rc.local文件的权限(允许管理员读写执行)chmod 700 rc.local
重启,测试成功!

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值