CentOS-7配置fastDFS文件服务器和安装Nginx

配置步骤实在是很繁琐,听我慢慢道来!

主要是配置管理(tracker)和存储(storage)
返回地址样式 –> 域名/组名/磁盘名/目录名/文件名

CentOS-7配置fastDFS文件服务器和安装Nginx

– 1.获取安装包

fastDFS
https://github.com/happyfish100/fastdfs/tags

libfastcommon
https://github.com/happyfish100/libfastcommon/tags

fastdfs-nginx-module
https://github.com/happyfish100/fastdfs-nginx-module/tags

nginx
https://github.com/nginx/nginx/tags

文件包全部上传到 /usr/local/src 下(我是通过xftp上传的,具体看你业务需求,上传到指定其他地方也可以)

2.安装gcc环境

yum -y install gcc gcc-c++ autoconf pcre pcre-devel make automake

yum -y install wget httpd-tools vim

3.安装libfastcommon

解压libfastcommon-1.0.55.tar.gz
tar -zxvf libfastcommon-1.0.55.tar.gz

进入解压目录编译、安装
cd libfastcommon-1.0.55

编译: ./make.sh

安装: ./make.sh install

完成后 /usr/lib下就会有libfastcommon.so文件,如果没有就将libfastcommon.so文件复制到 /usr/lib 下
PS:(这个libfastcommon-1.0.55路径根据你的需求来指定,我的位置是这个 –> /usr/local/src/

cp /usr/local/src/libfastcommon-1.0.55/src/libfastcommon.so /usr/lib

4.安装FastDFS

解压fastdfs-6.07.tar.gz
tar -zxvf fastdfs-6.07.tar.gz

编译: ./make.sh

安装: ./make.sh install

安装成功后将 conf内的文件复制到 /etc/fdfs

cp /usr/local/src/fastdfs-6.07/conf/* /etc/fdfs

5.安装tracker

进入 /etc/fdfs 目录,修改 tracker.conf文件,如果文件不存在,就复制 tracker.conf.sampletracker.conf

修该 base_path = /home/yuqing/fastdfsbase_path = /home/logs/fastdfs(日志文件,也可自己指定位置)( 指定位置时要在指定位置创建相应的文件目录

端口位置: http.server_port = 8080 修改成 http.server_port = 80(修改成80端口,更方便)

组名: store_group = group2 修改成 store_group = group1

启动tracker: fdfs_trackerd /etc/fdfs/tracker.conf start(start换成restart是重启)

查看tracker状态: netstat -unltp | grep tracker

CentOS-7配置fastDFS文件服务器和安装Nginx

6.安装storage

还是在 /etc/fdfs 目录下,修改 storage.conf(如果文件不存在复制 storage.conf.samplestorage.conf)

日志路径: base_path = /home/yuqing/fastdfs 修改为 base_path = /home/logs/storage指定位置时要在指定位置创建相应的文件目录

实际文件存储路径(能配置多个路径): store_path0 = /home/yuqing/fastdfs修改为 store_path0 = /home/data/storage指定位置时要在指定位置创建相应的文件目录

tracker_server: tracker_server = 192.168.209.121:22122 修改为 tracker_server = 192.168.136.131:22122(服务器IP地址, ifconfig查询)

组名: group_name = group1(如果和tracker组名一样,不用修改)

端口: http.server_port = 8888修改为 http.server_port = 80(都要保持一致的端口80)

启动storage: fdfs_storaged /etc/fdfs/storage.conf start

查看storage状态: netstat -unltp | grep storage

CentOS-7配置fastDFS文件服务器和安装Nginx

然后查看tracker和storage是否互相通信: fdfs_monitor /etc/fdfs/storage.conf

如果出现ACTIVE,则证明服务启动正常,可以上传文件测试。

CentOS-7配置fastDFS文件服务器和安装Nginx

7.测试图片上传

FastDFS提供了一个文件上传命令: /usr/bin/fdfs_test 测试文件上传。测试上传需要连接tracker服务器,连接storage服务器。因此需要指定一个配置文件:client.conf配置文件,通过client.conf连接tracker服务器。

还是在 /etc/fdfs目录下修改 client.conf文件

日志路径: base_path = /home/yuqing/fastdfs修改为 base_path = /home/logs/client指定位置时要在指定位置创建相应的文件目录

tracker_server: tracker_server = 192.168.0.197:22122修改为 tracker_server = 192.168.136.131:22122(tracker端口,还是和IP地址保持一致, ifconfig查询)

测试命令: /usr/bin/fdfs_test /etc/fdfs/client.conf upload anti-steal.jpg(需要在 /etc/fdfs 目录下使用该命令)

可以看到出现了example file url:…….

图片上传成功!

CentOS-7配置fastDFS文件服务器和安装Nginx

8.安装nginx

gcc安装:
yum install gcc-c++

pcre pcre-devel 安装:
yum install -y zlib zlib-devel

zlib 安装:
yum install -y zlib zlib-devel

OpenSSL 安装:
yum install -y openssl openssl-devel

解压nginx: tar -zxvf nginx-1.20.2.tar.gz

进入解压目录: cd nginx-1.20.2/

./configure编译后出现Makefile文件

然后在编译安装: make && make install

9.安装fastdfs-nginx-module

解压fastdfs-nginx-module-1.22.tar.gz
tar -zxvf fastdfs-nginx-module-1.22.tar.gz

修改 /fastdfs-nginx-module/src/config文件,用 #注释掉含有 local关键字的代码行

CentOS-7配置fastDFS文件服务器和安装Nginx

复制 /usr/lib64目录下的文件 libfdfsclient.so
cp /usr/lib64/libfdfsclient.so /usr/lib

在nginx安装目录下执行如下命令:把module添加nginx中,通过设置安装参数方式添加模块
cd /usr/local/src/nginx-1.20.2/

./configure --add-module=../fastdfs-nginx-module-1.22/src(这是我的nginx和fastdfs-nginx-module-1.22处于同级目录下,如果你的不在,请填写正确目录)

CentOS-7配置fastDFS文件服务器和安装Nginx

成功后如图:

CentOS-7配置fastDFS文件服务器和安装Nginx

重新编译安装: make && make install

查看Nginx模块: /usr/local/nginx/sbin/nginx -V

CentOS-7配置fastDFS文件服务器和安装Nginx

复制 fastdfs-nginx-module源码中的配置文件到 /etc/fdfs目录
cd /usr/local/src/fastdfs-nginx-module-1.22/src
cp mod_fastdfs.conf /etc/fdfs/

进入 /etc/fdfs修改 mod_fastdfs.conf文件

连接超时: connect_timeout=10设置为10秒

teacker_server: tracker_server=tracker:22122修改为 tracker_server=192.168.136.131:22122(还是和IP地址保持一致,ifconfig查询)

端口:storage_server_port= 23000(默认是23000,是就不用改)

如果文件ID的uri中包含/group**,则要设置为true
url_have_group_name = false修改为 url_have_group_name = true

Storage配置的 store_path0路径,必须和 storage.conf中的一致
store_path1=/home/yuqing/fastdfs修改为 store_path0=/home/data/storage
base_path=/temp修改为 base_path=/home/logs/storage

配置nginx:进入 /usr/local/nginx/conf目录下修改nginx.conf

这个nginx安装目录就统一了。

修改nginx.conf:

#user nobody改成 user root

CentOS-7配置fastDFS文件服务器和安装Nginx
下面的server {
listen 80;
server_name localhost;
…..localtion / {
….

.. }
}
在80端口下添加fastdfs-nginx模块
location ~/group([0-9])/M00 {
ngx_fastdfs_module;
}

(也就是把之前的location替换掉)

CentOS-7配置fastDFS文件服务器和安装Nginx

注意:
listen 80 端口值是要与 /etc/fdfs/storage.conf 中的 http.server_port=80 (前面改成80了)相对应。如果改成其它端口,则需要统一,同时在防火墙中打开该端口
location 的配置,如果有多个group则配置location ~/group([0-9])/M00 ,没有则不用配group。
在文件存储目录下创建软连接,将其链接到实际存放数据的目录,注意这个文件存储的位置后面多个data目录是系统自动生成的
ln -s /home/data/storage/data /home/data/storage/data/M00

10.启动nginx

/usr/local/nginx/sbin/nginx

查看nginx状态: netstat -nap | grep nginx

CentOS-7配置fastDFS文件服务器和安装Nginx

设置开机自启:
vim /etc/rc.d/rc.local

加入: /usr/local/nginx/sbin/nginx

使 /etc/rc.d/rc.local变成可执行文件

chmod +x /etc/rc.d/rc.local

11.通过linux本地浏览器查看图片

因为没有设置防火墙等所以无法再windows下的浏览器查看
上传图片后点开url地址 即可看到图片:
/usr/bin/fdfs_test /etc/fdfs/client.conf upload anti-steal.jpg(图片测试,需要在/etc/fdfs目录下使用此命令)

Original: https://www.cnblogs.com/ycz233/p/15865513.html
Author: zzuli-ycz
Title: CentOS-7配置fastDFS文件服务器和安装Nginx

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/524108/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 嵌入式软件开发之程序架构设计-任务调度

    1 前言 在嵌入式MCU软件开发过程中,程序任务调度架构的搭建尤为重要,直接关系到该程序能支持多少功能(随着功能越多系统响应能力越弱,好的任务调度架构能够在保持相同的系统响应能力前…

    Linux 2023年6月7日
    0109
  • Linux 下 xargs 命令

    xargs 常常被大家忽略的一个命令,对它的一些用法很多人可能不熟悉,其实它是一个功能强大的命令,特别是在结合管道进行批量处理方面 语法 xargs 语法格式如下 xargs [O…

    Linux 2023年6月13日
    0105
  • 微服务架构项目浅析

    微服务架构的演变 最初的需求 业务发展后需要克服的问题 微服务架构使用的组件 Nginx Redis Rabbitmq Mysql jar jdk * 总结 ​ 这个章节主要介绍微…

    Linux 2023年6月14日
    0107
  • ansible-复制模块

    简介:临时的,在ansible中是指需要快速执行的单条命令,并且不需要保存的命令。对于复杂的命令则为 playbook。 1、复制模块 可在终端执行ansible-doc copy…

    Linux 2023年6月6日
    098
  • 5.9 Linux Vim批量注释和自定义注释

    使用 Vim 编辑 Shell 脚本,在进行调试时,需要进行多行的注释,每次都要先切换到输入模式,在行首输入注释符 #再退回命令模式,非常麻烦。 连续行的注释其实可以用替换命令来完…

    Linux 2023年6月7日
    081
  • 人人都写过的5个Bug!

    大家好,我是良许。 计算机专业的小伙伴,在学校期间一定学过 C 语言。它是众多高级语言的鼻祖,深入学习这门语言会对计算机原理、操作系统、内存管理等等底层相关的知识会有更深入的了解,…

    Linux 2023年6月14日
    092
  • Redis 优化之 tcp-backlog

    tcp-backlog:511 此参数确定了TCP连接中已完成队列(完成三次握手之后)的长度, 当然此值必须不大于Linux系统定义的/proc/sys/net/core/soma…

    Linux 2023年5月28日
    091
  • 每天一个 HTTP 状态码 202

    202 Accepted 表示服务器已经接受了这个请求,但是还不确定… 202 Accepted 202 Accepted 表示服务器已经接受了这个请求,但是还不确定这…

    Linux 2023年6月7日
    093
  • 解决端口被占用问题

    在 Linux 里查看端口被哪个进程占用(以Apache服务80端口为例,其余的端口一样方法处理) [root@localhost /]# lsof -i:80 #查看进程 COM…

    Linux 2023年6月7日
    0127
  • tqdm和zip组合使用时无法显示进度条-解决办法

    问题 单独对于可迭代对象iterator使用tqdm时,结合循环就可以在终端显示进度条, 以直观展示程序进度,如下: from tqdm import tqdm textlist …

    Linux 2023年6月7日
    0115
  • RestFul风格

    概念:Restful就是一个资源定位及资源操作的风格。不是标准也不是协议,只是一种风格。基于这个风格 设计的软件可以更简洁,更有层次,更易于实现缓存等机制。 功能资源:互联网所有的…

    Linux 2023年6月14日
    079
  • 秒搞VirtualBox 、CentOS 的安装过程

    镜像下载、域名解析、时间同步请点击阿里云开源镜像站 一、介绍背景: VirtualBox : 由德国 InnoTek 软件公司出品 Open Source Software, OS…

    Linux 2023年5月27日
    085
  • MySQL——用户和权限管理

    由用户名和主机名组成 格式:’user_name’@’host’ host必须要用引号括起来 注意:host可以是一个主机名也可以是…

    Linux 2023年6月7日
    088
  • 时钟周期,机器周期和指令周期

    有些概念没有搞清楚,基础不牢呀。 保持更新;https://github.com/yaowenxu posted @2022-02-16 16:18 xuyaowen 阅读(42 …

    Linux 2023年6月14日
    087
  • Linux目录标签概览

    根目录是整个系统最重要的一个目录,因为不但所有的目录都是由根目录衍生出来的,同时根目录也与开机/还原/系统修复等动作有关。由于系统开机时需要特定的开机软件、核心文件、开机所需程序、…

    Linux 2023年6月8日
    078
  • [LINUX] Arch Linux 硬盘拷贝式装系统+新增 home 分区

    前言 1. 实操 1.1 整个磁盘拷贝 1.2 创建 home 分区 1.3 修改 fstab 实现自动挂载 2. 涉及到的知识点 2.1 fstab 2.2 dd 命令 2.3 …

    Linux 2023年5月27日
    0173
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球