热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

FastDFS图片服务器的搭建

2019独角兽企业重金招聘Python工程师标准使用一台虚拟机来模拟,只有一个Tracker、一个Storage服务,配置nginx访问图片。1&

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

使用一台虚拟机来模拟,只有一个Tracker、一个Storage服务,配置nginx访问图片。

1):安装依赖包

yum -y install zlib zlib-devel pcre pcre-devel gcc gcc-c++ openssl openssl-devel libevent libevent-devel perl unzip net-tools wget

2):软件包下载 

使用以下命令下载:

//默认下载到当前目录wget https://github.com/happyfish100/libfastcommon/archive/V1.0.7.tar.gzwget https://github.com/happyfish100/fastdfs/archive/V5.05.tar.gzwget http://jaist.dl.sourceforge.net/project/fastdfs/FastDFS%20Nginx%20Module%20Source%20Code/fastdfs-nginx-module_v1.16.tar.gzwget http://openresty.org/download/ngx_openresty-1.7.10.1.tar.gz//这里我们下载目录为 /opt/tools/fastdfsTools 创建工具文件夹 mkdir -p /opt/tools/fastdfsTools//解压目录为 /opt/fastdfs 创建解压目录 mkdir /opt/fastdfs/

3):安装libfastcommon-1.0.7

解压到指定目录:

[root@admin fastdfsTools]# tar -zxvf V1.0.7.tar.gz -C /opt/fastdfs/

切换到 libfastcommon-1.0.7 目录:

[root@admin opt]# cd /opt/fastdfs/libfastcommon-1.0.7

编译安装:

[root@admin libfastcommon-1.0.7]# ./make.sh[root@admin libfastcommon-1.0.7]# ./make.sh install

4):安装Tracker服务

解压到指定目录:

[root@admin fastdfsTools]# tar -zxvf V5.05.tar.gz -C ../../fastdfs/

切换到 fastdfs-5.05 目录:

[root@admin fastdfsTools]# cd /opt/fastdfs/fastdfs-5.05/

编译安装:

[root@admin fastdfs-5.05]# ./make.sh[root@admin fastdfs-5.05]# ./make.sh install

安装之后会在/usr/bin目录下看到fdfs开头的文件。

5):创建文件夹(用于存放后期生成的信息)

//切换到解压文件夹的根目录cd /opt/fastdfs//创建文件夹mkdir -p data/fdfs/
mkdir -p data/nginx
mkdir -p data/nginx/logs//这里有个坑后期指定 /opt/fastdfs/data/nginx/logs 的时候不会在文件夹下创建日志文件。所以这里事先创建好,并授予访问权限chmod 777 /opt/fastdfs/data/nginx/logs/touch /opt/fastdfs/data/nginx/logs/log.log

拷贝配置文件:

cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.confcp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.confcp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf

配置tracker服务:修改 /etc/fdfs/tracker.conf 文件: 

vim /etc/fdfs/tracker.conf

修改内容:

日志文件路径为/opt/fastdfs/data/fdfs执行权限:rootbase_path=/opt/fastdfs/data/fdfsrun_by_group=rootrun_by_user=root

启动tracker:

/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start可以查看是否启动: ps aux|grep tracker

6):安装storage服务

修改/etc/fdfs/storage.conf文件:

vim /etc/fdfs/storage.conf

修改内容:

组名
执行权限
日志文件存储路径
tracker服务器地址
存储文件路径group_name=group1run_by_group=rootrun_by_user=rootbase_path=/opt/fastdfs/data/fdfstracker_server=192.168.31.202:22122store_path0=/opt/fastdfs/data/fdfs

启动storage:

/usr/bin/fdfs_storaged /etc/fdfs/storage.conf start//可以查看是否启动: ps aux|grep storage

7):配置storage测试

 修改配置文件 /etc/fdfs/client.conf 文件:

vim /etc/fdfs/client.conf

修改内容:

日志文件存储路径
tracker服务器地址    base_path=/opt/fastdfs/data/fdfstracker_server=192.168.31.202:22122

本地测试上传:

首先在 /opt/fastdfs/imgs 下放上 timg.jpg 这张图片上传图片:/usr/bin/fdfs_test /etc/fdfs/client.conf upload /opt/fastdfs/imgs/timg.jpg

8):搭建nginx_openresty

解压 fastdfs-nginx-module_v1.16.tar.gz 到指定目录:

[root@admin tools]# cd /opt/tools/fastdfsTools/[root@admin fastdfsTools]# tar -zxvf fastdfs-nginx-module_v1.16.tar.gz -C ../../fastdfs/

切换到解压目录:

[root@admin fastdfs-nginx-module]# cd /opt/fastdfs/fastdfs-nginx-module/src/[root@admin src]# vim config把其中的local去掉(总共有3个)

安装nginx_openresty包:

解压 ngx_openresty-1.7.10.1.tar.gz 到指定目录:

[root@admin tools]# cd /opt/tools/fastdfsTools/[root@admin fastdfsTools]# tar -zxvf ngx_openresty-1.7.10.1.tar.gz -C ../../fastdfs/

切换目录:

[root@admin ngx_openresty-1.7.10.1]# cd /opt/fastdfs/ngx_openresty-1.7.10.1/

 编译安装:

./configure --with-luajit --with-http_stub_status_module --with-http_ssl_module --with-http_realip_module --add-module=../fastdfs-nginx-module/srcgmake
gmake install

说明:

--with***                安装一些内置/集成的模块

--with-http_realip_module  取用户真实ip模块

-with-pcre               Perl兼容的达式模块

--with-luajit              集成luajit模块

--add-module            添加自定义的第三方模块,如此次的fastdfs-nginx-module

配置 mode_fastdfs.conf :

将mode_fastdfs.conf复制到/etc/fdfs目录下cp /opt/fastdfs/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/

编辑配置文件:

vim /etc/fdfs/mod_fastdfs.conf

修改内容:这里注意要将[group1]下面的内容解放:

base_path=/opt/fastdfs/data/nginxtracker_server=192.168.31.202:22122group_name=group1store_path0=/opt/fastdfs/data/fdfsurl_have_group_name = truelog_filename=/opt/fastdfs/data/nginx/logs/log.loggroup_count =1# group settings for group #1
# since v1.14
# when support multi-group, uncomment following section
[group1]
group_name=group1
storage_server_port=23000
store_path_count=1
store_path0=/opt/fastdfs/data/fdfs
#store_path1=/home/yuqing/fastdfs1

复制 http.conf 和 mime.types 文件到 /etc/fdfd/ :

[root@admin ngx_openresty-1.7.10.1]# cd /opt/fastdfs/fastdfs-5.05/confcp http.conf mime.types /etc/fdfs/

创建软连接:

ln -s /opt/fastdfs/data/fdfs/data /opt/fastdfs/data/fdfs/data/M00

编辑配置文件:

vim /usr/local/openresty/nginx/conf/nginx.conf

#user nobody;
worker_processes 1;error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;#pid logs/nginx.pid;events {worker_connections 1024;
}http {include mime.types;default_type application/octet-stream;log_format main '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';#access_log logs/access.log main;sendfile on;#tcp_nopush on;#keepalive_timeout 0;keepalive_timeout 65;#gzip on;server {listen 80;server_name localhost;charset utf-8;#access_log logs/host.access.log main;# location / {# root html;# index index.html index.htm;# }location ~ /group[0-9]/M00 {root /opt/fastdfs/data/fdfs/data;ngx_fastdfs_module;}#error_page 404 /404.html;# redirect server error pages to the static page /50x.html#error_page 500 502 503 504 /50x.html;location = /50x.html {root html;}# proxy the PHP scripts to Apache listening on 127.0.0.1:80##location ~ \.php$ {# proxy_pass http://127.0.0.1;#}# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000##location ~ \.php$ {# root html;# fastcgi_pass 127.0.0.1:9000;# fastcgi_index index.php;# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;# include fastcgi_params;#}# deny access to .htaccess files, if Apache's document root# concurs with nginx's one##location ~ /\.ht {# deny all;#}}# another virtual host using mix of IP-, name-, and port-based configuration##server {# listen 8000;# listen somename:8080;# server_name somename alias another.alias;# location / {# root html;# index index.html index.htm;# }#}# HTTPS server##server {# listen 443 ssl;# server_name localhost;# ssl_certificate cert.pem;# ssl_certificate_key cert.key;# ssl_session_cache shared:SSL:1m;# ssl_session_timeout 5m;# ssl_ciphers HIGH:!aNULL:!MD5;# ssl_prefer_server_ciphers on;# location / {# root html;# index index.html index.htm;# }#}}

启动 Nginx 服务:

/usr/local/openresty/nginx/sbin/nginx

注意:

进行授权:

[root@admin logs]# chmod 777 /opt/fastdfs/data/nginx/logs/log.log//重新启动
[root@admin logs]# /usr/local/openresty/nginx/sbin/nginx -s reopen

9):配置FastDFS开机自启

开机启动需要启动 fastdfs 和 nginx 在centos中,在/etc/rc.local文件中,就是配置开机启动项的。

我们在这个文件中添加下面的配置:我们在这个文件中添加下面的配置:

cd /etc vim rc.local/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart
/usr/local/openresty/nginx/sbin/nginx

这次在浏览器的地址栏中输入一下网址,就可以看到我们上传的图片了。

 启动关闭命令:

/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf stop || start/usr/bin/fdfs_storaged /etc/fdfs/storage.conf stop || start/usr/local/openresty/nginx/sbin/nginx -s stop || start


转:https://my.oschina.net/tshblogs/blog/2990133



推荐阅读
author-avatar
杀你哥_52544
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有