一.搭建图片服务器准备工作
1.FastDFS V5.05版本
2.Libfastcommon-master 1.0.7版本
3.Fastdfs-nginx-module V1.16版本
4.Nginx 1.8.0 版本
如果服务器没有vim命令,则在控制台输入一下命令进行安装:
yum install vim-enhanced
二. 开始搭建步骤
- 执行命令
cd /usr/local/src
wget -c http://mirrors.linuxeye.com/oneinstack-full.tar.gz && tar xzf oneinstack-full.tar.gz && ./oneinstack/install.sh --php_option 7 --phpcache_option 1 --php_extensions redis,memcached,memcache,swoole --jdk_option 2 --db_option 2 --dbinstallmethod 1 --dbrootpwd Smkj@1234.#$ --pureftpd --redis --memcached
该命令自动安装java php redis mysql 并同时设置mysql密码
- 安装FASTDFS
与同安装文件目录下 tool.zip
通过scp 命令, 拷贝到服务器 /usr/local/src 目录下
scp -P 端口 本地文件路径 root@目标服务器ip:/usr/local/src
cd /usr/local/src
unzip tool.zip
分别解压各文件
tar -zxvf FastDFS_v5.05.tar.gz
tar -zxvf fastdfs-nginx-module_v1.16.tar.gz
tar -zxvf libfastcommonV1.0.7.tar.gz
tar -zxvf nginx-1.8.0.tar.gz
3.创建图片服务器路径
本服务器已经分盘, 另外图片服务器不建议放在home 或者 usr下面, 存储空间满了后容易宕机
本服务器安装的时候,分盘 /data
cd /data
mkdir /fileserver
cd fileserver
mkdir fastdfsdata
mkdir tracker
4.安装 libfastcommonV
cd /usr/local/src/tool
cd libfastcommonV.1.0.7
编译
./make.sh
安装
./make.sh install
建立软连接
ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
5.安装FasDFS
cd /usr/local/src/tool/FastDFS
// 编译安装
./make.sh && ./make.sh install
查看是否安装成功
ll /etc/init.d/ | grep fdfs
出现如下图所示为安装成功
注:编译安装之后 在etc/目录下面自动生成fdfs文件夹
切换到fdfs目录
cd /etc/fdfs
查看文件夹下的文件
ll
注:编译安装完之后此文件是没有这几个文件。需要每一份复制一份出来。
复制client.conf.sample tracker.conf.sample storage.conf.sample 这些文件,命令如下:
cp client.conf.sample client.conf
cp tracker.conf.sample tracker.conf
cp storage.conf.sample storage.conf
cp storage.conf.sample storage.conf
cp storage.conf.sample storage.conf
编辑配置文件
vim tracker.conf
找到以下参数并修改
port = 22122(配置文件默认22122 无需改动,除非也需要改动则改变)
base_path = /data/fileserver
启动服务
/etc/init.d/fdfs_trackerd start
查看tracker服务是否启动
ss -lntup|grep 22122
启动成功之后,会在/data/fileserver/tracker 目录下面自动生成两个文件夹 data 和 log,分别用来存储数据和log日志
注:
- 启动报错
[root@bogon init.d]# ./fdfs_trackerd start
file /usr/local/bin/fdfs_trackerd does not exist!
执行以下命令,把文件拷贝到指定目录
cp /usr/bin/fdfs_trackerd /usr/local/bin/fdfs_trackerd
cp /usr/bin/stop.sh /usr/local/bin/stop.sh
cp /usr/bin/restart.sh /usr/local/bin/restart.sh
6.配置storage.conf 并storage服务
- 进入
cd /etc/fdfs
vim storage.conf
找到以下参数并修改
port=23000(默认为23000)
base_path=/data/fileserver/fastdfsdata
tracker_server=192.168.3.250:22122
store_path0=/data/fileserver/fastdfsdata
http.server_port=8888(默认为8888,nginx中配置的监听端口那之一致)
- 启动storage服务
/etc/init.d/fdfs_storage start - 查看storage是否启动成功
ss -lntup|grep 23000
注:只有启动tracker之后才能启动storage
4. 配置client
进入编辑模式
vim client.conf
找到以下参数并修改
base_path=/data/fileserver/tracker
tracker_server=192.168.3.250:22122
- 测试上传图片
测试命令如下:
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf nh.jpg
注: 启动时找不到文件 把文件拷贝到到对应目录
cp /usr/bin/fdfs_storaged /usr/local/bin/fdfs_storaged
- 安装fastdfs-nginx-module
// 进入解压目录
cd /usr/local/src/tool/fastdfs-nginx-module/src
编辑配置文件
vim config
在编辑控制台输入:“:%s+/usr/local/+/usr/+g”
按ESC
输入wq 保存
cp mod_fastdfs.conf /etc/fdfs/
修改mod_fastdfs.conf配置文件
cd /etc/fdfs/
vim mod_fastdfs.conf
找到以下参数并修改
connect_timeout=10
tracker_server=192.168.3.250:22122
storage_server_port=23000
url_have_group_name = true
store_path0=/data/fileserver/fastdfsdata
group_name=group1
8.安装nginx-1.8.0
cd /usr/local/src/tool/nginx-1.8.0
yum install -y pcre-devel zlib-devel
./configure --prefix=/usr/local/nginx --add-module=/usr/local/src/tool/fastdfs-nginx-module/src
最后执行编译安装命令
make && make install
将/usr/software/FastDFS/conf 目录下的http.conf,mime.types两个文件复制到 /etc/fdfs 下面,操作命令如下:
cp /usr/local/src/tool/FastDFS/conf/http.conf mime.types /etc/fdfs
注:
module/src/common.c:21:25: 致命错误:fdfs_define.h:没有那个文件或目录
#include “fdfs_define.h”
^
编译中断。
make[1]: *** [objs/addon/src/ngx_http_fastdfs_module.o] 错误 1
make[1]: 离开目录“/usr/local/src/back/nginx-1.8.0”
make: *** [build] 错误 2
ln -sv /usr/include/fastcommon /usr/local/include/fastcommon
ln -sv /usr/include/fastdfs /usr/local/include/fastdfs
ln -sv /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
编辑配置文件
vim /usr/local/nginx/conf/nginx.conf
启动nginx 测试
cd /usr/local/nginx/sbin
[root@bogon conf]# ps aux|grep nginx
root 23469 0.0 0.0 29388 1764 ? Ss 15:38 0:00 nginx: master process ./nginx
nobody 24282 0.0 0.0 32116 2428 ? S 15:43 0:00 nginx: worker process
root 27245 0.0 0.0 112728 960 pts/5 S+ 16:30 0:00 grep --color nginx