ubuntu server 22.04安装 fdfs

ubuntu server 22.04安装 fdfs

安装依赖包

sudo apt -y install gcc g++ make pcre2-utils libpcre2-dev openssl libssl-dev zlib1g zlib1g-dev libxml2-utils libxml2 libxml2-dev libxslt-dev libgd-dev libgeoip-dev libgoogle-perftools-dev libperl-dev

下载相关软件包

sudo mkdir -p /opt/fastdfs /data/fastdfs /data/fastdfs/data01
cd /opt/fastdfs下载如下软件包
libfastcommon-1.0.40.tar.gz
fastdfs-5.12.tar.gz
fastdfs-nginx-module-1.20.tar.gz

安装libfastcommon

cd /opt/fastdfs
sudo tar -zxvf libfastcommon-1.0.40.tar.gz
cd libfastcommon-1.0.40/
sudo ./make.sh
sudo ./make.sh install

安装fastdfs

cd /opt/fastdfs
sudo tar -zxvf fastdfs-5.12.tar.gz
cd fastdfs-5.12
sudo ./make.sh
sudo ./make.sh install
sudo cp conf/* /etc/fdfs/
sudo cp /opt/fastdfs/fastdfs-nginx-module-1.20/src/mod_fastdfs.conf /etc/fdfs

防火墙端口

sudo firewall-cmd --zone=public --add-port=22122/tcp --permanent
sudo firewall-cmd --zone=public --add-port=23000/tcp --permanent
sudo firewall-cmd --zone=public --add-port=8888/tcp --permanent
sudo firewall-cmd --reload

安装nginx

修改/opt/fastdfs/fastdfs-nginx-module-1.20/src/config文件,在从1处重新配置
ngx_module_incs="/usr/local/include /usr/include/fastdfs /usr/include/fastcommon"
CORE_INCS="$CORE_INCS /usr/local/include /usr/include/fastdfs /usr/include/fastcommon"CFLAGS的两行增加如下参数:
-Wformat-truncation=0 -Wformat-overflow=0sudo groupadd nginx
sudo useradd -g nginx nginx -s /sbin/nologin
sudo mkdir -p /usr/local/nginx/tmp/
sudo chown -R nginx:nginx /usr/local/nginx/
cd nginx-1.25.5/sudo ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-file-aio  --with-http_auth_request_module --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_addition_module --with-http_xslt_module=dynamic --with-http_image_filter_module=dynamic --with-http_geoip_module=dynamic --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module --with-http_degradation_module --with-http_slice_module --with-http_stub_status_module --with-http_perl_module=dynamic --with-mail=dynamic --with-mail_ssl_module --with-pcre --with-pcre-jit --with-stream=dynamic --with-stream_ssl_module --with-google_perftools_module --add-module=/opt/fastdfs/fastdfs-nginx-module-1.20/src/sudo make && sudo make install

修改nginx配置

cd /usr/local/nginx/conf
sudo mv nginx.conf nginx.conf.bak
sudo vim /usr/local/nginx/conf/nginx.confworker_processes  1;
events {worker_connections  1024;
}http {include       mime.types;default_type  application/octet-stream;sendfile        on;keepalive_timeout  65;gzip  on;server {## 该端口为storage.conf中的http.server_port相同listen       8888;server_name  localhost;location / {root   html;index  index.html index.htm;}location ~/shuan/ {root /data/fastdfs/storaged/data01;ngx_fastdfs_module;}error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}}
}

设置nginx服务文件

sudo vim /usr/lib/systemd/system/nginx.service
[Unit]
Description=nginx - high performance web server
Documentation=http://nginx.org/en/docs
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target

启动nginx服务

sudo chown -R nginx.nginx /usr/local/nginx
sudo systemctl enable nginx
sudo systemctl start nginx
sudo systemctl status nginx

防火墙放行8888端口

sudo firewall-cmd --permanent --zone=public --add-port=8888/tcp
sudo firewall-cmd --reload

配置tracker

sudo vim /etc/fdfs/tracker.confport=22122
base_path=/data/fastdfs/trackerd
store_group=shuan
use_storage_id = true

配置storage

sudo vim /etc/fdfs/storage.confgroup_name=shuan
port=23000
base_path=/data/fastdfs/storaged
store_path0=/data/fastdfs/storaged/data01
tracker_server=192.168.200.12:22122
http.server_port=8888

配置storage_ids

sudo vim /etc/fdfs/storage_ids.conf100001   shuan  192.168.200.12

配置client

sudo vim /etc/fdfs/client.confbase_path=/data/fastdfs/trackerd
tracker_server=192.168.200.12:22122
use_storage_id = true

配置nginx

sudo vim /etc/fdfs/mod_fastdfs.confuse_storage_id = true
tracker_server=192.168.200.12:22122
group_name=shuan
url_have_group_name = true
store_path_count=1
store_path0=/data/fastdfs/storaged/data01
group_count = 1[group1]
group_name=shuan
storage_server_port=23000
store_path_count=1
store_path0=/data/fastdfs/storaged/data01

创建tracker和storaged配置文件中的目录(不提前创建启动报错)

sudo mkdir -p /data/fastdfs/trackerd
sudo mkdir -p /data/fastdfs/storaged
sudo mkdir -p /data/fastdfs/storaged/data01/data 

加载tracker与storage服务配置文件,并设置开机自启

sudo systemctl daemon-reloadsudo systemctl start fdfs_trackerd
sudo systemctl enable fdfs_trackerdsudo systemctl start fdfs_storaged
sudo systemctl enable fdfs_storagedsudo systemctl restart fdfs_storaged
sudo systemctl restart fdfs_trackerdsudo systemctl status fdfs_storaged
sudo systemctl status fdfs_trackerd

防火墙放行8888端口

sudo firewall-cmd --zone=public --add-port=22122/tcp --permanent
sudo firewall-cmd --zone=public --add-port=23000/tcp --permanent
sudo firewall-cmd --reload

查看集群状态,可指定tracker地址查看

fdfs_monitor /etc/fdfs/client.conf
fdfs_monitor /etc/fdfs/client.conf -h 192.168.200.12 list

文件上传测试

fdfs_upload_file /etc/fdfs/client.conf /opt/fastdfs/nginx-1.25.5.tar.gz
shuan/M00/00/00/wKjIDGZzpo6AbrV9ABL7nN6W2_U.tar.gz

下载测试

http://192.168.200.12:8888/shuan/M00/00/00/wKjIDGZzpo6AbrV9ABL7nN6W2_U.tar.gz

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/33224.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Charles 显示内存不足解决方法

弹窗出现:Charles is running low on memory. Recording has been stopped. Please clear the session to free memory and continue recording. 官网解决方法: Charles runs out of memory After recording for a while Charles will run low on ava…

一文教你学会使用BitSet

开始之前,介绍一下​最近很火的开源技术,低代码。 作为一种软件开发技术逐渐进入了人们的视角里,它利用自身独特的优势占领市场一角——让使用者可以通过可视化的方式,以更少的编码,更快速地构建和交付应用软件&#…

喜讯:ISO年度审核通过!

在数字化时代,质量是我们不变的追求。近日,矩阵起源迎来了一个值得庆祝的时刻——三项ISO体系年度考核顺利通过!分别为:ISO9001 质量管理体系标准认证、ISO20000信息技术服务管理体系认证及ISO27001 信息安全管理体系认证。 ISO标…

Grafana+Prometheus(InfluxDB)+Jmeter使用Nginx代理搭建可视化性能测试监控平台

前言 在这篇博客文章中,将分享JMeter > Prometheus(InfluxDB) > Grafana的集成,以及Nginx端口反向代理各服务的端口。 背景 在JMeter插件库中,有一些后端监听器可供Kafka、ElasticSearch和Azure使用。默认情况下,JMeter支…

探索 Screen:一个强大的终端复用工具

在日常的系统管理和开发工作中,我们经常需要同时运行多个终端任务,或者需要在一个终端会话中保持任务的持续运行,即使我们断开了与服务器的连接。这时,screen 命令就成为了一个非常有用的工具。本文将详细介绍 screen 的功能、使用…

苹果加码AI合作:继OpenAI后再携手Meta|TodayAI

两家长期竞争对手的合作前景 近日,据《华尔街日报》报道,苹果公司(Apple)和Meta公司(Facebook母公司)正在就一项潜在合作进行讨论,旨在将Meta的生成式AI模型整合到Apple Intelligence中。这一合…

nginx实现反向代理出现502的解决方法

目录 1. 出现原因 1.1. 防火墙拦截了端口 1.1.1. 使用 iptables 1.1.2. 使用 firewall-cmd(适用于 CentOS/RHEL 7) 1.2. docker容器中的ip和宿主机ip不一致 1. 出现原因 这里我是用的docker容器来进行nginx的启动的,在我们用nginx的配置…

Power Apps

目录 一、引言1、Power Apps2、应用场景3、Power Apps的优势与前景4、补充 二、数据源介绍1、SharePoint2、Excel3、Dataverse4、SQL5、补充(1)OneDrive 三、Power Apps应用类型1、画布应用2、模型驱动应用3、网站 Power Pages 四、Power Automate五、Po…

如何提高LabVIEW开发的效率?

提高LabVIEW开发效率对于工程师和研究人员来说非常重要,因为这不仅能缩短开发周期,还能提高系统的可靠性和可维护性。以下从多个角度详细分析如何提高LabVIEW开发的效率。 1. 项目规划与管理 1.1 明确需求 在项目开始前,详细明确项目需求&…

解决Playwright在Ubuntu下启动报错的问题:从环境到依赖的全面优化

在Ubuntu环境中使用Python进行web自动化测试时,Playwright是一个非常强大的工具。然而,在具体实践中,我们常常会遇到各种错误,尤其是在不同Python版本和依赖版本之间切换时。本文将详细介绍如何应对这些问题,并提供一些解决方法。 问题背景 在使用Playwright时,我们有时…

深入解析tcpdump:网络数据包捕获与分析的利器

引言 在网络技术日新月异的今天,网络数据包的捕获与分析成为了网络管理员、安全专家以及开发人员不可或缺的技能。其中,tcpdump作为一款强大的网络数据包捕获分析工具,广泛应用于Linux系统中。本文将从技术人的角度,详细分析tcpdu…

天气冷电脑不能启动找不到硬盘

https://diy.zol.com.cn/2004/0611/101994.shtml

Unity3D UI框架的设计架构与编码实现详解

一、引言 随着游戏开发技术的不断发展,Unity3D作为一款强大的跨平台游戏开发工具,受到了越来越多开发者的青睐。在Unity3D中,UI(用户界面)框架的设计是项目开发中的关键环节。本文将详细介绍Unity3D UI框架的设计架构…

MySQL中不持久和持久受限系统变量的简要介绍

SET PERSIST和SET PERSIST_ONLY是MySQL中用于将全局系统变量的值持久化到数据目录下的mysqld-auto.cnf选项文件的命令。但是,并非所有的系统变量都可以被持久化,或者只能在某些限制性条件下被持久化。以下是系统变量可能无法持久化或持久化受限的一些原因…

微信小程序开发用uni-app开发框架还是微信原生开发?

小程序依托微信入口,借助微信生态对流量补充的优势,拥有超12亿微信用户群体,微信小程序成为流量变现的一个重要通道。 从商家角度来说,借助小程序触达和获取线上用户的门槛更低,用户路径和交易转化也更快。同时&#…

Jmeter多用户token使用问题

背景 在测试的时候,经常会有模拟用户登录,拿到用户 token 后再去请求接口的场景。 这个模拟用户登录就会分为两种,一种是单用户,另一种是多用户。 日常自动化测试的时候可能一个用户对应 n 个用例就可以满足大多数场景&#xf…

MySQL集群高可用架构之MySQL InnoDB Cluste

今天我将详细的为大家介绍Centos 7.5 基于 MySQL 5.7的 InnoDB Cluster 多节点高可用集群环境部署的相关知识,希望大家能够从中收获多多!如有帮助,请点在看、转发支持一波!!! 一、MySQL InnoDB Cluster 介…

RK3568平台(音频篇)音频ALSA框架

一.ALSA框架简介 ALSA表示先进linux声音架构(Advanced Linux Sound Archiecture),它由一系列的内核驱动、应用程序编程接口(API)以及支持linux下声音的应用程序组成、 ALSA项目发起的原有是linux下的声卡驱动&#x…

PAT A1016. 最短路径

题意 有N个结点围成一个圈,相邻两个点之间的距离已知,且每次只能移动到相邻点。然后给出M个询问,每个询问给出两个数字A和B即结点编号(1≤A,B≤N),求从A号结点到B号结点的最短距离。样例解释 如图3-2所示,共有5个结点,…

Spring Cloud:构建分布式系统的利器

引言 在当今的云计算和微服务架构时代,构建高效、可靠的分布式系统成为软件开发的重要任务。Spring Cloud 提供了一套完整的解决方案,帮助开发者快速构建分布式系统中的一些常见模式(例如配置管理、服务发现、断路器等)。本文将探…