上面将文件上传成功了,但我们无法下载。因此安装Nginx作为服务器以支持Http方式访问文件。同时,后面安装FastDFS的Nginx模块也需要Nginx环境。
Nginx只需要安装到StorageServer所在的服务器即可,用于访问文件。我这里由于是单机,TrackerServer和StorageServer在一台服务器上。
① gcc 安装
yum install gcc-c++
② PCRE pcre-devel 安装
yum install -y pcre pcre-devel
③ zlib 安装
yum install -y zlib zlib-devel
④ OpenSSL 安装
yum install -y openssl openssl-devel
① 下载nginx
wget http://nginx.org/download/nginx-1.8.0.tar.gz
② 解压
tar -xvf nginx-1.8.0.tar.gz
cd nginx-1.8.0/
③ 使用默认配置
./configure
④ 编译、安装
make && make install
⑤修改目录权限:
chmod a+rwx -R /usr/local/nginx/
chmod a+rwx -R /usr/local/nginx/logs/
检测配置文件是否正确:
/usr/local/nginx/sbin/nginx -t
/usr/local/nginx/sbin/nginx
其它命令
/usr/local/nginx/sbin/nginx -s stop
/usr/local/nginx/sbin/nginx -s quit
/usr/local/nginx/sbin/nginx -s reload
⑦设置开机启动
# vim /etc/rc.local
添加一行:
/usr/local/nginx/sbin/nginx
# 设置执行权限
# chmod 755 rc.local
查看nginx的版本及模块
/usr/local/nginx/sbin/nginx -V
⑧ 防火墙中打开Nginx端口(默认的 80)
添加后就能在本机使用80端口访问了。
firewall-cmd --zone=public --add-port=80/tcp --permanent
或者
# vim /etc/sysconfig/iptables
添加如下端口行:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
重启防火墙:
# service iptables restart
1.进入nginx的安装包的源目录,然后编译和安装fastdfs-nginx-module
注意:要先关闭所有的nginx进程,在进行下面这一步骤
kill -QUIT 主进程号 :从容停止Nginx
kill -TERM 主进程号 :快速停止Nginx
pkill -9 nginx :强制停止Nginx
安装和编译
./configure --prefix=/usr/local/nginx --add-module=/usr/local/fastdfs-nginx-module/src
如果报错,则编辑 fastdfs-nginx-module-1.20/src/config 文件
vi /usr/local/fastdfs-nginx-module-master/src/config
将变量换成下列信息
ngx_module_incs="/usr/include/fastdfs /usr/include/fastcommon/"
CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/"
重新编译安装即可
make
make install
简单的测试访问文件
① 修改nginx.conf
listen 80 端口值是要与 /etc/fdfs/storage.conf 中的 http.server_port=80 (前面改成80了)相对应。如果改成其它端口,则需要统一,同时在防火墙中打开该端口。
本例子中设置成 22121
# vim /usr/local/nginx/conf/nginx.conf
# 添加如下行,将 /group1/M00 映射到 /usr/local/fastdfs-5.05/tracker/data/
location ~/group1/M00 {
alias /usr/local/fastdfs-5.05/tracker/data/;
ngx_fastdfs_module;
}
# 重启nginx
# /usr/local/nginx/sbin/nginx -s reload
然后进入FastDFS安装时的解压过的目录,将http.conf和mime.types拷贝到/etc/fdfs目录下:
cp /usr/yong.cao/dev/nginx/fastdfs-nginx-module-master/src/mod_fastdfs.conf /etc/fdfs/
对刚刚拷贝的mod_fastdfs.conf文件进行修改:
vim /etc/fdfs/mod_fastdfs.conf
base_path=/usr/local/fastdfs-5.05/tracker #保存日志目录
tracker_server=192.168.128.131:22122 #tracker服务器的IP地址以及端口号
storage_server_port=23000 #storage服务器的端口号
url_have_group_name = true #文件 url 中是否有 group 名
store_path0=store_path0=/usr/local/fastdfs-5.05/storage #存储路径
group_count = 1 #设置组的个数,事实上这次只使用了group1
[group1]
group_name=group1
storage_server_port=23000
store_path_count=1
store_path0=/usr/local/fastdfs-5.05/storage
store_path1=/usr/local/fastdfs-5.05/storage
创建M00至storage存储目录的符号连接:
ln -s /usr/yong.cao/dev/fastdfs/fastdfs_storage_data/data/ /usr/yong.cao/dev/fastdfs/fastdfs_storage_data/data/M00
不要也可以
② 开放外网访问端口
firewall-cmd --zone=public --add-port=5532/tcp --permanent
在浏览器访问之前上传的图片、成功。
http://file.ljzsg.com/group1/M00/00/00/wKgz6lnduTeAMdrcAAEoRmXZPp870.jpeg
转载地址: https://www.cnblogs.com/chiangchou/p/fastdfs.html#_label4_2
启动nginx:
/usr/local/nginx/sbin/nginx
现在我们再去访问一下,原来我们上传过的文件:
http://192.168.172.20/group1/M00/00/00/wKisFFpBG9eAHaQvAAAWKd1hQR4158_big.jpg