配置环境
centOS7
vmware 12
fastdfs-master.zip
libfastcommonlibfastcommon-master.zip
fastdfs-nginx-module-master.zip
nginx-1.8.1.tar.gz
下载地址:https://github.com/happyfish100/
1.安装系统
若出现无法进入图形化界面则按照下列输入
1
2
q
2.给yushengyun用户赋予root权限
进入root账号
su
vi /etc/sudoers
在root ALL=(ALL) ALL
添加一行yushengyun ALL=(ALL) ALL
退出root账号 exit
3.配置网络
找到相应的文件
sudo vi /etc/sysconfig/network-scripts/ifcfg-eno16777736
将ONBOOT后的属性改成yes
保存退出
重启网络服务
sudo service network restart
4.安装gcc和升级系统修改防火墙
sudo yum install make cmake gcc gcc-c++
sudo yum update
centOS7默认的防火墙为firewall将其修改成iptables
sudo systemctl stop firewalld.service #停止firewall
sudo systemctl disable firewalld.service #禁止firewall开机启动
sudo yum install iptables-services #安装
5.编译安装libfastcommon、fastDFS
(1)、安装libfastcommon
unzip libfastcommon-master.zip
cd libfastcommon-master
./make.sh
./make.sh install
安装fastDFS
unzip fastdfs-master.zip
cd fastdfs-master
./make.sh
./make.sh install
默认安装时相应文件和目录
(1)、服务脚本在:
/etc/init.d/fdfs_storaged
/etc/init.d/fdfs_tracker
(2)、配置文件在(样例配置文件):
/etc/fdfs/client.conf.sample
/etc/fdfs/storage.conf.sample
/etc/fdfs/tracker.conf.sample
(3)、命令工具在/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
6.配置文件
(1) 创建基础文件夹
cd /home/yushengyun //进入用户的home文件夹
mkdir fastDFS
cd /fastdfs
mkdir storage
mkdir tracker
(2)、复制三份配置文件
cd /etc/fdfs
sudo cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf
sudo cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf
sudo cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf
(3)、配置tracker.conf
sudo vi /etc/fdfs/tracker.conf
将其中的base_path改成 /home/yushengyun/fastdfs/tracker
sudo vi /etc/sysconfig/iptables
添加一行-A INPUT -m state --state NEW -m tcp -p tcp --dport 22122 -j ACCEPT
重启防火墙
sudo service iptables restart
启动
sudo /etc/init.d/fdfs_trackerd start
初次启动会在目录下创建data和logs
查看是否启动
ps -ef | grep fdfs
设置开机启动
sudo vi /etc/rc.d/rc.local
添加## FastDFS Tracker
/etc/init.d/fdfs_trackerd start
(4)、配置storage.conf
sudo vi /etc/fdfs/storage.conf
将其中的base_path改成 /home/yushengyun/fastdfs/storage
将其中的base_path0改成 /home/yushengyun/fastdfs/storage
将tracker_server改成 192.168.198.131:22122
sudo vi /etc/sysconfig/iptables
添加一行-A INPUT -m state --state NEW -m tcp -p tcp --dport 23000 -j ACCEPT
重启防火墙
sudo service iptables restart
启动
sudo /etc/init.d/fdfs_storaged start
初次启动会在目录下创建data和logs
查看是否启动
ps -ef | grep fdfs
设置开机启动
sudo vi /etc/rc.d/rc.local
添加## FastDFS Storage
/etc/init.d/fdfs_storaged start
(5)、配置client.conf
sudo vi /etc/fdfs/client.conf
修改base_path为 /fastdfs/tracker
修改tracker_server为 192.168.192.131:22122
7.测试
在home文件夹新建一个文件a.txt,键入hello
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf /home/yushengyun/1.png
在上传过程中出现了一些问题
经过查找,重启了两个服务
sudo /usr/bin/restart.sh /usr/bin/fdfs_storaged /etc/fdfs/storage.conf
sudo /usr/bin/restart.sh /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf
错误消失上传成功
得到group1/M00/00/00/wKjGg1ccfv2ACsMtAAA-Isqt7o0177.png
通过浏览器访问测试时上传的文件
8.nginx和fastdfs-nginx-module配置问题
(1)fastdfs-nginx-module
将fastdfs-nginx-module-master.zip上传到/usr/local/src/
cd /usr/local/src/
解压
sudo unzip fastdfs-nginx-module-master.zip
查看fastdfs-nginx-module 的 config 配置文件
修改为CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/"
sudo vi fastdfs-nginx-module-master/src/config
(2)下载编译安装配置nginx
下载nginx
sudo wget http://nginx.org/download/nginx-1.8.1.tar.gz
下载nginx所需的依赖包
sudo yum install gcc gcc-c++ make automake autoconf libtool pcre* zlib openssl openssl-devel
解压nginx
sudo tar -zxvf nginx-1.8.1.tar.gz
编译安装nginx
cd /usr/local/src/nginx-1.8.1/
sudo ./configure --add-module=/usr/local/src/fastdfs-nginx-module/src
sudo make &&sudo make install
复制fastdfs-nginx-module源码中的配置文件到/etc/fdfs目录,并修改
sudo cp /usr/local/src/fastdfs-nginx-module-master/src/mod_fastdfs.conf /etc/fdfs/
sudo vi /etc/fdfs/mod_fastdfs.conf
修改配置
connect_timeout=10
tracker_server=192.168.198.131:22122
url_have_group_name=true
store_path0=/home/yushengyun/fastdfs/storage
复制FastDFS的部分配置文件到/etc/fdfs
cd /home/yushengyun/fastdfs-master/conf
sudo cp http.conf mime.types /etc/fdfs/
在/home/yushengyun/fastdfs/storage下简历软链接
sudo ln -s /home/yushengyun/fastdfs/storage/data /home/yushengyun/fastdfs/storage/data/M00
配置nginx
cd /usr/local/nginx/conf
sudo vi nginx.conf
配置如下
user root;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
server {
listen 8888;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location ~/group([0-9])/M00 {
#alias home/yushengyun/fastdfs/storage/data;
ngx_fastdfs_module;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
打开nginx端口
sudo vi /etc/sysconfig/iptables
添加
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8888 -j ACCEPT # service iptables restart
重启防火墙
sudo service iptables restart
启动
sudo /usr/local/nginx/sbin/nginx(重启nginx的命令为sudo /usr/local/nginx/sbin/nginx -s reload)
9.测试
通过浏览器访问上传的图片
http://192.168.198.131:8888/group1/M00/00/00/wKjGg1ccfv2ACsMtAAA-Isqt7o0177.png