centos7.9服务器搭建

一、centos7.9 FASTDFS服务搭建
1.安装FastDFS

         yum -y install gcc-c++
         ps:检查gcc-c++是否已经安装   whereis gcc
         yum -y install libevent
         下载 libfastcommon :wget -O libfastcommon-1.0.39.tar.gz             https://codeload.github.com/happyfish100/libfastcommon/tar.gz/V1.0.39
         tar -zxvf libfastcommon-1.0.39.tar.gz
         cd libfastcommon-1.0.39/  ---先执行 ./make.sh  ----然后执行 ./make.sh  install
         下载 fastdfs:https://github.com/happyfish100/fastdfs/releases 选择合适的版本
         wget -O fastdfs-5.11.tar.gz https://codeload.github.com/happyfish100/fastdfs/tar.gz/V5.11
         tar -zxvf fastdfs-5.11.tar.gz  ---》  cd fastdfs-5.11/  ----》./make.sh  ---》./make.sh  install
         默认安装方式安装后的相应文件与目录

	A、服务脚本:
	
	/etc/init.d/fdfs_storaged
	/etc/init.d/fdfs_trackerd
	
	B、配置文件(这三个是作者给的样例配置文件)
	
	/etc/fdfs/client.conf.sample
	/etc/fdfs/storage.conf.sample
	/etc/fdfs/tracker.conf.sample
	
	C、命令工具在 /usr/bin/ 目录下:
	
	fdfs_appender_test
	fdfs_appender_test1
	fdfs_append_file
	fdfs_crc32
	fdfs_delete_file
	fdfs_download_file
	fdfs_file_info
	fdfs_monitor
	fdfs_storaged
	fdfs_test
	fdfs_test1
	fdfs_trackerd
	fdfs_upload_appender
	fdfs_upload_file
	stop.sh
	restart.sh

 配置 Tracker
     cd /etc/fdfs/
     cp tracker.conf.sample tracker.conf
     vim tracker.conf
      # 配置文件是否不生效,false 为生效
     disabled=false

	# 提供服务的端口
	port=22122
	
	# Tracker 数据和日志目录地址(根目录必须存在,子目录会自动创建)
	base_path=/fastdfs/tracker
	
	# HTTP 服务端口 默认8080 ,建议修改 防止冲突
	http.server_port=9080
   
   mkdir -p /fastdfs/tracker
   启动Tracker
  /etc/init.d/fdfs_trackerd start
  service fdfs_trackerd start
  systemctl start fdfs_trackerd

   查看 FastDFS Tracker 是否已成功启动 :
        systemctl status fdfs_trackerd
        netstat -tulnp|grep fdfs 
   关闭Tracker命令
         service fdfs_trackerd stop
         systemctl stop fdfs_trackerd #centos7 推荐
         /etc/init.d/fdfs_trackerd stop

 设置Tracker开机启动
		# chkconfig fdfs_trackerd on
		或
		#systemctl enable fdfs_trackerd.service
		或者:
		# vim /etc/rc.d/rc.local
		加入配置:
		/etc/init.d/fdfs_trackerd start

2.配置 FastDFS 存储 (Storage)

	  cd /etc/fdfs
	  cp storage.conf.sample storage.conf
	  vim storage.conf
	  
	  # 配置文件是否不生效,false 为生效
	  disabled=false 
		# 指定此 storage server 所在 组(卷)
		group_name=group1
		
		# storage server 服务端口
		port=23000
		
		# 心跳间隔时间,单位为秒 (这里是指主动向 tracker server 发送心跳)
		heart_beat_interval=30
		
		# Storage 数据和日志目录地址(根目录必须存在,子目录会自动生成)  (注 :这里不是上传的文件存放的地址,之前版本是的,在某个版本后更改了)
		base_path=/fastdfs/storage/base
		
		# 存放文件时 storage server 支持多个路径。这里配置存放文件的基路径数目,通常只配一个目录。
		store_path_count=1
		
		# 逐一配置 store_path_count 个路径,索引号基于 0。
		# 如果不配置 store_path0,那它就和 base_path 对应的路径一样。
		store_path0=/fastdfs/storage
		
		# FastDFS 存储文件时,采用了两级目录。这里配置存放文件的目录个数。 
		# 如果本参数只为 N(如: 256),那么 storage server 在初次运行时,会在 store_path 下自动创建 N * N 个存放文件的子目录。
		subdir_count_per_path=256
		
		# tracker_server 的列表 ,会主动连接 tracker_server
		# 有多个 tracker server 时,每个 tracker server 写一行
		tracker_server=192.168.0.200:22122
		tracker_server=192.168.0.201:22122
		
		# 允许系统同步的时间段 (默认是全天) 。一般用于避免高峰同步产生一些问题而设定。
		sync_start_time=00:00
		sync_end_time=23:59
		# 访问端口 默认80  建议修改 防止冲突
		http.server_port=9888

创建Storage基础数据目录,对应base_path目录

	# 对应base_path
	# mkdir -p /fastdfs/storage/base
	 
	# 这是配置的store_path0路径,有多个要创建多个
	# mkdir -p /fastdfs/storage/

启动 Storage(启动Storage前确保Tracker是启动的。初次启动成功,会在 /fastdfs/storage/base(base_path) 目录下创建 data、 logs 两个目录。)

   可以用这种方式启动
	# /etc/init.d/fdfs_storaged start
	# service fdfs_storaged start
	# systemctl start fdfs_storaged  #centos7 推荐

查看 Storage 是否成功启动

		# netstat -unltp|grep fdfs #23000 端口正在被监听,就算 Storage 启动成功。
		tcp        0      0 0.0.0.0:23000           0.0.0.0:*               LISTEN      28834/fdfs_storaged 
		# systemctl status fdfs_storaged # 查看服务状态
		● fdfs_storaged.service - LSB: FastDFS storage server
		   Loaded: loaded (/etc/rc.d/init.d/fdfs_storaged; bad; vendor preset: disabled)
		   Active: active (running) since 四 2019-05-09 09:22:53 CST; 2s ago
		     Docs: man:systemd-sysv-generator(8)
		  Process: 23015 ExecStart=/etc/rc.d/init.d/fdfs_storaged start (code=exited, status=0/SUCCESS)
		    Tasks: 1
		   Memory: 184.0K
		   CGroup: /system.slice/fdfs_storaged.service
		           └─23023 /usr/bin/fdfs_storaged /etc/fdfs/storage.conf
		 
		5月 09 09:22:53 localhost.localdomain systemd[1]: Starting LSB: FastDFS storage server...
		5月 09 09:22:53 localhost.localdomain fdfs_storaged[23015]: Starting FastDFS storage server:
		5月 09 09:22:53 localhost.localdomain systemd[1]: Started LSB: FastDFS storage server.

关闭Storage

		service fdfs_storaged stop
		systemctl stop fdfs_storaged #centos7 推荐
	    /etc/init.d/fdfs_storaged stop

查看Storage和Tracker是否在通信:

	# /usr/bin/fdfs_monitor /etc/fdfs/storage.conf

设置 Storage 开机启动

	   # chkconfig fdfs_storaged on
		或
		#systemctl enable fdfs_storaged.service  (推荐)
		或者:
		# vim /etc/rc.d/rc.local
		加入配置:
		/etc/init.d/fdfs_storaged  start 

上传测试

    # cd /etc/fdfs
	# cp client.conf.sample client.conf
	#创建client目录
	# mkdir -p /fastdfs/client
	# vim client.conf

修改如下配置即可,其它默认。

	# Client 的数据和日志目录
	base_path=/fastdfs/client
	 
	# Tracker端口
	tracker_server=192.168.0.200:22122

上传测试

	# /usr/bin/fdfs_upload_file /etc/fdfs/client.conf namei.jpeg
    上传成功后返回文件ID号:group1/M00/00/00/wKgz6lnduTeAMdrcAAEoRmXZPp870.jpeg

安装配置Nginx ,http访问文件,实现下载功能

# vim /usr/local/nginx/conf/nginx.conf
配置如下
server {
        listen       8081;
        server_name  192.168.0.200;
        location /group1/M00{
        alias /fastdfs/storage/data/;
         autoindex on;
       }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
        root   html;
       }
    }

FastDFS 配置 Nginx 模块-----安装配置fastdfs-nginx-module模块

fastdfs-nginx-module 模块说明
   为什么要安装 fastdfs-nginx-module(可跳过)
					 FastDFS 通过 Tracker 服务器,将文件放在 Storage 服务器存储, 但是同组存储服务器之间需要进行文件复制, 有同步延迟的问题。
					 假设 Tracker 服务器将文件上传到了  192.168.1.138,上传成功后文件 ID已经返回给客户端。
					 此时 FastDFS 存储集群机制会将这个文件同步到同组存储  192.168.1.139,在文件还没有复制完成的情况下,客户端如果用这个文件 ID 在 192.168.1.139 上取文件,就会出现文件无法访问的错误。
					 而 fastdfs-nginx-module 可以重定向文件链接到源服务器取文件,避免客户端由于复制延迟导致的文件无法访问错误。
  下载安装 fastdfs-nginx-module
  	#cd /usr/local/src
	 	#wget -O fastdfs-nginx-module-1.20.tar.gz  https://codeload.github.com/happyfish100/fastdfs-nginx-		module/tar.gz/V1.20
	 	编辑 fastdfs-nginx-module-1.20/src/config 文件(此步骤需根据具体情况选择是否需要修改)
		必须做如下修改 ,否则编译nginx时报致命错误,参见 https://blog.csdn.net/zzzgd_666/article/details/81911892
		vim /usr/local/src/fastdfs-nginx-module-1.20/src/config
		修改为如下内容
		
		ngx_addon_name=ngx_http_fastdfs_module
		 
		if test -n "${ngx_module_link}"; then
		ngx_module_type=HTTP
		ngx_module_name=$ngx_addon_name
		ngx_module_incs="/usr/include/fastdfs /usr/include/fastcommon/"
		ngx_module_libs="-lfastcommon -lfdfsclient"
		ngx_module_srcs="$ngx_addon_dir/ngx_http_fastdfs_module.c"
		ngx_module_deps=
		CFLAGS="$CFLAGS -D_FILE_OFFSET_BITS=64 -DFDFS_OUTPUT_CHUNK_SIZE='2561024' -DFDFS_MOD_CONF_FILENAME='"/etc/fdfs/mod_fastdfs.conf"'"
		. auto/module
		else
		HTTP_MODULES="$HTTP_MODULES ngx_http_fastdfs_module"
		NGX_ADDON_SRCS="$NGX_ADDON_SRCS $ngx_addon_dir/ngx_http_fastdfs_module.c"
		CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/"
		CORE_LIBS="$CORE_LIBS -lfastcommon -lfdfsclient"
		CFLAGS="$CFLAGS -D_FILE_OFFSET_BITS=64 -DFDFS_OUTPUT_CHUNK_SIZE='2561024' -DFDFS_MOD_CONF_FILENAME='"/etc/fdfs/mod_fastdfs.conf"'"
		fi
		改变的文件内容(改为自己的路径)
		ngx_module_incs="/usr/include/fastdfs /usr/include/fastcommon/"
		CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/"
         
         配置nginx,添加fastdfs-nginx-module 模块
             # 先停掉nginx服务 如果没有配置为服务 则使用 # /usr/local/nginx/sbin/nginx -s stop
			# systemctl stop nginx     
			#进入nginx源码目录
			# cd /usr/local/src/nginx-1.16.0/   
			#添加fastdfs-nginx-module 模块
			#[root@localhost nginx-1.16.0]#./configure  --add-module=/usr/local/src/fastdfs-nginx-module-1.20/src
			#重新编译安装nginx
			#[root@localhost nginx-1.16.0]# make
			#[root@localhost nginx-1.16.0]# make install
			 
			#验证是否加载fastdfs-nginx-module模块是否 ,有如下标红部分表示成功
			# /usr/local/nginx/sbin/nginx -V
			nginx version: nginx/1.16.0
			built by gcc 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) 
			configure arguments: --add-module=/usr/local/src/fastdfs-nginx-module-1.20/src

        复制 fastdfs-nginx-module 源码中的配置文件 mod_fastdfs.conf 到/etc/fdfs 目录, 并修改
             # cp /usr/local/src/fastdfs-nginx-module-1.20/src/mod_fastdfs.conf /etc/fdfs/
			修改如下配置,其它默认
			 	# 连接超时时间
				connect_timeout=10
		 
				# Tracker Server
				tracker_server=192.168.0.200:22122
				# StorageServer 默认端口
				storage_server_port=23000
				# 如果文件ID的uri中包含/group**,则要设置为true
				#url_have_group_name = true
				# Storage 配置的store_path0路径,必须和storage.conf中的一致
				store_path0=/fastdfs/storage
		复制 FastDFS 的部分配置文件到/etc/fdfs 目录
		      #cd /usr/local/src/fastdfs-5.11/conf/
			[root@localhost conf]# cp anti-steal.jpg http.conf mime.types /etc/fdfs/
		配置nginx,修改nginx.conf
		     # vim /usr/local/nginx/conf/nginx.conf
			修改配置,其它的默认
			在默认80端口下添加fastdfs-nginx模块
			location ~/group([0-9])/M00 {
			    ngx_fastdfs_module;
			}

        完整配置如下 供参考
            user root;
			worker_processes  1;
			events {
			    worker_connections  1024;
			}
			http {
			    include       mime.types;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值