Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >CentOS 5下安装tfs并使用Nginx做访问

CentOS 5下安装tfs并使用Nginx做访问

作者头像
星哥玩云
发布于 2022-07-03 02:08:09
发布于 2022-07-03 02:08:09
7960
举报
文章被收录于专栏:开源部署开源部署

操作系统环境

[root@localhost ~]# uname -a Linux localhost.localdomain 2.6.18-371.9.1.el5 #1 SMP Tue Jun 10 17:49:56 EDT 2014 x86_64 x86_64 x86_64 GNU/Linux [root@localhost ~]# cat /etc/issue CentOS release 5.10 (Final) Kernel \r on an \m

[root@localhost ~]#

PS:以下操作我只在如上系统进行验证使用,仅供参考

1.更新yum源

CentOS 5.6 更新yum源

我这里使用的搜狐的源,博友们可以自己穿件源

cd /etc/yum.repos.d mv CentOS-Base.repo CentOS-Base.repo.save wget http://mirrors.sohu.com/help/CentOS-Base-sohu.repo yum update yum makecache

2.安装高版本mysql  wget http://centos.ustc.edu.cn/epel/5/x86_64/epel-release-5-4.noarch.rpm  wget http://rpms.famillecollet.com/enterprise/5/remi/x86_64/remi-release-5.9-1.el5.remi.noarch.rpm  rpm -ivh *.rpm  echo 'priority=1' >> /etc/yum.repos.d/remi.repo  echo 'priority=1' >> /etc/yum.repos.d/epel-testing.repo  echo 'priority=1' >> /etc/yum.repos.d/epel.repo  检查mysql 是否有可升级版本。发现有版本可以升级到mysql5.5.11。 yum --enablerepo=remi list mysql 删除操作系统自带的低版本的mysql yum remove mysql 通过新yum源安装高版本的mysql yum -y --enablerepo=remi install mysql mysql-server mysql.x86_64  mysql-devel.x86_64

3.安装支持包 automake autoconfig 和 libtool 验证automake是否安装rpm -qa |grep automake 验证autoconfig是否安装 /usr/bin/autoconf -V auotmake 1.4以上版本需要安装libuuid-devel,zlib-devel,mysql-devel三个开发包 查看以安装的rpm包:rpm -qa|grep 包名 rpm -qa|grep libuuid rpm -qa|grep zlib-devel rpm -qa|grep mysql-devel 如果你使用RedHat5.x和Centos 5.x会找不到libuuid-devel包,请看下面。 RedHat5.x和Centos 5.x 安装:  yum install uuidd 安装其它支持包: yum install libtool zlib-devel 下面的readline包系统自带了,ncurses包系统默认没有,我也安装,你安不安自已定吧。 [root@locatfs local]# yum install readline-devel readline [root@locatfs local]# yum install ncurses-devel.x86_64  ncurses.x86_64

4.安装ext4格式工具 [root@locatfs local]# yum install  e4fsprogs e4fsprogs-devel    加载ext4模块,让系统支持ext4文件系统 [root@locatfs local]#  modprobe ext4

5.安装tb-common-utils tb-common-utils是淘宝开发使用的一个公共库 tbsys是对操作系统服务的封装,tbnet则提供了网络框架。 tbnet和tbsys被作为tb-common-utils被开源了,可以访问  http://code.taobao.org/trac/tb-common-utils/wiki

TFS依赖于底层开发包tbnet。tb-common-utils里面含有tbsys和tbnet 首先编译安装tblib(tb-common-utils),这里我安装在和tfs同一个路径。 (http://code.taobao.org/svn/tb-common-utils/trunk/ tb-common-utils) gtest库是单元测试框架,下面先安装安装gtest 下载gtest见本文下面的资源,

[root@locatfs local]# unzip gtest-1.6.0.zip [root@locatfs local]# cd gtest-1.6.0 [root@locatfs local]# ./configure [root@locatfs local]# make [root@locatfs local]# cd make/ [root@locatfs local]# make [root@locatfs local]# ./sample1_unittest

安装tb-common-utils 新建一个下载目录,并进入这个目录。下载源码: 这里下载版本18的因为淘宝开发的东西不往下兼容 svn checkout -r 18 http://code.taobao.org/svn/tb-common-utils/trunk/ tb-common-utils 编译和安装tbnet, tbsys库 ps:建议将这行命令直接写入~/.bash_profile,然后执行“. ~/.bash_profile” 修改: [root@locatfs local]# vi /etc/profile 添加:(计划安装在/usr/local/tb/lib目录) export TBLIB_ROOT=/usr/local/tb/lib 生效: [root@locatfs local]# source /etc/profile [root@locatfs local]# cd tb-common-utils/ [root@locatfs local]# chmod +x *.sh [root@locatfs local]# ./build.sh 安装完成后,在TBLIB_ROOT表示的目录(/usr/local/tb/lib),应该可以看到include、lib 两个目录。

6.编译安装TFS---- 编译安装tfs  (安装到 /usr/local/tfs目录) [root@locatfs local]# svn checkout http://code.taobao.org/svn/tfs/tags/release-2.2.10 tfs-2.2.10  进入 tfs 目录 [root@locatfs local]# cd tfs-2.2.10/ [root@locatfs local]# chmod +x *.sh [root@locatfs local]# ./build.sh  init [root@locatfs local]# ./configure --prefix=/usr/local/tfs --without-tcmalloc [root@locatfs local]# make [root@locatfs local]# make install

7.安装nginx-tfs模块

TFS模块使用了一个开源的JSON库来支持JSON,先安装yajl-2.0.1

------------------------------------------分割线------------------------------------------

yajl-2.0.1 与 gtest 下载

免费下载地址在 http://linux.linuxidc.com/

用户名与密码都是www.linuxidc.com

具体下载目录在 /2014年资料/7月/31日/CentOS 5下安装tfs并使用Nginx做访问

下载方法见 http://www.linuxidc.com/Linux/2013-07/87684.htm

------------------------------------------分割线------------------------------------------

[root@localhost opt]# cd lloyd-yajl-12ee82a/ [root@localhost lloyd-yajl-12ee82a]# ./configure --prefix=/usr/local/yajl && make && make install

 报错

== removing old build files == running CMake in build directory ./configure: line 41: cmake: command not found The "cmake" program is required to configure yajl. It's available from most ports/packaging systems and http://cmake.org

解决办法:

yum -y install cmake

继续编译通过

下载tengine此软件是nginx的升华版本,在nginx上二次开发 wget http://tengine.taobao.org/download/tengine-2.0.3.tar.gz 下载nginx-tfs模块 wget https://codeload.github.com/alibaba/nginx-tfs/zip/master 安装tengine并添加ngix-tfs模块 [root@localhost tengine-2.0.3]# ./configure --prefix=/usr/local/nginx --add-module=/opt/nginx-tfs-master && make && make install 报错 ./configure: error: the HTTP rewrite module requires the PCRE library. You can either disable the module by using --without-http_rewrite_module option, or install the PCRE library into the system, or build the PCRE library statically from the source with nginx by using --with-pcre=<path> option. 解决办法 [root@localhost tengine-2.0.3]# yum -y install pcre-devel 继续编译tengine [root@localhost tengine-2.0.3]# ./configure --prefix=/usr/local/nginx --add-module=/opt/nginx-tfs-master && make && make install 启动nginx报错 /usr/local/nginx/sbin/nginx: error while loading shared libraries: libyajl.so.2: cannot open shared object file: No such file or directory xx解决办法 [root@localhost tengine-2.0.3]# ln -s /usr/local/lib/libyajl.so.2 /usr/lib64/libyajl.so.2 再次测试成功 启动nginx [root@localhost tengine-2.0.3]# /usr/local/nginx/sbin/nginx

8.使用nginx访问上传图片路径

修改nginx配置文件

在nginx的http模块中添加upstream

tfs_upstream tfs_ns {         server 192.168.1.230:8108;         type ns;     }

在nginx的server模块中添加tfs_pass

server {         listen      80;         server_name  localhost; tfs_keepalive max_cached=100 bucket_count=10; tfs_log "pipe:/usr/sbin/cronolog -p 30min /var/log/nginx/logs/cronolog/%Y/%m/%Y-%m-%d-%H-%M-tfs_access.log";

 location  ~ .*\.(html|htm|gif|jpg|jpeg|bmp|png|ico|txt|js|css)$ {               tfs_pass tfs://tfs_ns;           }

        }

使用url访问图片

例如上传的返回值是xxxxxxxxxxxxxxxxxxxxxx.jpg

  访问使用 http:/NameserverIP/v1/tfs/xxxxxxxxxxxxxxxxxxxxxx.jpg

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
flask框架(二)配套代码
1、cookie.py """ - 解释: 用来保持服务器和浏览器交互的状态的, 由服务器设置,存储在浏览器 - 作用: 用来做广告推送 - cookie的设置和获取 - 设置cookie: response.set_cookie(key,value,max_age) - max_age: 表示cookie在浏览器的存储时间,单位是秒 - 获取cookie: request.cookies.get("key") """ from flask import Flask, make_res
小闫同学啊
2019/07/18
1.4K0
flask基础之一
如果页面想要做SEO优化的话,那么推荐使用path的形式,反之就是查询字符串的形式 练习
py3study
2020/01/06
8600
Flask框架(一)
Flask是一个python编写的web微框架,使用flask我们可以使用python快速实现一个网站或web服务。
GH
2020/03/19
7860
Flask入门很轻松(三)—— 模板
转载请在文章开头附上原文链接地址:https://www.cnblogs.com/Sunzz/p/10959471.html
py3study
2020/01/15
2.3K0
web开发框架Flask学习一
flask框架 用Python做Web开发的三大框架特点 Django 主要特点是大而全,集成了很多的组件,例如:Admin Form Model等,不管你用不用的到,他都会为 你提供,通常用于大型Web应用,由于内部组件足够强大,所以使用Django可以做到一气呵成,    Django的优点是大而全,缺点也就露出来,这么多的资源一次性全部加载,肯定会造成cpu资源的浪费 flask
py3study
2020/01/19
8530
flask 教程_python flask快速入门与进阶
Flask是一个轻量级的可定制框架,使用Python语言编写,较其他同类型框架更为灵活、轻便、安全且容易上手。它可以很好地结合MVC模式进行开发,开发人员分工合作,小型团队在短时间内就可以完成功能丰富的中小型网站或Web服务的实现。另外,Flask还有很强的定制性,用户可以根据自己的需求来添加相应的功能,在保持核心功能简单的同时实现功能的丰富与扩展,其强大的插件库可以让用户实现个性化的网站定制,开发出功能强大的网站。
全栈程序员站长
2022/09/20
2.6K0
【Flask】Python基于Flask应用
比如: 使用 Flask 开发数据库的时候,具体是使用 SQLAlchemy 还是MongoEngine,选择权完全掌握在你自己的手中。
天天Lotay
2023/05/07
9340
【Flask】Python基于Flask应用
Flask 学习篇二:学习Flask过程中的记录
Flask学习笔记: GitHub上面的Flask实践项目 https://github.com/SilentCC/FlaskWeb 1.Application and Request Context(上下文) 在Flask 中,一般一个view function(视图函数)会处理一个请求 Flask 中提供request context.保证全局只有一个线程的request,而不会同时出现两个request. Application and Request Context 一共有四种
ShenduCC
2018/04/27
1.8K0
Flask入门
本文参考博客:https://blog.csdn.net/xiaoyuan511?t=1 Flask是轻量级的Web开发框架,只具备基本的核心内容-->视图和路由,其他的功能都需要第三方或者自己手写
py3study
2020/01/16
5510
Flask快速入门,知识整理
一、Flask介绍(轻量级的框架,非常快速的就能把程序搭建起来)   Flask是一个基于Python开发并且依赖jinja2模板和Werkzeug WSGI服务的一个微型框架,对于Werkzeug本质是Socket服务端,其用于接收http请求并对请求进行预处理,然后触发Flask框架,开发人员基于Flask框架提供的功能对请求进行相应的处理,并返回给用户,如果要返回给用户复杂的内容时,需要借助jinja2模板来实现对模板的处理,即:将模板和数据进行渲染,将渲染后的字符串返回给用户浏览器。 “微”(mic
用户1214487
2018/01/24
2.2K0
Flask快速入门,知识整理
Python Flask 学习笔记 —— 二(路由,视图函数,jinjia2语法)
客户端(Web 游览器)发送网络请求到 Web 服务器,Web 服务器再把请求转发给 Flask 程序实例。程序实例需要知道每个 URL 请求运行哪些代码。所以保存了一个 URL 到 Python 函数的映射关系。处理 URL 和函数之间的关系的程序叫做 路由
Gorit
2021/12/08
1.9K0
Python Flask 学习笔记 —— 二(路由,视图函数,jinjia2语法)
Flask基础入门学习笔记-1
描述:Flask 官方介绍Web Develoment one drop at a time,实际上它是一个基于Python开发的Web轻量级框架; 通过Flask和各种插件的配合使用,以新的框架实现Web前后端联合开发。
全栈工程师修炼指南
2020/10/23
1.8K0
Flask基础入门学习笔记-1
Flask视图_
版权声明:Copyright © https://blog.csdn.net/zzw19951261/article/details/80461047
zhengzongwei
2019/07/30
7120
Python 【web框架】之Flask
flask 是Python实现的轻量级web框架。没有表单,orm等,但扩展性很好。很多Python web开发者十分喜欢。本篇介绍flask的简单使用及其扩展。
用户1432189
2018/09/05
1.5K0
Python 【web框架】之Flask
Flask路由分发及转换器
在测试功能前,首先在浏览器中,右击鼠标选择检查或 F12 打开浏览器调试工具。进入 NetWork 选项。
忆想不到的晖
2021/12/06
8420
Flask路由分发及转换器
18. Flask 模板 - 变量、过滤器
在大型应用中,把业务逻辑和表现内容放在一起,会增加代码的复杂度和维护成本。这次的模板内容主要的作用即是承担视图函数的另一个作用,即返回响应内容。
Devops海洋的渔夫
2022/01/14
8610
18. Flask 模板 - 变量、过滤器
Flask 快速入门
Flask是一个Python编写的Web 微框架,让我们可以使用Python语言快速实现一个网站或Web服务。本文参考自Flask官方文档,大部分代码引用自官方文档。 安装Flask 首先我们来安装F
乐百川
2018/01/09
1.6K0
Flask 快速入门
flask框架(二)
设置cookie:response.set_cookie(key,value,max_age)
小闫同学啊
2019/07/18
1.3K0
flask框架(二)
flask_study学习笔记
使用pycharm创建一个新的虚拟环境,在env环境下使用pip install flask安装即可
Echo_Wish
2023/11/30
3230
flask_study学习笔记
测试开发:10分钟Flask快速入门!
Flask是一个基于Python开发并且依赖jinja2模板和Werkzeug WSGI服务的一个微型框架,对于Werkzeug本质是Socket服务端,其用于接收http请求并对请求进行预处理,然后触发Flask框架,开发人员基于Flask框架提供的功能对请求进行相应的处理,并返回给用户,如果要返回给用户复杂的内容时,需要借助jinja2模板来实现对模板的处理,即:将模板和数据进行渲染,将渲染后的字符串返回给用户浏览器。
测试开发技术
2022/09/28
5880
相关推荐
flask框架(二)配套代码
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档