Ubuntu20.04中fastdfs,nginx的安装和配置

环境准备:

编译环境:

Ubuntu20.04

使用的系统软件:

fastdfs-6.07

fastdfs-nginx-module-1.22

libfastcommon-1.0.53

nginx-1.18.0

安装libfastcommon:

git clone https://github.com/happyfish100/libfastcommon.git --depth 1
cd libfastcommon/
./make.sh && ./make.sh install #编译安装

安装FastDFS:

cd ../ #返回上一级目录
git clone https://github.com/happyfish100/fastdfs.git --depth 1
cd fastdfs/
./make.sh && ./make.sh install #编译安装

配置跟踪服务器tracker:

#配置文件准备
cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf#在/home/目录中创建目录 fastdfs/tracker
mkdir –p /home/fastdfs/tracker#编辑/etc/fdfs/tracker.conf配置文件
vim /etc/fdfs/tracker.conf
#需要修改的内容如下
port=22122  # tracker服务器端口(默认22122,一般不修改)
base_path=/home/faster/tracker  # 存储日志和数据的根目录

配置跟踪服务器tracker:

#配置文件准备
cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf#在/home/目录中创建目录 fastdfs/storage
mkdir –p /home/fastdfs/storage#编辑/etc/fdfs/storage.conf配置文件
vim /etc/fdfs/storage.conf#需要修改的内容如下
port=23000  # storage服务端口(默认23000,一般不修改)
base_path=/home/fastdfs/storage  # 数据和日志文件存储根目录
store_path0=/home/fastdfs/storage  # 第一个存储目录
tracker_server=192.168.154.130(ubuntu虚拟机的ip):22122  # tracker服务器IP和端口
http.server_port=8888  # http访问文件的端口(默认8888,看情况修改,和nginx中保持一致)

配置client:

#配置文件准备
cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf编辑/etc/fdfs/client.conf配置文件
vim /etc/fdfs/client.conf#需要修改的内容如下
base_path=/home/fastdfs/tracker
tracker_server=192.168.154.130(ubuntu虚拟机的ip):22122  #tracker服务器IP和端口

上传文件测试:

#保存后测试,返回ID表示成功 如:group1/M00/00/00/xx.tar.gz
fdfs_upload_file /etc/fdfs/client.conf /usr/local/src/nginx-1.15.4.tar.gz
或者
fdfs_upload_file /etc/fdfs/client.conf 要上传的图片文件路径
如果返回类似group1/M00/00/00/rBIK6VcaP0aARXXvAAHrUgHEviQ394.jpg的文件id则说明文件上传成功如果报错 connect refuse 可以先把tracker,storage进程关闭再依次打开,重新上传

安装nginx和fastdfs-nginx-module(建议使用第二种apt-get安装):

方式一:通过下载的nginxan安装包进行安装
wget http://nginx.org/download/nginx-1.18.0.tar.gz #下载nginx压缩包(可以直接去官网下载)
tar -zxvf nginx-1.18.0.tar.gz #解压
cd nginx-1.18.0/
#添加fastdfs-nginx-module模块
./configure --prefix=/usr/local/nginx/ --add-module=/usr/local/src/fastdfs-nginx-module/src/ #根据自己的 fastdfs-nginx-module路径填写
make && make install #编译安装
方式一配置nginx访问
cp fastdfs-nginx-module-1.22(路径要填完整,可以右键属性查看)/src下的mod_fastdfs.conf /etc/fdfs/mod_fastdfs.confvim /etc/fdfs/mod_fastdfs.conf
#需要修改的内容如下
tracker_server=192.168.154.130(ubuntu虚拟机的ip):22122  #tracker服务器IP和端口
url_have_group_name=true
store_path0=/home/fastdfs/storagecp 解压缩的fastdfs-master目录中的http.conf  /etc/fdfs/http.conf
cp 解压缩的fastdfs-master目录中的mime.types /etc/fdfs/mime.types#配置nginx.config
vim /usr/local/nginx/conf/nginx.conf#添加如下配置
server {listen       8888;    ## 该端口为storage.conf中的http.server_port相同server_name  localhost;location ~/group[0-9]/ {ngx_fastdfs_module;}error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}
}#测试下载,用外部浏览器访问刚才已传过的nginx安装包或图片,引用返回的ID
http://192.168.154.130:8888/group1/M00/00/00/wKgAQ1pysxmAaqhAAA76tz-dVgg.tar.gz
#弹出下载或图片单机部署全部跑通
方式二:通过apt-get进行安装
1.通过apt-get 安装nginx
apt-get install nginx
apt-get安装nginx的文件位置
/usr/sbin/nginx  #主程序
/etc/nginx   #存放配置文件
/usr/share/nginx  #存放静态文件
/var/log/nginx  #存放日志
2.查看安装的nginx版本
nginx -V
#复制configure arguements:后的内容,这些是已经安装的模块,其中没有fastdfs-nginx-module
3.去官网下载一个相同版本的源码包,解压,与方式一相同
4.进入解压后的源码包,编译
./configure 之前所复制configure arguements:后的内容 --add-module=/usr/local/src/fastdfs-nginx-module/src/ #根据自己的 fastdfs-nginx-module路径填写
5.执行可能遇到的问题

– the HTTP XSLT module requires the libxml2/libxslt libraries

#解决办法
apt-get install libxml2 libxml2-dev libxslt-dev

the HTTP image filter module requires the GD library.

#解决办法
apt-get install libgd-dev libgd2-xpm-dev

the GeoIP module requires the GeoIP library.

#解决办法
apt-get install geoip-database libgeoip-dev

the HTTP rewrite module requires the PCRE library.

#解决办法
apt-get install libpcre3 libpcre3-dev

6.编译完成后执行make,注意不要执行make install ,不然会覆盖安装原来的或导致虚拟机中存在两个nginx,引起各种bug

make
7.替换nginx二进制文件(建议备份niginx,失败后可以退回来):
cp /usr/sbin/nginx /usr/sbin/nginx.bak #备份cp ./objs/nginx /usr/sbin/ #make编译过后的nginx,替换系统安装
8.测试
#再次查看版本
nginx -V
#复制configure arguements:后的内容,除了之前安装的模块,最后会有fastdfs-nginx-module
方式二配置nginx访问
vim /etc/nginx/nginx.confserver {listen       8888;    ## 该端口为storage.conf中的http.server_port相同server_name  localhost;location ~/group[0-9]/ {ngx_fastdfs_module;}error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}
}server {listen       80;server_name  localhost;#charset koi8-r;#access_log  logs/host.access.log  main;location / {root   html;index  index.html index.htm;}#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;}
}
9.启动nginx,打开浏览器测试
service nginx start
#测试下载,用外部浏览器访问刚才已传过的nginx安装包或图片,引用返回的ID
http://192.168.154.130:8888/group1/M00/00/00/wKgAQ1pysxmAaqhAAA76tz-dVgg.tar.gz
#弹出下载或图片单机部署全部跑通

写在最后:

fastdfs,nginx本身的安装不难,但是很容易出现各种各样的问题。

建议在测试前查看tracker,storage,nginx是否运行

ps -ef | grep tracker
ps -ef | grep storage
ps -ef | grep nginx

如果一次没有访问到上传的资源,建议关掉tracker,storage,nginx

#可以通过fastdfs自带的stop.sh来关闭
fastdfs所在目录下/stop.sh  要关掉的进程(查看进程时后面有)

如果关不掉,可以使用kill 强行关闭(本人使用)

kill -9 端口号

然后依次开启tracker,storage,nginx

另外,如果还是没有访问到上传的资源,建议查看一下8888端口是否开了

netstat -luntp } grep 8888

如果没反应就是没开,建议百度,我最开始因为没卸载干净又进行重装导致又两个nginx,8888端口也没反应,百度试了后8888端口突然就开了,最后成功访问,但是我最后还是将nginx完全卸载了,将与nginx相关的全部删除后通过方式二重新安装nginx,一次成功。

参考:
#fastdfs开发者yuqing老师的安装过程
https://github.com/happyfish100/fastdfs/wiki/%E5%AE%89%E8%A3%85%E6%AD%A5%E9%AA%A4
#apt-get 安装nginx 添加 fastdfs-nginx-module模块
https://blog.csdn.net/Fffhhas/article/details/106450214

Ubuntu20.04中fastdfs,nginx的安装和配置(apt-get安装nginx添加fastdfs-nginx-module模块)相关推荐

  1. 记录:Ubuntu20.04中安装和设置VScode

    记录:Ubuntu20.04中安装和设置VScode 一.VScode的安装 1 从VS官网中下载deb文件:https://code.visualstudio.com/Download 下载的deb ...

  2. Ubuntu20.04中安装pycharm社区版本

    Ubuntu20.04中安装pycharm社区版本 目前pycharm的社区版是免费的,如果只用python,社区版能满足要求 下载地址https://www.jetbrains.com/zh-cn/ ...

  3. ubuntu20.04中安装ROS系统,详细介绍各种错误解决方法,直达小海龟

    因为最近学习的缘故,花了半天的时间安装了ROS,期间因为ubuntu也是临时安装的双系统,遇到了各种各样的问题,这里记录一下,主要集中在ROS系统安装问题的解决. Ubuntu系统的安装 ubuntu ...

  4. 在Ubuntu20.04中继续使用linux版“网络调试助手”的方法

    在Ubuntu20.04中继续使用linux版"网络调试助手"的方法 网络调试助手是一款很好用的网络通信调试软件,对于初学网络编程的人员简单实用.windows版的调试助手在各个版 ...

  5. Ubuntu20.04中chrome显示异常问题

    1.问题描述 在ubuntu20.04中安装谷歌浏览器后,存在文字显示不出的问题,如下图: 2.解决方案 设置系统字体为中文字体 1).安装gnome-tweaks桌面配置工具. sudo -apt ...

  6. 【最简单方法】将ubuntu20.04中自带的gcc-9.4.0降级到gcc-4.8.5

    前言 之前折腾过TensorFlow相关源码库安装的版本管理.今天有这么一个需求,需要将ubuntu20.04中自带的gcc-9.4.0降级到gcc-4.8.5. 实现思路 网上大多数教程都是,通过源 ...

  7. 在ubuntu20.04中设置锁屏背景(亲测有效)

    在ubuntu20.04中设置锁屏背景 1.新建文件夹 打开终端 输入: cd ~ mkdir software cd software/ mkdir images 在根目录创建一个software文 ...

  8. Ubuntu20.04中Focal Fossa的含义

    Ubuntu20.04中Focal Fossa的含义 1.Ubuntu的命名方式 1.Ubuntu的命名方式 Ubuntu版本的命名一般包含两个部分:形容词(1)+动物名称 (2). 而Ubuntu2 ...

  9. Ubuntu20.04中安装shutter

    目录 事情起因 快速安装(命令行安装) 详细描述 官网截屏(使用shutter) 事情起因 从18.04 换成了20.04,但是自带的截屏实在太难用了.于是按照之前的方法安装了shutter,然而发现 ...

最新文章

  1. 【带你重拾Redis】Redis持久化
  2. 基于ANN的6种调制信号自动调制识别(2ASK、4ASK、2FSK、4FSK、2PSK、4PSK)
  3. java 依赖算法_java – Maven 2 – 从传递依赖版本定义依赖版本
  4. 微信平台开发1--开发者模式基本配置
  5. Ubuntu关闭anaconda自动进入base虚拟环境
  6. s3c6410存储器映射
  7. 如何强制卸载edge_如何卸载微软Windows10自带的Edge浏览器?试试这个方法
  8. UITextView使用与YYlabel使用比较
  9. 中国天气的各个城市的id,整理成json文件记录
  10. 常见测试概念-分级测试、灰度测试、AB测试
  11. 前端面试 两分钟自我介绍
  12. WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED
  13. 亚马逊云科技入门资源中心,从0到1轻松上云
  14. c++ 一个学习小组有5个人,每个人有三门课(高数、英语和C语言)的考试成绩,求每人的平均成绩。按行输出每个学生的各科成绩及平均成绩。
  15. Hibernate笔记+相关面试题
  16. 载图工具snipaste
  17. Gradient_patch_recovery, Z_Z posteriori error estimator
  18. 最全最详细!请收下这份电路反馈基础知识秘
  19. 前端页面中的iframe框架的实践
  20. 抖音下拉宝粉丝经济如何培养,转化加微信吧!

热门文章

  1. 电脑不显示我的计算机管理,固态硬盘不显示在我的电脑怎么办
  2. FTP主动模式和被动模式图解
  3. shell随机输出一个人或多个人的学号及姓名
  4. 虚拟天文台主节点成功上云
  5. 增值类短信业务图文简介
  6. html批量打印,web页面的单页打印以及批量打印实现方法
  7. 易语言大漠内存找图的实现
  8. java对接支付宝支付(手机网站支付)
  9. PHP中文转拼音及提取首字母
  10. pl2303hax已停产_Win10提示“PL2303HXA自2012已停产,请联系供货商”的解决方法