文章目录
fastdfs+nginx
(亲测有效,环境:CentOS 8.0 64位
)
摘自
如果看到最后,依然没有安装成功,可以看看这些文章
- https://blog.csdn.net/qq_44768464/article/details/119902955
- https://blog.csdn.net/gcyaozuodashen/article/details/126656968
- https://blog.csdn.net/u013378306/article/details/74852294
(如有冒犯以上博客链接,请联系我删除)
安装依赖
yum install gcc perl openssl openssl-devel pcre pcre-devel zlib zlib-devel libevent libevent-devel -y
yum install -y git
下载fastdfs相关包
https://github.com/网址里搜索fastdfs
就能找到这些仓库。
如果服务器里down不下来仓库,建议在浏览器里下载zip包,再上传到服务器
git clone https://github.com/happyfish100/libfastcommon.git
git clone https://github.com/happyfish100/fastdfs.git
git clone https://github.com/happyfish100/fastdfs-nginx-module.git
git clone https://github.com/happyfish100/libserverframe.git
安装libfastcommon
cd /usr/local/git-workspace/libfastcommon
./make.sh && ./make.sh install
安装libserverframe
cd /usr/local/git-workspace/libserverframe
./make.sh && ./make.sh install
安装fastdfs
默认程序安装到/usr/bin里
默认配置文件会安装在/etc/fdfs里
cd /usr/local/git-workspace/fastdfs
./make.sh && ./make.sh install
移动文件
我习惯将程序和配置文件移动出来,放置在同一个目录管理
# 先创建目录
mkdir -p /usr/local/fdfs/bin
mkdir -p /usr/local/fdfs/conf
mkdir -p /usr/local/fdfs/data
# 移动fastdfs安装的程序
cd /usr/bin
mv fdfs_* /usr/local/fdfs/bin/
# 移动配置文件
cd /etc/fdfs/
mv * /usr/local/fdfs/conf/
修改配置文件
这只是第一步改动,后期和nginx搭配还需要改动
cd /usr/local/fdfs/conf
# 修改tracker.conf
vim tracker
## 改动点
{
base_path = /usr/local/fdfs/data
}
# 修改storage.conf
vim storage.conf
## 改动点
{
base_path = /usr/local/fdfs/data
store_path0 = /usr/local/fdfs/data
tracker_server = 服务器ip:22122
# 注释掉多余的一个tracker_server配置
}
# 修改client.conf
vim client.conf
## 改动点
{
base_path = /usr/local/fdfs/data
tracker_server = 服务器ip:22122
}
启动fastdfs
# 先启动tracker
cd /usr/local/fdfs/bin
./fdfs_trackerd ../conf/tracker.conf
# 启动storage
# 后面配置文件路径必须是绝对路径,相对路径会报错
./fdfs_storaged /usr/local/fdfs/conf/storage.conf
下载nginx
# 我习惯将wget下载的包放在这里
cd /usr/local
wget http://nginx.org/download/nginx-1.23.2.tar.gz
移动并修改配置文件(最好在安装nginx之前做)
# 复制mod_fastdfs.conf文件
cd /usr/local/git-workspace/fastdfs-nginx-module/src
cp mod_fastdfs.conf /usr/local/fdfs/conf/
# 复制fastdfs的其他配置文件
cd /usr/local/git-workspace/fastdfs/conf
cp http.conf /usr/local/fdfs/conf/
cp mime.types /usr/local/fdfs/conf/
# 修改mod_fastdfs.conf文件
cd /usr/local/fdfs/conf
vim mod_fastdfs.conf
## 改动点
tracker_server=服务器ip:22122
store_path0=/usr/local/fdfs/data
url_have_group_name = true
# 修改
cd /usr/local/git-workspace/fastdfs-nginx-module/src
vim ./config
## 原(两处)
- DFDFS_MOD_CONF_FILENAME='\"/etc/fdfs/mod_fastdfs.conf\"'"
## 改为
- DFDFS_MOD_CONF_FILENAME='\"/usr/local/fdfs/conf/mod_fastdfs.conf\"'"
## 原
ngx_module_incs="/etc/fdfs"
CORE_INCS="$CORE_INCS /etc/fdfs"
## 改为
ngx_module_incs="/usr/local/fdfs/conf"
CORE_INCS="$CORE_INCS /usr/local/fdfs/conf"
安装nginx
cd /usr/local/nginx-1.23.2/
# 先配置nginx和fastdfs的关系
./configure --prefix=/usr/local/nginx --add-module=/usr/local/git-workspace/fastdfs-nginx-module/src
# 安装
make
make install
增加nginx映射配置
cd /usr/local/nginx/conf/
vim nginx.conf
## 增加点
location ~ /group([0-9])/M([0-9])([0-9]) {
ngx_fastdfs_module;
}
启动nginx
cd /usr/local/nginx/sbin/
./nginx
测试上传文件
# 本地电脑上传文件到服务器
scp 1.jpg root@121.5.125.15:/usr/local/
# 服务器测试上传图片到fastdfs
cd /usr/local/fdfs/bin/
./fdfs_upload_file /usr/local/fdfs/conf/storage.conf /usr/local/1.jpg
## 返回url
group1/M00/00/00/eQV9D2NeReCAXvXEAD7vsLP-De4850.jpg
浏览器访问
https://服务器ip/group1/M00/00/00/eQV9D2NeReCAXvXEAD7vsLP-De4850.jpg
# 成功案例
http://nameliucong.top/group1/M00/00/00/eQV9D2NeReCAXvXEAD7vsLP-De4850.jpg
如果浏览器不能访问nginx页面
cd /usr/local/nginx/logs
# 查看报错文件
cat error.log # 或者用tail