ubuntu server 22.04安装 fdfs

ubuntu server 22.04安装 fdfs

安装依赖包

sudo apt -y install gcc g++ make pcre2-utils libpcre2-dev openssl libssl-dev zlib1g zlib1g-dev libxml2-utils libxml2 libxml2-dev libxslt-dev libgd-dev libgeoip-dev libgoogle-perftools-dev libperl-dev

下载相关软件包

sudo mkdir -p /opt/fastdfs /data/fastdfs /data/fastdfs/data01
cd /opt/fastdfs

下载如下软件包
libfastcommon-1.0.40.tar.gz
fastdfs-5.12.tar.gz
fastdfs-nginx-module-1.20.tar.gz

安装libfastcommon

cd /opt/fastdfs
sudo tar -zxvf libfastcommon-1.0.40.tar.gz
cd libfastcommon-1.0.40/
sudo ./make.sh
sudo ./make.sh install

安装fastdfs

cd /opt/fastdfs
sudo tar -zxvf fastdfs-5.12.tar.gz
cd fastdfs-5.12
sudo ./make.sh
sudo ./make.sh install
sudo cp conf/* /etc/fdfs/
sudo cp /opt/fastdfs/fastdfs-nginx-module-1.20/src/mod_fastdfs.conf /etc/fdfs

防火墙端口

sudo firewall-cmd --zone=public --add-port=22122/tcp --permanent
sudo firewall-cmd --zone=public --add-port=23000/tcp --permanent
sudo firewall-cmd --zone=public --add-port=8888/tcp --permanent
sudo firewall-cmd --reload

安装nginx

修改/opt/fastdfs/fastdfs-nginx-module-1.20/src/config文件,在从1处重新配置
ngx_module_incs="/usr/local/include /usr/include/fastdfs /usr/include/fastcommon"
CORE_INCS="$CORE_INCS /usr/local/include /usr/include/fastdfs /usr/include/fastcommon"

CFLAGS的两行增加如下参数:
-Wformat-truncation=0 -Wformat-overflow=0

sudo groupadd nginx
sudo useradd -g nginx nginx -s /sbin/nologin
sudo mkdir -p /usr/local/nginx/tmp/
sudo chown -R nginx:nginx /usr/local/nginx/
cd nginx-1.25.5/

sudo ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-file-aio  --with-http_auth_request_module --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_addition_module --with-http_xslt_module=dynamic --with-http_image_filter_module=dynamic --with-http_geoip_module=dynamic --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module --with-http_degradation_module --with-http_slice_module --with-http_stub_status_module --with-http_perl_module=dynamic --with-mail=dynamic --with-mail_ssl_module --with-pcre --with-pcre-jit --with-stream=dynamic --with-stream_ssl_module --with-google_perftools_module --add-module=/opt/fastdfs/fastdfs-nginx-module-1.20/src/

sudo make && sudo make install

修改nginx配置

cd /usr/local/nginx/conf
sudo mv nginx.conf nginx.conf.bak
sudo vim /usr/local/nginx/conf/nginx.conf

worker_processes  1;
events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    gzip  on;
    server {
        ## 该端口为storage.conf中的http.server_port相同
        listen       8888;
        server_name  localhost;
        location / {
            root   html;
            index  index.html index.htm;
        }
        location ~/shuan/ {
            root /data/fastdfs/storaged/data01;
            ngx_fastdfs_module;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

    }
}

设置nginx服务文件

sudo vim /usr/lib/systemd/system/nginx.service
[Unit]
Description=nginx - high performance web server
Documentation=http://nginx.org/en/docs
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target

启动nginx服务

sudo chown -R nginx.nginx /usr/local/nginx
sudo systemctl enable nginx
sudo systemctl start nginx
sudo systemctl status nginx

防火墙放行8888端口

sudo firewall-cmd --permanent --zone=public --add-port=8888/tcp
sudo firewall-cmd --reload

配置tracker

sudo vim /etc/fdfs/tracker.conf

port=22122
base_path=/data/fastdfs/trackerd
store_group=shuan
use_storage_id = true

配置storage

sudo vim /etc/fdfs/storage.conf

group_name=shuan
port=23000
base_path=/data/fastdfs/storaged
store_path0=/data/fastdfs/storaged/data01
tracker_server=192.168.200.12:22122
http.server_port=8888

配置storage_ids

sudo vim /etc/fdfs/storage_ids.conf

100001   shuan  192.168.200.12

配置client

sudo vim /etc/fdfs/client.conf

base_path=/data/fastdfs/trackerd
tracker_server=192.168.200.12:22122
use_storage_id = true

配置nginx

sudo vim /etc/fdfs/mod_fastdfs.conf

use_storage_id = true
tracker_server=192.168.200.12:22122
group_name=shuan
url_have_group_name = true
store_path_count=1
store_path0=/data/fastdfs/storaged/data01
group_count = 1

[group1]
group_name=shuan
storage_server_port=23000
store_path_count=1
store_path0=/data/fastdfs/storaged/data01

创建tracker和storaged配置文件中的目录(不提前创建启动报错)

sudo mkdir -p /data/fastdfs/trackerd
sudo mkdir -p /data/fastdfs/storaged
sudo mkdir -p /data/fastdfs/storaged/data01/data 

加载tracker与storage服务配置文件,并设置开机自启

sudo systemctl daemon-reload

sudo systemctl start fdfs_trackerd
sudo systemctl enable fdfs_trackerd

sudo systemctl start fdfs_storaged
sudo systemctl enable fdfs_storaged


sudo systemctl restart fdfs_storaged
sudo systemctl restart fdfs_trackerd

sudo systemctl status fdfs_storaged
sudo systemctl status fdfs_trackerd

防火墙放行8888端口

sudo firewall-cmd --zone=public --add-port=22122/tcp --permanent
sudo firewall-cmd --zone=public --add-port=23000/tcp --permanent
sudo firewall-cmd --reload

查看集群状态,可指定tracker地址查看

fdfs_monitor /etc/fdfs/client.conf
fdfs_monitor /etc/fdfs/client.conf -h 192.168.200.12 list

文件上传测试

fdfs_upload_file /etc/fdfs/client.conf /opt/fastdfs/nginx-1.25.5.tar.gz
shuan/M00/00/00/wKjIDGZzpo6AbrV9ABL7nN6W2_U.tar.gz

下载测试

http://192.168.200.12:8888/shuan/M00/00/00/wKjIDGZzpo6AbrV9ABL7nN6W2_U.tar.gz
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值