`
liu86th
  • 浏览: 118374 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

[原]centos搭建EvaThumber自动生成缩略图

 
阅读更多

EvaThumber部署文档

[1] 安装curl,composer.phar组件

yum -y install curl ##已安装跳过
cd /usr/local/bin
alias php='/usr/local/php/bin/php'  ##已映射跳过
curl -s http://getcomposer.org/installer | php
chmod a+x composer.phar
alias composer='/usr/local/bin/composer.phar'

 

[2] 安装EvaThumber

cd /home/wwwroot/img0.xxx.com
git clone git://github.com/AlloVince/EvaThumber.git
mv EvaThumber evathumber ##重命名符合各个项目命名
cd evathumber
composer install
composer -V ##检查是否安装成功

 

[3] 配置Nginx的URL重写

1>mkdir /usr/local/nginx/conf/img0.xxx.com.conf

2>log_format  img0.xxx.com.conf  '$remote_addr - $remote_user [$time_local] "$request" '
                                  '$status $body_bytes_sent "$http_referer" '
                                  '"$http_user_agent" $http_x_forwarded_for';
server
{
    listen       80;
    server_name img0.xxx.com;
    index index.html index.htm index.php default.html default.htm default.php;
    root  /home/wwwroot/evathumber/;
    include img0.xxx.com.conf;
    location / {
        if (!-e $request_filename){
            rewrite ^/(.*)$ /index.php last;
        }
    }
    location ~ .*\.(php|php5)?$
    {
        try_files $uri =404;
        include fastcgi_params;
        fastcgi_pass  unix:/tmp/php-cgi.sock;
        fastcgi_index index.php;
        include fcgi.conf;
        fastcgi_param  SCRIPT_FILENAME  /home/wwwroot/evathumber/$fastcgi_script_name;
    }
    access_log  /home/wwwlogs/test.img.com.log  test.img.xxx.com;
}

 

[4] EvaThumber添加项目配置

cd /home/wwwroot/evathumber/
cp config.default.php config.local.php
vim config.local.php
//输入格式:
return array(
    'thumbers' => array(
        'item' => array(
            'source_path' => '/home/wwwroot/test.img.com/item/upload',
            'system_file_encoding' => 'UTF-8',
            'zip_file_encoding' => 'GB2312',
            'thumb_cache_path' => '/home/wwwroot/test.img.com/item/upload/thumb',
		)
	)
);

 

[5] 修改EvaThumber项目,添加可以识别类似http://img0.xxx.com/thumb/item/logo-20140530-538842f8990b8,w_400.jpg

cd /home/wwwroot/evathumber/src/EvaThumber
vim Url.php
//修改下面两个方法
public function getImagePath()
{
        $urlImagePath = $this->getUrlImagePath();
        $urlImagePathArray = explode('/', ltrim($urlImagePath, '/'));
        $urlImageOtherArray = explode('-', ltrim($urlImagePath, '/'));
        //echo '<pre>';
        //print_r($urlImageOtherArray);
        if(count($urlImageOtherArray) == 0) {
            if(count($urlImagePathArray) < 4){
                return '';
            }
            //remove url key
            array_shift($urlImagePathArray);
            //remove imagename
            array_pop($urlImagePathArray);
            $this->imagePath = '/'. implode('/', $urlImagePathArray);
        } else {
            $endNode = end($urlImagePathArray);
            $leftNode = explode(",", $endNode);
            $childNode = explode("-", $leftNode[0]);
            array_pop($childNode);
            $this->imagePath = '/' . implode('/', $childNode) . '/';
        }
        return $this->imagePath;
}

public function getImageName()
{
        $urlImageName = $this->getUrlImageName();
        if(!$urlImageName){
            return $this->imageName = '';
        }

        $fileNameArray = explode('.', $urlImageName);
        if(!$fileNameArray || count($fileNameArray) < 2){
            return $this->imageName = '';
        }
        $fileExt = array_pop($fileNameArray);
        $fileNameMain = implode('.', $fileNameArray);
        $fileNameArray = explode(',', $fileNameMain);
        if(!$fileExt || !$fileNameArray || !$fileNameArray[0]){
            return $this->imageName = '';
        }
        $fileNameMain = array_shift($fileNameArray);
        $extNameList = explode("-", $fileNameMain); //update by kewen
        if(count($extNameList) > 0) {
            $this->imageName = end($extNameList) . '.' . $fileExt;
        } else {

            $this->imageName = $fileNameMain . '.' . $fileExt;
        }
        return $this->imageName;
        //return $this->imageName = $fileNameMain . '.' . $fileExt;
}

 

 

分享到:
评论

相关推荐

    centos搭建安卓模拟器实现自动化抓包分析

    本文将详细介绍如何在CentOS操作系统上搭建安卓模拟器,实现自动化抓包分析,这对于安卓开发人员和APP接入服务分析至关重要。 首先,我们需要了解`AVD (Android Virtual Device)`。AVD是Android SDK的一部分,它...

    Centos搭建EasyDarwin流媒体服务器

    ### Centos搭建EasyDarwin流媒体服务器的知识点详解 #### 一、EasyDarwin简介与应用场景 EasyDarwin是一款开源的轻量级流媒体服务器,主要用于实时音视频传输,支持RTSP、RTMP、HLS等多种协议。它适用于监控、直播...

    CentOS搭建PHP服务器

    二、CentOS 7 搭建 FTP 服务器 在CentOS 7中,需要安装vsftpd以搭建FTP服务器。使用命令`yum install vsftpd.x86_64`安装vsftpd。然后,使用命令`rpm -ql vsftpd`查看vsFtpd安装情况。接着,使用命令`yum install ...

    Centos6搭建socket5教程

    centos6下搭建socket5的教程非常全面,拥有这个教程可以让你快速搭建,省去很多碰壁的麻烦

    centos7搭建mysql集群

    ### CentOS 7 搭建 MySQL 集群详解 #### 一、概述 随着业务规模的扩大,单一数据库服务器往往难以满足高并发、大数据量的需求。为了提高系统的可用性和性能,采用 MySQL 集群成为一种常见的解决方案。本文将详细...

    Centos8 搭建日志服务器rsyslog+loganalyzer

    CentOS8 搭建日志服务器 rsyslog+loganalyzer CentOS 8 是一个流行的 Linux 发行版,rsyslog 是一个强大的日志服务器软件,loganalyzer 是一个基于 Web 的日志分析工具。本文将指导您如何在 CentOS 8 上搭建一个...

    centos 7.9服务器 离线 搭建svn服务器

    centos 7.9服务器 离线 搭建svn服务器 ,该文章适用于 开发人员 实施人员 项目经理用于项目文档管理 代码管理,而不指定如何在centos7.9环境下离线搭建svn服务器,因为大多数的网站只是介绍yum install 的方式,但是...

    Centos搭建KMS服务器.

    Centos搭建KMS服务器

    Centos8 搭建DNS服务器

    Centos8 搭建DNS服务器 一、 DNS概述 DNS(Domain Name System)是域名管理系统,负责将人类易于记忆的域名转换为机器易于识别的IP地址。域名由特定的格式组成,用来表示互联网中某一台计算机或者计算机组的名称,...

    CentOS搭建FTP服务器

    CentOS搭建FTP服务器 本文详细描述了如何在CentOS操作系统上安装部署FTP服务器。

    Centos8搭建本地yum源与局域网yum源.docx

    - 生成repodata:分别运行`createrepo /media/CentOS8/AppStream/`和`createrepo /media/CentOS8/BaseOS/`,这将自动生成repodata,方便YUM进行索引。 - 创建缓存:`yum makecache`,成功后会看到相关信息。 5. *...

    在Centos系统搭建Ostube2.6开源flv流媒体服务器

    在Centos系统上搭建Ostube2.6开源FLV流媒体服务器,是一项涉及软件配置、网络设置与优化的任务,适合于对视频流媒体服务有需求的企业或个人开发者。Ostube2.6是一款功能丰富的开源视频管理系统,支持多种视频格式如...

    centos7环境下搭建nas服务并完成数据迁移

    ### CentOS 7 环境下 NAS 服务搭建与数据迁移详细步骤 #### 一、NAS 服务端配置 在 CentOS 7 系统中搭建 NAS (Network Attached Storage) 服务,可以方便地实现局域网内的数据共享及管理。本部分将详细介绍如何在 ...

    centos搭建的solr服务器

    centos搭建的solr服务器下搭建好的solr服务器,可以直接使用!!

    Centos搭建前端【nodejs】开发环境.docx

    至此,你已经成功在CentOS上搭建了一个基本的前端开发环境,可以开始使用Node.js、Vue.js和VSCode进行项目开发了。当然,这个环境可以根据个人需求进一步定制,例如安装其他依赖、配置构建工具或者设置自动格式化等...

    CentOS搭建RHCS-HA

    RHCS 基于CentOS的安装方法,RHCS 基于CentOS的安装方法,RHCS 基于CentOS的安装方法,RHCS 基于CentOS的安装方法

    centos搭建hadoop

    如何在虚拟机上使用三台centos平台搭建hadoop服务架构

    centos7搭建基于strongswan ipsec的 l2tp服务器

    centos7下搭建ipsec l2tp服务器,使用strongswan来构建ipsec.

    虚拟机Centos7搭建MQTT服务

    在本文中,我们将详细介绍如何在虚拟机CentOS7上搭建MQTT服务。MQTT(Message Queuing Telemetry Transport)是一种轻量级的发布/订阅消息协议,常用于物联网(IoT)设备之间的通信。CentOS7是一个稳定的Linux发行版,...

Global site tag (gtag.js) - Google Analytics