本文实现了基于fastDFS及nginx模块源代码的功能编译、安装及运行,详细记录了相关过程。
当前windows10支持通过wsl方式安装linux运行环境,具体参见官方说明https://docs.microsoft.com/zh-cn/windows/wsl/install-win10,主要步骤是:
先通过 wsl 可在cmd中启动 ubuntu,执行文件安装等时候,需要增加sudo,例如sudo apt-get install git
通常,因为网络问题,需要先将国内源添加到apt源文件中,具体方法是,先执行sudo nano /etc/apt/sources.list
,打开该文件
然后将下属内容替换到该文件(原文件内容全部清除):
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
# deb-src https://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
# deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
# deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
# deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
注意,bionic是版本代号,具体可通过lsb_release -c
命令查看到。
替换完成并保存后,需要执行sudo apt-get update
生效
执行sudo apt install gcc
安装gcc,执行sudo apt install make
安装make
先进入usr目录,通过git获取git clone https://gitee.com/fastdfs100/libfastcommon.git
,然后分别执行
sudo ./make.sh clean
sudo ./make.sh
sudo ./make.sh install
再开始编译fastdfs,先执行sudo git clone https://gitee.com/fastdfs100/fastdfs.git
,然后在fastdfs中执行
sudo ./make.sh clean
sudo ./make.sh
sudo ./make.sh install
然后是通过sudo ./setup.sh /etc/fdfs
来拷贝配置文件,接下来是三个配置文件的配置。
tracker.conf文件配置,目前主要是修改了如下一行,注意,该文件是只读的,该文件默认的HTTP服务端口是8080,跟踪端口默认是22122,具体修改可通过sudo vi /etc/fdfs/tracker.conf
来执行:
base_path = /home/techlmm/fastdfs
修改完毕后,退出编辑器,执行目录创建命令`mkdir -p /home/techlmm/fastdfs(没有创建的话,也会自动创建)
接下来是存储配置文件修改,通过sudo vi /etc/fdfs/storage.conf
,具体修改内容有:
base_path = /home/techlmm/fastdfs
store_path0 = /home/techlmm/fastdfs
tracker_server = 192.168.10.161:22122
注意,ip地址不能设置为127.0.0.1
其次是客户端配置文件修改sudo vi /etc/fdfs/client.conf
:
base_path = /home/techlmm/fastdfs
tracker_server = 192.168.10.161:22122
通过/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
来启动跟踪器服务
通过/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart
来启动存储服务
启动完成后,可通过 ps -ef | grep fdfs
来查看相关服务运行情况
最后,可通过/usr/bin/fdfs_test /etc/fdfs/client.conf upload /usr/include/stdlib.h
来测试文件上传情况,该文件会存储在M00盘的00/00目录下,例如:
techlmm@DESKTOP-BRUCE:~/fastdfs/data/00/00$ ls
wKgKoV7vG6GAMSs9AACLyBo1AoQ63066.h wKgKoV7vG6GAMSs9AACLyBo1AoQ63066.h-m wKgKoV7vG6GAMSs9AACLyBo1AoQ63066_big.h wKgKoV7vG6GAMSs9AACLyBo1AoQ63066_big.h-m
补充:
ip address
查看本机ip地址/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf stop
、/usr/bin/fdfs_storaged /etc/fdfs/storage.conf stop
来停止相关服务通过安装nginx模块,实现url的展示和下载文档。
先通过下面命令获取和解压nginx源码:
wget http://nginx.org/download/nginx-1.16.1.tar.gz
tar -xzvf nginx-1.16.1.tar.gz
接下来,是安装相关编译依赖包:
sudo apt-get install build-essential
sudo apt-get install libtool
sudo apt-get update
sudo apt-get install libpcre3 libpcre3-dev
sudo apt-get install zlib1g-dev
sudo apt-get install openssl
然后,进入刚才解压后的文件夹,进行编译操作
cd nginx-1.16.1/
./configure --prefix=/usr/local/nginx
sudo make
sudo make install
安装成功后,通过命令启动sudo /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
,同时可通过ps -ef|grep nginx
来验证服务启动情况,也可通过 http://localhost/ 查看访问结果。
也可以通过/usr/local/nginx/sbin/nginx -s stop
来关闭服务
一样,先下载源代码并进行安装:
git clone https://gitee.com/fastdfs100/fastdfs-nginx-module.git
cd fastdfs-nginx-module
# 下面是进入nginx源代码目录,增加模块重新构建
cd /usr/nginx-1.16.1
./configure --add-module=/usr/fastdfs-nginx-module/src
sudo make
sudo make install
成功安装后,通过vi /usr/local/nginx/conf/nginx.conf
在 nginx.conf 中增加如下内容:
location /M00 {
root /home/techlmm/fastdfs/data;
ngx_fastdfs_module;
}
官方文档中还要求建立软链接ln -s /home/techlmm/fastdfs/data /home/techlmm/fastdfs/data/M00
接下来是进入到 fastdfs源文件目录,拷贝相关配置文件
cd /usr/fastdfs
cp conf/http.conf conf/mime.types /etc/fdfs/
cd /usr/fastdfs-nginx-module/src
cp mod_fastdfs.conf /etc/fdfs/
然后是修改相关配置文件,首先vi /etc/fdfs/http.conf
,修改内容有:
http.anti_steal.token_check_fail = /usr/fastdfs/conf/anti-steal.jpg
# 注意goodFS要与后续客户端私钥配置一致
http.anti_steal.secret_key = goodFS
再次是vi /etc/fdfs/mod_fastdfs.conf
修改,具体有:
tracker_server=192.168.0.124:22122
store_path0=/home/techlmm/fastdfs
修改完成以后,可通过下面命令重启nginx
/usr/local/nginx/sbin/nginx -s stop
/usr/local/nginx/sbin/nginx
最后,可通过tail -n 100 /usr/local/nginx/logs/error.log
来查看错误日志情况
到此,全部配置就完成了,就可以通过http://192.168.0.124/M00/00/00/wKgAfF7veGWAR0hKAAHm2nz781Y093.jpg 来访问到 文件,注意不要添加/group1这个路径,因为在配置中没有添加。