Ubuntu服务器下安装FastDFS及nginx配置访问
- 下载对应包
- 编译环境
- 包解压环境配置
- 配置nginx模块和安装nginx来进行访问该图片
下载对应包
下载方式一:直接使用 wget 下载,如果太慢,可以去github下载,然后上传到服务器上即可。
wget -c "https://github.com/happyfish100/fastdfs/archive/V6.06.tar.gz" \
-O fastdfs-6.06.tar.gz
wget -c "https://github.com/happyfish100/libfastcommon/archive/V1.0.43.tar.gz" \
-O libfastcommon-1.0.43.tar.gz
wget -c "https://github.com/happyfish100/fastdfs-nginx-module/archive/V1.22.tar.gz" \
-O fastdfs-nginx-module-1.22.tar.gz
wget -c http://nginx.org/download/nginx-1.17.7.tar.gz
2.用git下载
git clone https://github.com/happyfish100/libfastcommon.git --depth 1
git clone https://github.com/happyfish100/fastdfs.git --depth 1
git clone https://github.com/happyfish100/fastdfs-nginx-module.git --depth 1
wget http://nginx.org/download/nginx-1.15.4.tar.gz
编译环境
CentOS
yum install git gcc gcc-c++ make automake autoconf libtool pcre pcre-devel zlib zlib-devel openssl-devel wget vim -y
Debian/Ubuntu
apt-get -y install git gcc g++ make automake autoconf libtool pcre2-utils libpcre2-dev zlib1g zlib1g-dev openssl libssh-dev wget vim
磁盘目录
说明 位置
所有安装包 /home/software/fastdfs
数据存储位置 /usr/local/fastdfs
#这里我为了方便把日志什么的都放到了fastdfs
包解压环境配置
tar zxf libfastcommon-1.0.7.tar.gz
然后进入解压后的目录:
./make.sh
./make.sh install
tar zxf fastdfs-5.05.tar.gz
进入文件夹后依次执行命令:
./make.sh
./make.sh install
安装后文件会默认安装在 /usr/bin 中,可以通过 ls fdfs_* 进行查看。
而配置文件在 /etc/fdfs 目录中:
把源码包中的所有文件到/etc/fdfs下:
使用命令全部复制:cp * /etc/fdfs/
配置tracker服务。修改/etc/fdfs/tracker.conf文件
修改base_path 的路径,这个是用来存放日志的
tracker配置
#服务器ip为 192.168.52.1
#我建议用ftp下载下来这些文件 本地修改
vim /etc/fdfs/tracker.conf
#需要修改的内容如下
port=22122 # tracker服务器端口(默认22122,一般不修改)
base_path=/user/local/fastdfs/tracker # 存储日志和数据的根目录
storage配置
vim /etc/fdfs/storage.conf
#需要修改的内容如下
port=23000 # storage服务端口(默认23000,一般不修改)
base_path=/usr/local/fastdfs/storage # 数据和日志文件存储根目录
store_path0=/usr/local/fastdfs/storage0 # 第一个存储目录
tracker_server=192.168.52.1:22122 # tracker服务器IP和端口
http.server_port=9060 # http访问文件的端口(看情况修改,和nginx中监听保持一致)
分别创建文件夹:
mkdir -p /usr/local/fastdfs/tracker
mkdir -p /usr/local/fastdfs/storage
启动这两个:
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf
查看:
安装client测试:
vim /etc/fdfs/client.conf
#需要修改的内容如下
base_path=/usr/local/fastdfs/client
tracker_server=192.168.52.1:22122 #tracker服务器IP和端口
#保存后测试,返回ID表示成功 如:group1/M00/00/00/xx.tar.gz
mkdir /usr/local/fastdfs/client
#上传图片
/usr/bin/fdfs_test /etc/fdfs/client.conf upload 11.jpg
返回样式:
这里图片就上传成功了,里面配置的IP这里都是用的内网IP
配置nginx模块和安装nginx来进行访问该图片
解压缩fastdfs-nginx模块:
tar -zxvf nginx-1.17.7.tar.gz
tar -zxvf fastdfs-nginx-module-1.22.tar.gz
进入fastdfs-nginx-module-1.22/src目录,编辑配置文件,将文件中路径 /usr/local换成 /usr,把其中的local去掉
进入nginx目录进行配置和安装nginx:
Ubuntu:
apt-get install gcc
apt-get install libpcre3 libpcre3-dev
apt-get install zlib1g zlib1g-dev
Ubuntu14.04的仓库中没有发现openssl-dev,由下面openssl和libssl-dev替代
#apt-get install openssl openssl-dev
sudo apt-get install openssl
sudo apt-get install libssl-dev
./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi \
--add-module=/home/fastdfs-nginx-module/src
–add-module=/home/fastdfs-nginx-module/src这里=后的要切换成自己的:在
执行完后:
make
make install
把/fastdfs-nginx-module/src/mod_fastdfs.conf文件复制到/etc/fdfs目录下
打开并且修改这个文件:
修改日志存放路径:
修改base_parh:/usr/local/fastdfs/tmp(需要创建文件)
修改storage地址,和之前的一样,teacker_server:IP得是公网地址
修改nginx配置:
配置nginx开放的端口,并配置防火墙开放端口,打开防火墙即可进行访问,
先访问nginx,在加测试上传图片返回的地址:
Ubuntu开放防火墙端口:sudo ufw allow 9060
有管理员权限可省略sudo. 1.查看端口开启状态 sudo ufw status 2.开启某个端口(以8866为例) sudo ufw allow 8866 3.开启防火墙 sudo ufw enable 4.关闭防火墙 sudo ufw disable 5.重启防火墙 sudo ufw reload 6.禁止某个端口(以8866为例) sudo ufw delete allow 8866 7.查看端口IP netstat -ltn
参考连接:
https://blog.csdn.net/weixin_45248492/article/details/126076954
https://www.cnblogs.com/leechenxiang/p/7089778.html
https://www.cnblogs.com/leechenxiang/p/5406548.html
https://github.com/happyfish100/fastdfs/wiki
ubuntu安装nginx:
https://blog.csdn.net/qq_41744950/article/details/124259698
http://t.zoukankan.com/dongye95-p-11196118.html
客户端出现问题可查看:
https://blog.csdn.net/m0_52029207/article/details/124893188?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-124893188-blog-124290601.pc_relevant_default&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-124893188-blog-124290601.pc_relevant_default&utm_relevant_index=2
<dependency>
<groupId>com.github.tobato</groupId>
<artifactId>fastdfs-client</artifactId>
<version>1.26.7</version>
</dependency>
fdfs:
connect-timeout: 30 #连接超时时间
so-timeout: 3000 #读取的超时时间
tracker-list: 公网IP:22122 #tracker服务所在的地址和端口号
soTimeout: 60 这不超时才怪呢! 把时间设置长一点 soTimeout: 3000