[关闭]
@Mr-13 2020-10-17T09:23:42.000000Z 字数 12936 阅读 427

工作手机:FastDFS服务器部署

工作手机



一、关闭SELINUX、FireWall、磁盘挂载


二、FastDFS介绍

1、系统介绍

  FastDFS 是一个开源的高性能分布式文件系统(Distributed File System,DFS)。由C语言编写 它的主要功能包括:文件存储,文件同步和文件访问,以及高容量和负载平衡。主要解决了海量数据存储问题,特别适合以中小文件(建议范围:4KB < file_size <500MB)为载体的在线服务。

  FastDFS 系统有三个角色:跟踪服务器(Tracker Server)存储服务器(Storage Server)客户端(Client)
  

  • Tracker Server:
    跟踪服务器,主要做调度工作,起到均衡的作用;在内存中记录集群中所有存储服务器(storage server)和存储组(group)的状态信息, 是客户端和数据服务器交互的枢纽。 相比GFS中的master更为精简, 不记录文件索引信息, 占用的内存量很少。

    每个 storage 在启动后会连接 Tracker,告知自己所属 group 等信息,并保持周期性心跳。并且里面所有的Tracker都是对等的(每个节点地位相等),很容易扩展。

    客户端访问集群的时候会随机分配一个Tracker来和客户端交互。
  • Storage Server:
    存储服务器(又称:存储节点或数据服务器),主要提供容量和备份服务,文件和文件属性( meta data) 都保存在存储服务器上;以 group 为单位,每个 group 内可以有多台 storage server,数据互为备份。

    实际存储数据,分成若干个组(group),实际traker就是管理的storage中的组,group可以隔离不同应用的数据,不同的应用的数据放在不同group里面

  • group:
    组, 也可称为卷。 同组内服务器上的文件是完全相同的 ,同一组内的storage server所存储的内容是完全一样的, 文件上传、 删除等操作可以在任意一台storage server上进行 。

  • meta data:
    meta data:文件相关属性,键值对( Key-Value) 方式,如:width=1024、heigth=768 。
  • Client:客户端:
    上传下载数据的服务器,也就是我们自己的项目所部署在的服务器;每个客户端服务器都需要安装Nginx。

.
  


2、FastDFS的存储策略

  为了支持大容量,存储节点(storange server) 采用了分卷(或分组)的组织方式。存储系统由一个或多个卷组成,卷与卷之间的文件是相互独立的,所有卷的文件容量累加就是整个存储系统中的文件容量。一个卷可以由一台或多台存储服务器组成,一个卷下的存储服务器中的文件都是相同的,卷中的多台存储服务器起到了冗余备份和负载均衡的作用。

  在卷中增加服务器时,同步已有的文件由系统自动完成,同步完成后,系统自动将新增服务器切换到线上提供服务。当存储空间不足或即将耗尽时,可以动态添加卷。只需要增加一台或多台服务器,并将它们配置为一个新的卷,这样就扩大了存储系统的容量。

.


3、FastDFS读写操作

  FastDFS向使用者提供基本文件访问接口,比如upload、download、append、delete等,以客户端库的方式提供给用户使用。
  
  
  

1)、文件上传过程

  Storage Server会定期的向Tracker Server发送自己的存储信息。当Tracker Server Cluster中的Tracker Server不止一个时,各个Tracker之间的关系是对等的,所以客户端上传时可以选择任意一个Tracker。

  当Tracker收到客户端上传文件的请求时,会为该文件分配一个可以存储文件的group,当选定了group后就要决定给客户端分配group中的哪一个storage server。当分配好storage server后,客户端向storage发送写文件请求,storage将会为文件分配一个数据存储目录。然后为文件分配一个fileid,最后根据以上的信息生成文件名存储文件。  

  
  
  

2)、文件同步过程

  写文件时,客户端将文件写至group内一个storage server即认为写文件成功,storage server写完文件后,会由后台线程将文件同步至同group内其他的storage server。

  每个storage写文件后,同时会写一份binlog,binlog里不包含文件数据,只包含文件名等元信息,这份binlog用于后台同步,storage会记录向group内其他storage同步的进度,以便重启后能接上次的进度继续同步;进度以时间戳的方式进行记录,所以最好能保证集群内所有server的时钟保持同步。

  storage的同步进度会作为元数据的一部分汇报到tracker上,tracke在选择读storage的时候会以同步进度作为参考。
  
  

3)、文件下载过程

  客户端uploadfile成功后,会拿到一个storage生成的文件名,接下来客户端根据这个文件名即可访问到该文件。
  
  跟upload file一样,在downloadfile时客户端可以选择任意tracker server。tracker发送download请求给某个tracker,必须带上文件名信息,tracke从文件名中解析出文件的group、大小、创建时间等信息,然后为该请求选择一个storage用来服务读请求。
  
  
  
  文件存储(下载地址)路径格式:
  
  
  
  192.168.1.177安装fastdfs的tracker节点,以及nginx反向代理服务器用于下载服务。
  
  192.168.1.188,192.168.1.189安装fastdfs的storage节点,默认分一组,一组内两台机器互为备份.
  
  注意: 为了做到高可用,一个group建议分为两台以上的机器。


4、常见部署结构

单台服务器最小化部署

集群部署

.


三、FastDFS部署安装

1、安装依赖包

  1. # root用户下操作
  2. [root@mr13 ~]# yum install -y gcc readline-devel zlib-devel libcurl-devel wget lrzsz vim

.

2、安装 libfastcommon

  libfastcommon是从 FastDFS 和 FastDHT 中提取出来的公共 C 函数库,基础环境,安装即可。

  1. # root用户下操作
  2. # 创建软件包存放目录
  3. [root@mr13 ~]# mkdir -p /server/tools
  4. [root@mr13 ~]# cd /server/tools
  5. # 下载libfastcommon
  6. [root@mr13 tools]# wget https://github.com/happyfish100/libfastcommon/archive/V1.0.7.tar.gz
  7. # 解压包并进入解压目录
  8. [root@mr13 tools]# tar -xzvf V1.0.7.tar.gz
  9. [root@mr13 tools]# cd libfastcommon-1.0.7
  10. # 编译、安装libfastcommon
  11. [root@mr13 tools]# ./make.sh
  12. [root@mr13 tools]# ./make.sh install


.
  
  


3、创建 / 检查软链接

  上图是 ./make install 安装过程截图,可以看到,安装过程中,创建了(其实已经存在,安装过程为了避免目录不存在,才执行一下,防止出错):/usr/lib64/usr/include/fastcommon 两个目录,安装的文件都在这两个文件当中。
  
  libfastcommon.so 安装到了/usr/lib64/libfastcommon.so,但是FastDFS主程序设置的lib目录是/usr/local/lib,所以需要创建软链接。

  1. # root用户下操作
  2. # 设置软链接
  3. # libfastcommon
  4. [root@mr13 lib]# ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
  5. [root@mr13 lib]# ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so
  6. # fastdfs
  7. [root@mr13 lib]# ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so
  8. [root@mr13 lib]# ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so

上面的四个软链:

  • 前两个是对已经安装的libfastcommon设置的;
  • 后两个是对下面要安装的fastdfs提前创建的,其实原始文件还不存在(如下图),可以看到 /usr/lib/usr/local/lib 两个路径下,所设置的软链 libfdfsclient.so 指向的源文件是不存在的(红底白字闪烁)。

  在检查软链设置的时候,这里不用纠结,在下一步完成fastdfs安装之后,相关的文件就会安装好。下一步完成,我们在检查一下。


.
  
  


4、下载安装FastDFS

  1. # root用户下操作
  2. # 下载FasrDFS
  3. [root@mr13 tools]# wget https://github.com/happyfish100/fastdfs/archive/V5.05.tar.gz
  4. # 解压并进入目录
  5. [root@mr13 tools]# tar -xzvf V5.05.tar.gz
  6. [root@mr13 tools]# cd fastdfs-5.05
  7. # 编译、安装
  8. [root@mr13 fastdfs-5.05]# ./make.sh
  9. [root@mr13 fastdfs-5.05]# ./make.sh install

  上图是安装fastdfs过程的打印截图,可以看到 /usr/lib64/libfdfsclient.so 文件已经在安装过程中创建,所以上一步中,我们所设置的软链就不存在问题了。
  
  我们重新看一下,所设置的软链状态(如下图),没啥毛病了,继续
  

.
  
  


5、设置FastDFS服务脚本软链

  上述过程安装好之后,相应的文件目录如下:

A、服务脚本:

  1. /etc/init.d/fdfs_storaged
  2. /etc/init.d/fdfs_tracker

B、配置文件:

  1. /etc/fdfs/client.conf.sample
  2. /etc/fdfs/storage.conf.sample
  3. /etc/fdfs/tracker.conf.sample

C、命令工具在 /usr/bin 目录下:

  1. fdfs_trackerd
  2. fdfs_storaged
  3. fdfs_append_file
  4. fdfs_delete_file
  5. fdfs_download_file
  6. fdfs_file_info
  7. fdfs_upload_appender
  8. fdfs_upload_file
  9. fdfs_monitor
  10. fdfs_appender_test
  11. fdfs_appender_test1
  12. stop.sh
  13. restart.sh
  14. ......
  15. ...

重点:

  上面 A 中,服务脚本中所设置的bin目录是 /usr/local/bin,但是实际的命令都安装在 C 中,如下图:
  
  
  
  如果,在tracker配置完成后,这里不做任何处理,直接启动tracker,会报 /usr/local/bin/ 目录找不到启动文件的错误,如下图:

两种解决方式:

  1. ln -s /usr/bin/fdfs_trackerd /usr/local/bin
  2. ln -s /usr/bin/fdfs_storaged /usr/local/bin
  3. ln -s /usr/bin/stop.sh /usr/local/bin
  4. ln -s /usr/bin/restart.sh /usr/local/bin


.
  
  


6、配置、启动tracker

  当前我们私有化部署,采用单击最小化部署,trackerstorage都部署在一台服务器上;如果涉及到集群式部署,就需要根据实际的项目结构需要,把服务分开部署了;
  
  但无论 tracker 还是 storage 都需要执行上述1~5的fastdfs安装步骤。
  
  

1)、修改配置文件

  安装完fastdfs之后,在 /etc/fdfs 目录下,自带了 clienttrackerstorage三个配置文件的模板,均以 .sample 后缀结尾,如下图:

  配置tracker时,我们需要修改tracker、client两个配置文件;一般会重命名,去掉 .sample 后缀,直接修改原始配置文件。
  这里我们保留原始配置文件不动,重新复制并重命名配置文件进行相关配置;避免因为错误设置导致原始配置文件丢失,造成的尴尬

  1. # root用户下操作
  2. # 复制并重命名配置文件
  3. [root@mr13 fdfs]# cp client.conf.sample client.conf
  4. [root@mr13 fdfs]# cp tracker.conf.sample tracker.conf

修改 tracker.conf 配置如下:

  1. # root用户下操作
  2. # 配置文件内容较长,可在vim下,通过 “/配置节名称”的方式搜索并更改配置文件;通过按键N,查找下一个匹配项
  3. [root@mr13 init.d]# cd /etc/fdfs/
  4. [root@mr13 fdfs]# vim tracker.conf
  5. disabled=false # 配置文件是否不生效,false 为生效
  6. port=22122 # 提供服务的端口
  7. base_path=/data/fastdfs/tracker # tracker数据和日志目录地址(指定目录必须存在,子目录会自动创建)
  8. http.server_port=80 # http服务端口

修改 client.conf 配置如下:

  1. # root用户下操作
  2. base_path=/data/fastdfs/client # client数据和日志目录地址(指定目录必须存在,子目录会自动创建)
  3. tracker_server=172.31.116.194:22122 # 填写具体的tracker服务器IP:端口,填写本机内网IP
  4. http.tracker_server_port=80 # tracker 的 http服务端口

  配置文件编辑保存后,上面我们所配置的tracker、client的数据目录,我们需要创建一下:

  1. # root用户下执行
  2. [root@mr13 ~]# mkdir -p /data/fastdfs/{tracker,client}

.
  
  

2)、启动tracker

  1. # root用户下操作
  2. # 启动tracker
  3. # 命令1、2都可以
  4. # 命令1:
  5. [root@mr13 ~]# /etc/init.d/fdfs_trackerd start
  6. # 命令2:
  7. [root@mr13 ~]# service fdfs_trackerd start
  8. # 停止tracker
  9. # 命令1:
  10. [root@mr13 ~]# /etc/init.d/fdfs_trackerd stop
  11. # 命令2:
  12. [root@mr13 ~]# server fdfs_trackerd stop
  13. # 查看tracker运行状态
  14. [root@mr13 ~]# systemctl status fdfs_trackerd.service # 打印如下图,说明正常运行

  tracker初次启动成功后,在 tracker.conf 文件配置节 base_path 我们所指定的 /data/fastdfs/tracker/ 目录下创建: datalogs 两个目录。
  

.
  
  

3)、查看端口侦听状态:

  1. # root用户下操作
  2. [root@mr13 ~]# netstat -unltp|grep fdfs # 打印如下图,说明22122端口侦听正常


.
  
  

4)、设置tracker开机启动

  1. # root用户下操作
  2. # 设置开机启动项
  3. [root@mr13 ~]# vim /etc/rc.local
  4. # 在配置文件末尾追加一行,如下图:
  5. /etc/init.d/fdfs_trackerd start

  至此,tracker配置完成
  
  
  


7、配置、启动storage

  当前我们私有化部署,采用单击最小化部署,tracker 和 storage都部署在一台服务器上;如果涉及到集群式部署,就需要根据实际的项目结构需要,把服务分开部署了;
  
  但无论 tracker 还是 storage 都需要执行上述1~5的fastdfs安装步骤。
  
  

1)、修改配置文件

  1. # root用户下操作
  2. # 复制storag文件并重命名
  3. [root@mr13 data]# cd /etc/fdfs/
  4. [root@mr13 fdfs]# cp storage.conf.sample storage.conf

修改 storage.conf 如下:

  1. # root用户下操作
  2. [root@mr13 ~]# vim /etc/fdfs/storage.conf
  3. disable=false # 配置文件是否不生效,false 为生效
  4. group_name=group1 # 指定此 storage server 所在“组(卷)”
  5. port=23000 # storage server服务端口
  6. heart_beat_interval=30 # 心跳间隔时间,单位为秒(这里是指主动向tracker server发送心跳)
  7. base_path=/data/fastdfs/storage # Storage 数据和日志目录地址(根目录必须存在,子目录会自动生成)
  8. store_path_count=1 # 存放文件时storage server支持多个路径。这里配置存放文件的基路径数目,通常只配一个目录
  9. # 逐一配置 store_path_count 个路径,索引号基于 0。
  10. # 如果不配置 store_path0,那它就和 base_path 对应的路径一样。
  11. store_path0=/data/fastdfs/file
  12. # FastDFS 存储文件时,采用了两级目录。这里配置存放文件的目录个数。
  13. # 如果本参数值为 N(如: 256),那么 storage server 在初次运行时,会在 store_path 下自动创建 N * N 个存放文件的子目录。
  14. subdir_count_per_path=256
  15. # tracker_server 的列表 ,会主动连接 tracker_server
  16. # 有多个 tracker server 时,每个 tracker server 写一行(ip:port)
  17. tracker_server=172.31.116.194:22122
  18. # 允许系统同步的时间段 (默认是全天) 。一般用于避免高峰同步产生一些问题而设定。
  19. sync_start_time=00:00
  20. sync_end_time=23:59
  21. http.server_port=80 # http服务端口

  配置文件编辑保存后,上面我们所配置的storage数据目录,我们需要创建一下:

  1. # root用户下执行
  2. # 创建storage基础数据目录
  3. # 即:storage.conf 的 base_path 配置节
  4. [root@mr13 ~]# mkdir -p /data/fastdfs/storage
  5. # 创建strore_path0目录
  6. # 即:storage.conf 的 store_path0 配置节
  7. [root@mr13 ~]# mkdir -p /data/fastdfs/file

.
  
  

2)、启动storage

  1. # root用户下操作
  2. # 启动storage
  3. # 命令1、2都可以
  4. # 命令1:
  5. [root@mr13 ~]# /etc/init.d/fdfs_storaged start
  6. # 命令2:
  7. [root@mr13 ~]# server fdfs_storaged start
  8. # 停止storage
  9. # 命令1:
  10. [root@mr13 ~]# /etc/init.d/fdfs_storaged stop
  11. # 命令2:
  12. [root@mr13 ~]# server fdfs_storaged stop
  13. # 查看storage服务运行状态
  14. [root@mr13 ~]# systemctl status fdfs_storaged.service # 打印输出如下,说明正常运行

  tracker、srorage都启动成功后,在 storage.conf 文件配置节 base_path 所指定的 /data/fastdfs/storage/ 目录下创建: datalogs 两个目录,记录着 Storage Server 的信息。
  

  在 storage.conf 文件配置节 store_path0 所指定的 /data/fastdfs/file 目录下,创建了 N * N个子目录(N 是在配置节 subdir_count_per_path 所设置)
  

.
  
  

3)、查看端口侦听状态:

  1. # root用户下操作
  2. [root@mr13 ~]# netstat -unltp|grep fdfs # 打印如下图,说明22122端口侦听正常

  从上图可以看到:
  tracker的22122端口、storage的23000端都在正常侦听
.
  
  

4)、设置storage开机启动

  1. # root用户下操作
  2. # 设置开机启动项
  3. [root@mr13 ~]# vim /etc/rc.local
  4. # 在配置文件末尾追加一行,如下图:
  5. /etc/init.d/fdfs_storaged start

  至此,storaged配置完成
  
  
  


8、检查tracker与storage是否通讯

  1. # 使用当前storage配置文件启动监控
  2. fdfs_monitor /etc/fdfs/storage.conf

  fdfs_monitor文件在安装过程中,被安装到了 /usr/bin 目录下,因为该目录已经被添加到了环境变量中(可使用echo $PATH命令查看当前环境变量),所以可以直接运行该命令。


.
  
  


9、上传文件测试

  在配置tracker时,我们已经将 client.conf 一起完成配置,如下:

  1. base_path=/data/fastdfs/client # client数据和日志目录地址(指定目录必须存在,子目录会自动创建)
  2. tracker_server=172.31.116.194:22122 # 填写具体的tracker服务器IP:端口,填写本机内网IP
  3. http.tracker_server_port=80 # tracker 的 http服务端口

  我在 /data/ 目录下放了一张名为:upload_test.jpg 的图片作为测试上传文件,执行以下测试命令:

  1. # root用户下操作
  2. [root@mr13 ~]# fdfs_upload_file /etc/fdfs/client.conf /data/upload_test.jpg
  3. # 返回信息如下:
  4. group1/M00/00/00/rB90wl8n8rqAVGgtAABik-KA2Is954.jpg

  对返回信息做一下拆分:
  
  group1 (组名) / M00 (磁盘) / 00/00 (两级子目录) / rB90wl8n8rqAVGgtAABik-KA2Is954.jpg (文件名)
  
  文件上传测试成功:client -> tracker ->storage 方向,测试通过。
  
  
  


四、安装Nginx、及FastDFS的nginx模块

  上面将文件上传成功了,但我们无法下载,还需要安装Nginx作为web服务器,以支持http方式访问文件;同时后面安装的fastdfs的nginx模块也需要nginx环境。
  
  Nginx只需要安装到 storage server 所在的服务器即可,用于访问文件。
  
  

1、安装Nginx依赖包

  1. # root用户下操作
  2. [root@mr13 ~]# yum install -y gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel

.
  

2、下载Nginx、fastdfs-nginx-module

  1. # root用户下操作
  2. # 进入软件包存放目录
  3. [root@mr13 ~]# cd /server/tools/
  4. # 下载nginx安装包
  5. # 建议提前下载好上传
  6. [root@mr13 tools]# wget http://nginx.org/download/nginx-1.12.2.tar.gz
  7. # 下载fastdfs-nginx-module
  8. [root@mr13 tools]# wget https://github.com/happyfish100/fastdfs-nginx-module/archive/5e5f3566bbfa57418b5506aaefbe107a42c9fcb1.zip
  9. # 解压文件
  10. # unzip阿里云默认是没有安装的可以安装一下
  11. # yum install -y unzip
  12. [root@mr13 tools]# unzip 5e5f3566bbfa57418b5506aaefbe107a42c9fcb1.zip
  13. # 重命名一下解压缩的文件夹名称
  14. [root@mr13 tools]# mv fastdfs-nginx-module-5e5f3566bbfa57418b5506aaefbe107a42c9fcb1 fastdfs-nginx-module-master

.
  
  

3、安装Nginx及fastdfs的nginx模块

  很多网上的安装步骤是把 Nginx 和 fastdfs-nginx-module 分开安装的,分开安装,需要对nginx重新编译安装,比较麻烦容易出错,这里我们安装的时候,直接带着一起编译安装。

  1. # 解压并进入解压目录
  2. [root@mr13 tools]# tar -zxvf nginx-1.12.2.tar.gz
  3. [root@mr13 tools]# cd nginx-1.12.2
  4. # 配置、编译、安装到指定目录
  5. [root@mr13 nginx-1.12.2]# ./configure --prefix=/data/nginx --with-http_ssl_module --with-http_stub_status_module --with-pcre --add-module=/server/tools/fastdfs-nginx-module-master/src && make && make install

./congigure配置参数说明:

  • --prefix=/data/nginx:安装到指定目录 /data/nginx 下;
  • --with-http_ssl_module:启用https支持;
  • --with-http_stub_status_module:启用ngx_http_stub_status_module 支持查看nginx的状态页
  • --with-pcre:启用pcre库
  • --add-module=:指定外部模块路径,启用对外部模块的支持;这里我们指定的是fastdfs的nginx模块

  Nginx编译安装的./configure参数可参考:《nginx编译安装之-./configure》
  
  
  

4、修改Nginx.conf配置

  1. # root用户下操作
  2. # 进入安装的nginx配置文件目录
  3. [root@mr13 conf]# cd /data/nginx/conf/
  4. # 编辑Nginx.conf配置文件,添加如下行;
  5. location ~/group[0-9]/M0[0-9] {
  6. ngx_fastdfs_module;
  7. }

注意:

  • listen 80端口 要与/etc/fdfs/stortage.conf中的(前面改成为80了)相对应。如果改成其他端口,则需要统一,同时在防火墙中打开该端口。

  • location的配置,如果有多个group则配置location ~/group([0-9])/M0[0-9];没有则不用配group

.
  
  

5、配置fastdfs-nginx-module

  复制 fastdfs-nginx-module 源码中的配置文件到/etc/fdfs 目录,并修改:

  1. # root用户下操作
  2. [root@mr13 ~]# cd /server/tools/fastdfs-nginx-module-master/src/
  3. [root@mr13 src]# cp mod_fastdfs.conf /etc/fdfs/
  4. [root@mr13 /etc/fdfs]# vim mod_fastdfs.conf
  5. # 修改 mod_fastdfs.conf 如下,其他配置默认:
  6. connect_timeout=10 # 连接超时时间(秒)
  7. tracker_server=172.31.116.194:22122 # Tracker Server
  8. storage_server_port=23000 # StorageServer 默认端口
  9. url_have_group_name=true # 如果文件ID的uri中包含/group**,则要设置为true
  10. store_path0=/data/fastdfs/file # Storage 配置的store_path0路径,必须和storage.conf中的一致

  
  复制 FastDFS 的部分配置文件到/etc/fdfs 目录,并修改:

  1. # root用户下操作
  2. [root@mr13 src]# cd /server/tools/fastdfs-5.05/conf
  3. [root@mr13 conf]# cp anti-steal.jpg http.conf mime.types /etc/fdfs/
  4. [root@mr13 conf]# vim http.conf
  5. # 修改 http.conf 如下
  6. http.anti_steal.token_check_fail=/etc/fdfs/anti-steal.jpg

.
  
  


五、启动Nginx并检查配置

  启动Nginx:

  1. # 在root用户下操作
  2. [root@mr13 ~]# /data/nginx/sbin/nginx
  3. # 执行命令可能没有打印任何信息

  看一下进程、端口侦听

  进程正常,80端口侦听正常。访问一下之前上传的测试图片:
  上传返回的值是:group1/M00/00/00/rB90wl8n8rqAVGgtAABik-KA2Is954.jpg
  拼接访问:http://118.190.53.139/group1/M00/00/00/rB90wl8n8rqAVGgtAABik-KA2Is954.jpg
  

  正常打开,搞定!
  
  最后再添加一下Nginx的开机启动:

  1. # root用户下操作
  2. [root@mr13 ~]# vim /etc/rc.local
  3. # 添加启动项如下
  4. /data/nginx/sbin/nginx

  reboot 重启服务器再试一下,并检查三个服务的状态,以及图片是否能治接访问:
  

  如上图,进程启动正常、端口侦听正常,并且图片可以正常打开(这里就不再次贴图了)
  
  搞定!
  


End:FastDFS日常维护常用参考(引用)


文章整理部分内容摘引自:

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注