阿里云上安装Nginx以及fastdfs-Nginx-module
一、上传并安装fastdfs-nginx-module
二、修改配置文件
三、安装nginx的依赖
四、上传Nginx并解压
五、修改Nginx配置
六、编译并安装
七、配置fastdfs-nginx-module模块配置文件
八、修改mod_fastdfs.conf
1.进入/etc/fdfs
2.编辑配置文件
3.文件内容修改
九、提供FastDFS需要的HTTP配置文件
十、创建网络访问存储服务的软连接
十一、修改nginx配置文件
1.进入到安装后nginx目录
2.编辑配置文件
2.1修改内容
十二、启动nginx
启动nginx
关闭nginx
十三、在浏览器地址栏访问图片
系统及软件资源
上传01资料/08 nignx安装(包含fastdfs模块)/fastdfs-nginx-module_v1.16.tar.gz 到/usr/local/tmp中
进入tmp目录
# cd /usr/local/tmp
解压
# tar zxf fastdfs-nginx-module_v1.16.tar.gz
进入解压目录中src目录
# cd fastdfs-nginx-module/src
编辑config文件,
# vim config
修改配置文件中第四行和第五行,把路径中local去掉。参数是用于配置安装nginx中的FastDFS组件的时候,在什么位置查找FastDFS核心代码。
修改结果如下:
# yum install -y gcc gcc-c++ make automake autoconf libtool pcre pcre-devel zlib zlib-devel openssl openssl-devel
上传nginx-1.16.1.tar.gz 到/usr/local/tmp中
# cd /usr/local/tmp
# tar zxf nginx-1.16.1.tar.gz
# cd nginx-1.16.1
修改配置文件中好多位置都使用了/var/temp/nginx目录,但是默认不会自动创建这个目录的,需要手动创建。
# mkdir -p /var/temp/nginx
./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=/usr/local/temp/fastdfs-nginx-module/src
注意:上面add-module=后面的地址要改为你的阿里云中fastdfs-nginx-module/src的路径文件夹
--add-module必须定义,此配置信息是用于指定安装Nginx时需要加载的模块,如果未指定,Nginx安装过程不会加载fastdfs-nginx-module模块,后续功能无法实现。
# make
# make install
复制配置文件fastdfs-nginx-module/src/mod_fastdfs.conf到/etc/fdfs目录中
# cp /usr/local/temp/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/
# cd /etc/fdfs
# vim mod_fastdfs.conf
需要修改文件中四处内容,这四处内容的含义:
connect_timeout=2 #连接超时时间,单位秒
tracker_server=tracker:22122 #tracker服务结点
url_have_group_name = false #URL中是否包含group名称
store_path0=/home/yuqing/fastdfs # storage服务结点的存储位置,与配置storage结点一致
修改结果如下:
connect_timeout=10 tracker_server=192.168.9.136:22122 url_have_group_name = true store_path0=/usr/local/fastdfs/storage/store |
复制FastDFS安装包中的两个配置文件(http.conf和mime.types)到/etc/fdfs目录中
# cp /usr/local/tmp/FastDFS/conf/http.conf /etc/fdfs/
# cp /usr/local/tmp/FastDFS/conf/mime.types /etc/fdfs/
在上传文件到FastDFS后,FastDFS会返回group1/M00/00/00/xxxxxxxxxx.xxx。其中group1是卷名,在mod_fastdfs.conf配置文件中已配置了url_have_group_name,以保证URL解析正确。而其中的M00是FastDFS保存数据时使用的虚拟目录,需要将这个虚拟目录定位到真实数据目录上。
# ln -s /usr/local/fastdfs/storage/store/data/ /usr/local/fastdfs/storage/store/data/M00
注意是安装目录,不是解压目录
# cd /usr/local/nginx/conf
# vim nginx.conf
需要修改两处。
2.1.1 第一处
user root; # Nginx需要访问linux文件系统,必须有文件系统的权限。User root代表nginx访问文件系统的权限是root用户权限。如果不开启权限,可能有404访问错误。 |
默认效果:此内容在文件最上面了
修改后的效果:去掉注释,user后面写上root
2.1.2第二处
server{ listen 8888; # storage配置中,有http.server_port=8888的配置信息,必须一致。配置文件是/etc/fdfs/storaged.conf server_name localhost; location ~/group([0-9])/M00cd{ ngx_fastdfs_module; } } |
默认效果:
修改后的效果:
进入到nginx安装目录的sbin文件夹
# cd /usr/local/nginx/sbin/
# ./nginx
# ./nginx -s quit
注意:ip为你的阿里云地址
使用浏览器查看FastDFS中保存的文件:
http://ip:8888/group1/M00/00/00/xxxxxxx.xxx
测试上传的文件: group1/M00/00/00/wKgJiF1mtCuAWIvPAAP0ht-y7J0224.png
测试WEB访问地址:
http://192.168.9.136:8888/group1/M00/00/00/wKgJiF1mtCuAWIvPAAP0ht-y7J0224.png
系统:阿里云 CentOs 8.0 64位
软件资源:
链接:https://pan.baidu.com/s/1xWuGFHfA7xhvHWNHdy8uEw 密码:1vbx
如果可以留言,或者添加我的微信:ablehgforever