安装原则:先fastdfs在安装nigix_module再次安装ngnix
初始化
clear
cd /opt/FastDFS
sh install.sh 123
mkdir -p /data/fastdfs
yum install -y make cmake gcc gcc-c++ make automake autoconf libtool pcre pcre-devel zlib zlib-devel openssl openssl-devel lrzsz
1. fastdfs安装
1.1 安装依赖
yum install -y make cmake gcc gcc-c++ lrzsz
1.2 安装libfastcommon
#解压libfastcommonV1.0.7.tar.gz
tar -zxf ./tar/libfastcommonV1.0.7.tar.gz -C /data/fastdfs/
#编译
cd /data/fastdfs/libfastcommon-1.0.7
./make.sh && ./make.sh install
#创建软连接 /usr/local/lib/ => /usr/lib64/
ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so
#ln -s /usr/local/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so
#验证
ls /usr/lib64/libfastcommon.so
ls /usr/local/lib/libfdfsclient.so
ls /usr/include/fastcommon
1.3 安装FastDFS
#解压libfastcommonV1.0.7.tar.gz
tar -zxf ./tar/FastDFS_v5.0.5.tar.gz -C /data/fastdfs/
#编译
cd /data/fastdfs/FastDFS
./make.sh && ./make.sh install
1.4 tracker配置
#存储数据和日志等
mkdir -p /data/fastdfs/tracker/base
#配置
cd /etc/fdfs
cp tracker.conf.sample tracker.conf
#修改指定行
vi tracker.conf
base_path=/data/fastdfs/tracker/base
1.5 storage配置
#存储临时数据和日志等
mkdir -p /data/fastdfs/storage/base
#用于存放上传文件
mkdir -p /data/fastdfs/store/storage
#配置
cd /etc/fdfs
cp storage.conf.sample storage.conf
#修改指定行
vi storage.conf
base_path=/data/fastdfs/storage/base
store_path0=/data/fastdfs/store/storage
group_name=group1
#tracker的ip
tracker_server=192.168.1.1xxx:22122 #tracker:22122
1.6 测试
cd /etc/fdfs/
mkdir -p /data/fastdfs/client/logs
cp client.conf.sample client.conf
vi client.conf
base_pase=/data/fastdfs/client/logs
#tracker的ip
tracker_server=192.168.1.1xxx:22122 #tracker:22122
#启动tracker
fdfs_trackerd /etc/fdfs/tracker.conf start
#停止tracker
fdfs_trackerd /etc/fdfs/tracker.conf stop
#启动storage
fdfs_storaged /etc/fdfs/storage.conf start
#停止storage
fdfs_storaged /etc/fdfs/storage.conf stop
#查看storage集群状态 ACTIVE-正常 WAIT_SYNC/OFFLINE-不正常
fdfs_monitor /etc/fdfs/storage.conf
#查看进程状态
ps aux |grep fdfs_
root 2264 0.0 0.1 144552 2752 ? Sl 14:14 0:00 fdfs_trackerd /etc/fdfs/tracker.conf start
root 2295 0.0 3.5 81132 66616 ? Sl 14:15 0:00 fdfs_storaged /etc/fdfs/storage.conf start
root 2308 0.0 0.0 112824 984 pts/0 S+ 14:22 0:00 grep --color=auto fdfs_
#验证上传系统,返回文件路径(例: group1/M00/00/00/wKgBq2O-as-ABqu9AAVE4I9y3os.tar.gz)
fdfs_upload_file /etc/fdfs/client.conf 测试上传文件路径
#fdfs_upload_file /etc/fdfs/client.conf /opt/FastDFS/tar/FastDFS_v5.0.5.tar.gz
2. 安装nignx及nignx_module
2.1 安装依赖
yum install -y gcc gcc-c++ make automake autoconf libtool pcre pcre-devel zlib zlib-devel openssl openssl-devel
2.2 解压nignx_modelu
#解压fastdfs-nginx-module_v1.16.tar.gz
tar -zxf ./tar/fastdfs-nginx-module_v1.16.tar.gz -C /data/fastdfs/
#拷贝mod_fasstdfs
\cp -f /data/fastdfs/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/
vi /etc/fdfs/mod_fastdfs.conf
#修改mod_fastdfs.conf
#tracker_server=tracker:22122
tracker_server=192.168.1.1xxx:22122
2.3 安装nignx
#解压nginx-1.8.1.tar.gz
tar -zxf ./tar/nginx-1.8.1.tar.gz -C /data/fastdfs/
#生成编译环境配置
cd /data/fastdfs/nginx-1.8.1
#2台tracker服务器的配置信息(不需要fastdfs模块)
./configure --prefix=/usr/local/nginx_fdfs
#4台storage服务器其的配置信息(需要使用fastdfs模块)
./configure --prefix=/usr/local/nginx_fdfs --add-module=/data/fastdfs/fastdfs-nginx-module/src
#编译
make && make install
#设置开机启动
chmod +x /etc/rc.d/rc.local
vi /etc/rc.d/rc.local
#添加
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart
#添加 /usr/local/nginx/sbin 目录到path
vi ~/.bash_profile
PATH=$PATH:$HOME/bin:/usr/local/nginx/sbin
source ~/.bash_profile
#或添加软连接
ln -s /usr/local/sbin/nginx /usr/local/nginx/sbin/nginx
#修改config
vi /usr/local/nginx/conf/nginx.conf
#user nobody 改为
user root;
#拷贝配置文件
\cp -f /data/fastdfs/FastDFS/conf/http.conf /etc/fdfs
\cp -f /data/fastdfs/FastDFS/conf/mime.types /etc/fdfs
2.4 测试nignx
#停止ng
/usr/local/nginx/sbin/nginx -s quit
#启动ng
/usr/local/nginx/sbin/nginx
#测试配置文件
nginx -c /usr/local/nginx/conf/nginx.conf -t
#以配置文件启动
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
#查看进程是否存在,需要 nginx: master 和 nginx: worker
ps aux |grep nginx
root 4584 0.0 0.0 29260 788 ? Ss 16:10 0:00 nginx: master process nginx
root 4585 0.0 0.1 29820 1988 ? S 16:10 0:00 nginx: worker process
root 4587 0.0 0.0 112824 988 pts/1 S+ 16:10 0:00 grep --color=auto nginx
3. nignx配置
需要一台主入口,负载均衡tracker
tracker,负载均衡storage
3.1 入口配置
vi /usr/local/nginx/conf/nginx.conf
user root;
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
#tracker_list
upstream fastdfs_tracker_server {
server tracker_server:22122;
server tracker_server:22122;
server tracker_server:22122;
server tracker_server:22122;
}
#master 主入口
server {
listen master_port;
server_name master;
location / {
root html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
location ~ /group[1-9]/M0[0-9] {
proxy_pass http://fastdfs_tracker_server;
}
}
}
3.2 tracker配置
vi /usr/local/nginx/conf/nginx.conf
user root;
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
#tracker_list
upstream fastdfs_tracker_server {
server tracker_server:22122;
server tracker_server:22122;
server tracker_server:22122;
server tracker_server:22122;
}
#tracker
server {
listen tracker_port;
server_name tracker;
location / {
root html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
location ~ /group[1-9]/M0[0-9] {
proxy_pass http://fastdfs_tracker_server;
}
}
}
3.3 storage配置
vi /usr/local/nginx/conf/nginx.conf
user root;
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
#storage_list
upstream fastdfs_storage_server {
server storage_server:23000;
server storage_server:23000;
server storage_server:23000;
server storage_server:23000;
}
#storage
server {
listen storage_port;
server_name storage;
location / {
root html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
location ~ /group[1-9]/M0[0-9] {
proxy_pass http://fastdfs_storage_server;
}
}
}
补充: 写入命令
msg="upstream $zu { server $ip1;server $ip2;server $ip3}"
sed -ri "/^http/a $msg" $pw #增加upstream
processor=`cat /proc/cpuinfo | grep "processor" | wc -l` #获取cpu核数
sed -i "s/^w.*;$/worker_processes ${processor};/g" /etc/nginx/nginx.conf #将nginx.conf中的worker_processes
#重启nginx
nginx -s quit
nginx
#测试网址
http://ip:8888/group1/M00/00/00/xxxxxxx.xxx
[base]
#fastdfs的tracker监听端口
tracker_port=22122
storage_port=23000
store_path=/data/fastdfs/store/storage
#tracker的列表","分割 每台设备都会配置tracker.conf,但只有list里的会启动
tracker_list=192.168.1.170,192.168.1.171
storage_list=192.168.1.170,192.168.1.171,192.168.1.172,192.168.1.173
group_count=2
[group1]
group_name=group1
#storage_list ","分割
list=192.168.1.170,192.168.1.171
tracker=192.168.1.170
[group2]
group_name=group2
list=192.168.1.172,192.168.1.173
tracker=192.168.1.171
[nginx]
master_port=8889
#入口服务器
master=192.168.1.170
#tracker
tracker_port=8888
clear
tar -zxvf /opt/download/FastDFS.tar.gz -C /opt/
cd /opt/FastDFS
sh install.sh
fdfs_upload_file /etc/fdfs/client.conf /opt/FastDFS/tar/FastDFS_v5.0.5.tar.gz
fdfs_upload_file /etc/fdfs/client.conf /opt/FastDFS/tar/nginx-1.8.1.tar.gz
fdfs_upload_file /etc/fdfs/client.conf /opt/CentOS-7-x86_64-DVD-2009.iso
fdfs_upload_file /etc/fdfs/client.conf /opt/mg.ldbk
fdfs_upload_file /etc/fdfs/client.conf /opt/1.jpg
find / -name wKgBrGPBHayAGViXAAy3wV-7-wA.tar.gz
cat /etc/fdfs/storage.conf
cat /etc/fdfs/tracker.conf
cat /etc/fdfs/mod_fastdfs.conf
cat /usr/local/nginx/conf/nginx.conf
fdfs_trackerd /etc/fdfs/tracker.conf stop
fdfs_storaged /etc/fdfs/storage.conf stop
netstat -tulnp | grep fdfs