centos 7 원 키 배치 fastdfs

3808 단어 수송 하 다.
부탁 을 받 아 fastdfs 를 원 키 로 배치 하 는 스 크 립 트 를 작성 하고 nginx 를 통 해 자원 에 접근 할 수 있 도록 설정 합 니 다.
환경 자원: centos - 7, nginx - 1.15.4, fastdfs - 최신 버 전
필요 에 따라 버 전 을 바 꿀 수 있 으 며 패 키 지 를 설치 한 미 러 주소 (일부 자원 다운로드 가 느 린 경우) 를 바 꾸 어 배치 속 도 를 높 일 수 있 습 니 다.
#!/bin/bash

#     
systemctl stop firewalld.service

#      
yum install -y git gcc gcc-c++ make automake autoconf libtool pcre pcre-devel zlib zlib-devel openssl-devel wget vim 
#        
data_path=/data/dfs
mkdir -p ${data_path}

#       
cd /usr/local/src 
#  libfatscommon
git clone https://github.com/happyfish100/libfastcommon.git --depth 1
cd libfastcommon/
#    
./make.sh && ./make.sh install

cd ../

#  fastdfs
git clone https://github.com/happyfish100/fastdfs.git --depth 1
cd fastdfs/
#    
./make.sh && ./make.sh install 
#      
cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf
cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf
#     
cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf 
# nginx    
cp /usr/local/src/fastdfs/conf/http.conf /etc/fdfs/ 
# nginx    
cp /usr/local/src/fastdfs/conf/mime.types /etc/fdfs/ 

cd ../ 

#  fastdfs-nginx-module
git clone https://github.com/happyfish100/fastdfs-nginx-module.git --depth 1
cp /usr/local/src/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs

#  nginx
wget http://nginx.org/download/nginx-1.15.4.tar.gz 
#  
tar -zxvf nginx-1.15.4.tar.gz
cd nginx-1.15.4/
#  fastdfs-nginx-module  
./configure --add-module=/usr/local/src/fastdfs-nginx-module/src/ 
#    
make && make install 

#  ip
ip=`ip addr|grep inet|grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}'|grep -v 127.0.0.1|head -n 1`


#tracker  
sed -i 's#/home/yuqing/fastdfs#'$data_path'#g' /etc/fdfs/tracker.conf

#storage  
sed -i 's#/home/yuqing/fastdfs#'$data_path'#g' /etc/fdfs/storage.conf
sed -i 's#192.168.209.121#'$ip'#g' /etc/fdfs/storage.conf
sed -i 's#tracker_server = 192.168.209.122:22122#''#g' /etc/fdfs/storage.conf

#  client
sed -i 's#/home/yuqing/fastdfs#'$data_path'#g' /etc/fdfs/client.conf
sed -i 's#192.168.0.196#'$ip'#g' /etc/fdfs/client.conf
sed -i 's#tracker_server = 192.168.0.197:22122#''#g' /etc/fdfs/client.conf

#  nginx  
sed -i 's#base_path=/tmp#base_path='$data_path'#g' /etc/fdfs/mod_fastdfs.conf
sed -i 's#tracker_server=tracker:22122#tracker_server='$ip':22122#g' /etc/fdfs/mod_fastdfs.conf
sed -i 's#url_have_group_name = false#url_have_group_name = true#g' /etc/fdfs/mod_fastdfs.conf
sed -i 's#store_path0=/home/yuqing/fastdfs#store_path0='$data_path'#g' /etc/fdfs/mod_fastdfs.conf

echo '#user  nobody;
worker_processes  1;

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;
    keepalive_timeout  65;
    gzip  on;

    server {
        listen       8888;
        server_name  localhost;
        #access_log  logs/host.access.log  main;
        
        location ~/group[0-9]/ {
            ngx_fastdfs_module;
        }
        
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

    }
}' > /usr/local/nginx/conf/nginx.conf

systemctl daemon-reload

#  tracker
/etc/init.d/fdfs_trackerd start
#  storage
/etc/init.d/fdfs_storaged start
#  nginx
/usr/local/nginx/sbin/nginx

좋은 웹페이지 즐겨찾기