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

安装Tengine+Lua+GM实现图片自动裁剪缩放

标题使用TengineLuaGM实现图片自动裁剪缩放需求背景3个东西的下载地址lua下载二、安装与配置(亲测可用)1、软件列表(准备软件按

标题

    • 使用Tengine+Lua+GM实现图片自动裁剪缩放
      • 需求背景
  • 3个东西的下载地址
  • lua下载
      • 二、安装与配置(亲测可用)
        • 1、软件列表(准备软件 按上面下载软件即可)
        • 2、依赖包和类库
        • 3、安装Lua
          • (1)安装依赖
          • (2)安装Luan(源码编译安装)
          • (3)安装LuaJIT(源码编译安装)
          • (4)查看Lua版本
        • 4、安装Tengine
        • 5、安装GraphicsMagick
        • 6、配置Lua脚本文件
        • 7、Tengine配置
      • 三、功能测试
  • 自己安装过程(应该可以不建议试 用后面的)
  • 最终成功版


使用Tengine+Lua+GM实现图片自动裁剪缩放


需求背景

在这里插入图片描述
在这里插入图片描述

3个东西的下载地址

在这里插入图片描述

Tengine下载
在这里插入图片描述
在这里插入图片描述
Tengine tengine-master.zip 下载 因为上面下载安装时报错换这个

lua下载

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
luajit下载
在这里插入图片描述
在这里插入图片描述

GraphicsMagick下载
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
点进去后不用动大概1分左右就会跳出链接
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二、安装与配置(亲测可用)

首先上传下面内容到/opt下
在这里插入图片描述

1、软件列表(准备软件 按上面下载软件即可)


软件名称安装包下载地址
Tenginetengine-master.ziphttps://github.com/alibaba/tengine
Lualua-5.3.1.tar.gz LuaJIT-2.0.4.tar.gz(Lua依赖包)http://www.lua.org/ftp/ http://luajit.org/download.html
GraphicsMagickGraphicsMagick-1.3.18.tar.gzhttps://sourceforge.net/projects/graphicsmagick/files/graphicsmagick/

2、依赖包和类库

# 使用阿里下载源 这个下载就很快
[root@desktop-dm818pf ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
[root@desktop-dm818pf ~]# yum makecache (可能需要执行两次)
(rm -rf /var/run/yum.pid)
# 安装依赖包和类库(这个是支持各种图片的类库的依赖)
[root@desktop-dm818pf ~]# yum install -y libjpeg libjpeg-devel libpng libpng-devel giflib giflib-devel freetype freetype-devel

3、安装Lua


(1)安装依赖


[root@desktop-dm818pf ~]# yum install -y readline readline-devel gcc gcc-c++ pcre-devel openssl-devel zlib-devel

(2)安装Luan(源码编译安装)

[root@desktop-dm818pf ~]# tar zxvf lua-5.3.1.tar.gz
[root@desktop-dm818pf ~]# cd lua-5.3.1
[root@desktop-dm818pf lua-5.3.1]# make linux
[root@desktop-dm818pf lua-5.3.1]# make install

(3)安装LuaJIT(源码编译安装)

[root@desktop-dm818pf ~]# tar zxvf LuaJIT-2.0.4.tar.gz
[root@desktop-dm818pf ~]# cd ~/LuaJIT-2.0.4/
[root@desktop-dm818pf LuaJIT-2.0.4]# make
[root@desktop-dm818pf LuaJIT-2.0.4]# make install

(4)查看Lua版本

[root@bogon LuaJIT-2.0.4]# lua -v
Lua 5.3.1 Copyright (C) 1994-2015 Lua.org, PUC-Rio

4、安装Tengine

进入Tengine源码目录,使用configure配置安装路径以及需要安装的模块

[root@desktop-dm818pf ~]# unzip tengine-master.zip
[root@desktop-dm818pf ~]# cd tengine-master/[root@desktop-dm818pf tengine-master]# ./configure --prefix=/usr/local/Tengine --dso-path=/usr/local/Tengine/modules --with-ipv6 --with-http_realip_module --with-http_gzip_static_module --with-http_stub_status_module --with-http_concat_module --with-http_lua_module --http-proxy-temp-path=/var/tmp/Tengine/proxy_temp --http-fastcgi-temp-path=/var/tmp/Tengine/fastcgi_temp --http-uwsgi-temp-path=/var/tmp/Tengine/uwsgi_temp --http-scgi-temp-path=/var/tmp/Tengine/cgi_temp --http-client-body-temp-path=/var/tmp/Tengine/client_body_temp --http-log-path=/var/log/Tengine/access.log --error-log-path=/var/log/Tengine/error.log

安装Tengine (源码编译安装)

[root@desktop-dm818pf tengine-master]# make && make install

配置tengine环境变量

cd /usr/local/Tengine/sbin
pwd
[root@desktop-dm818pf tengine-master]# vim /etc/profile
# 增加tengine的环境变量
export tengine_home=/usr/local/Tengine
export PATH=$PATH:$tengine_home/sbin
[root@desktop-dm818pf tengine-master]# source /etc/profile
echo $tengine_home

启动tengine

[root@desktop-dm818pf ~]# nginx
# /lib64/是快捷方式
[root@desktop-dm818pf ~]# ln -s /usr/local/lib/libluajit-5.1.so.2 /lib64/
[root@desktop-dm818pf ~]# nginx[root@desktop-dm818pf ~]# mkdir -p /var/tmp/Tengine/client_body_temp
[root@desktop-dm818pf ~]# nginx
[root@desktop-dm818pf ~]# ps -ef | grep nginx[root@desktop-dm818pf ~]# curl http://localhost
在数组机查看 关闭防火墙
root@desktop-dm818pf ~]# systemctl stop firewalld
然后打开浏览器输入虚拟机ip地址 出现welcome to tengine成功

在这里插入图片描述

5、安装GraphicsMagick

安装依赖包和类库

下面这步前面安装过了 这里不再执行下面内容
[root@desktop-dm818pf ~]# yum install -y libjpeg libjpeg-devel libpng libpng-devel giflib giflib-devel freetype freetype-devel[root@desktop-dm818pf ~]# cd /opt
[root@desktop-dm818pf ~]# tar zxvf GraphicsMagick-1.3.18.tar.gz
[root@desktop-dm818pf ~]# cd GraphicsMagick-1.3.18/
[root@desktop-dm818pf GraphicsMagick-1.3.18]# ./configure --prefix=/usr/local/GraphicsMagick --enable-shared
[root@desktop-dm818pf GraphicsMagick-1.3.18]# make && make install
下面能出现版本信息成功
[root@desktop-dm818pf GraphicsMagick-1.3.18]# /usr/local/GraphicsMagick/bin/gm version

6、配置Lua脚本文件

文件名:ImageResizer.lua

位置:/usr/local/Tengine/lua/ImageResizer.lua

权限:可执行

cd /usr/local/Tengine/
mkdir /usr/local/Tengine/lua
vim /usr/local/Tengine/lua/ImageResizer.lua 输入下面的文件内容
ll /usr/local/Tengine/lua/ImageResizer.lua 列举查看是没有执行权限的 设置执行权限
chmod 777/usr/local/Tengine/lua/ImageResizer.lua

文件内容:


local command = "/usr/local/GraphicsMagick/bin/gm convert " .. ngx.var.request_filepath .. " -resize " .. ngx.var.width .. "x" .. ngx.var.height .. " +profile \"*\" " .. ngx.var.request_filepath .. "_" .. ngx.var.width .. "x" .. ngx.var.height .. "." .. ngx.var.ext;
os.execute(command);
ngx.exec(ngx.var.request_uri);

7、Tengine配置

文件名:nginx.conf

位置:/usr/local/Tengine/conf/nginx.conf
查看里面内容 可不执行(这一块只是普及怎么把注释给去掉查看 再来编辑也比较方便 但是没必要)
cat /usr/local/Tengine/conf/nginx.conf
cat /usr/local/Tengine/conf/nginx.conf | grep -v “#”
现在要修改文件 保险起见你应该弄个副本用cp命里 这里我就不采用了
我现在的位置是 /usr/local/Tengine/
mv ./conf/nginx.conf ./conf/nginx.conf.bak
cat ./conf/nginx.conf.bak | grep -v “#” >/usr/local/Tengine/conf/nginx.conf
cat ./conf/nginx.conf 这次里面没有任何注释内容
vim ./conf/nginx.conf
文件内容:
就是在首行添加 user root;
server块直接copy下面的跟文件里的server块并行即可 因为可以有多个server块 注释应该没影响(不排除你的好使 必要时去掉注释)

user root;# 新增一个server块
server {listen 80;server_name img.itrip.project.bdqn.cn;root /data/itrip/uploadimg;location / {root /data/itrip/uploadimg; # 站点根目录expires 1h; # 缓存时间add_header Cache-Control max-age=3600; # 缓存时间access_log /var/log/Tengine/host_access.log;}#如果 url 格式如:xxxx.gif_数字x数字.giflocation ~* ^(.+\.(jpg|jpeg|gif|png))_(\d+)x(\d+)\.(jpg|jpeg|gif|png)$ {# 这里必须设置,否则根目录,# 即 $document_root 会是 Nginx 默认的 Nginx Root/html,在 Lua 中会得不到期望的值root /data/itrip/uploadimg;# 如果文件不存在时才需要裁剪if (!-f $request_filename) { # 此HTTP Header无实际意义,用于测试add_header X-Powered-By 'Lua GraphicsMagick'; # 此 HTTP Header无实际意义,用于测试add_header file-path $request_filename; # 在编写外部 Lua脚本时,设置为off Nginx不会缓存 Lua,方便调试lua_code_cache on; # 设置原始图片路径,如:/document_root/1.gifset $request_filepath /data/itrip/uploadimg$1; set $width $3; # 设置裁剪/缩放的宽度set $height $4; # 设置裁剪/缩放的高度set $ext $5; # 图片文件格式后缀# 加载外部 Lua 文件content_by_lua_file /usr/local/Tengine/lua/ImageResizer.lua; }}}

创建站点目录:配置文件自己写的路径 也是测试图片的上传位置

mkdir -p /data/itrip/uploadimg

重启nginx:

nginx -s reload

三、功能测试

不上传403
上传图片到站点目录/data/itrip/uploadimg

[root@desktop-dm818pf ~]# yum install tree
[root@desktop-dm818pf ~]# tree /data/itrip/uploadimg
/data/itrip/uploadimg
├── 111.jpg

在浏览器地址栏输入一下内容:

http://localhost/111.jpg_800x480.jpg

自动在站点目录下生成以111.jpg为原图的800x400的缩略图。

[root@desktop-dm818pf ~]# tree /data/itrip/uploadimg
/data/itrip/uploadimg
├── 111.jpg
└── 111.jpg_800x480.jpg

在这里插入图片描述

自己安装过程(应该可以不建议试 用后面的)

可参考教程1
可参考教程2
1.准备好最开始需要下载的4个工具
在opt下创建个包叫tengine 在该目录下点击上传一次选中4个要上传的成功如下
在这里插入图片描述

在这里插入图片描述

2.打开虚拟机(连网状态)执行下面命令

# 安装依赖包和类库 执行第一条即可(一次完工省事)
yum install -y libjpeg libjpeg-devel libpng libpng-devel giflib giflib-devel freetype freetype-devel
yum install -y libjpeg libjpeg-devel
yum install -y libpng libpng-devel
yum install -y giflib giflib-devel
yum install -y freetype freetype-devel
#安装Lua 源码编译安装
yum install -y readline readline-devel gcc gcc-c++ pcre-devel openssl-devel zlib-devel
yum install -y readline readline-devel
yum install -y openssl-devel gcc-c++
# 如果你安装的时候半天安不好 ctrl+c后 记得 yum -y updata (当然这里不会出现)
cd /opt/tengine/
tar zxvf lua-5.4.0.tar.gz
tar zxvf LuaJIT-2.0.5.tar.gz
tar zxvf GraphicsMagick-1.3.35.tar.gz
cd lua-5.4.0/
make linux
make install
#安装LuaJIT 源码编译安装
cd ../LuaJIT-2.0.5/
make
make install
lua -v
# 安装Tengine 源码编译安装
#进入Tengine源码目录,使用configure配置安装路径需要安装的模块
#下面这一块内容不做尝试 说下情况 然后从下面 tengine-master.zip开始
cd ..
tar zxvf tengine-2.3.2.tar.gz
cd tengine-2.3.2/
# 下面运行这一大块应该会出错
./configure --prefix=/usr/local/Tengine --dso-path=/usr/local/Tengine/modules --with-ipv6 --with-http_realip_module --with-http_gzip_static_module --with-http_stub_status_module --with-http_concat_module --with-http_lua_module --http-proxy-temp-path=/var/tmp/Tengine/proxy_temp --http-fastcgi-temp-path=/var/tmp/Tengine/fastcgi_temp --http-uwsgi-temp-path=/var/tmp/Tengine/uwsgi_temp --http-scgi-temp-path=/var/tmp/Tengine/cgi_temp --http-client-body-temp-path=/var/tmp/Tengine/client_body_temp --http-log-path=/var/log/Tengine/access.log --error-log-path=/var/log/Tengine/error.log#因此上传tengine-master.zip(上面写了下载地址)来到/opt/tengine/解压此zipunzip tengine-master.zipcd tengine-master/./configure --prefix=/usr/local/Tengine --dso-path=/usr/local/Tengine/modules --with-ipv6 --with-http_realip_module --with-http_gzip_static_module --with-http_stub_status_module --with-http_concat_module --with-http_lua_module --http-proxy-temp-path=/var/tmp/Tengine/proxy_temp --http-fastcgi-temp-path=/var/tmp/Tengine/fastcgi_temp --http-uwsgi-temp-path=/var/tmp/Tengine/uwsgi_temp --http-scgi-temp-path=/var/tmp/Tengine/cgi_temp --http-client-body-temp-path=/var/tmp/Tengine/client_body_temp --http-log-path=/var/log/Tengine/access.log --error-log-path=/var/log/Tengine/error.log
# 我都弄到了前面命令里 这里应该不会出现下面的错误 如果只是日志的错误问题不大 执行下面命令就好了
#上面执行如果权限不够的话 chmod 777 ./configure 如果没有PCRE就 yum install pcre-devel再次执行上面
#如果没有OpenSSL就 yum install openssl yum install openssl-devel
[root@desktop-dm818pf tengine-master]# make && make install
#配置tengine环境变量
[root@desktop-dm818pf tengine-master]# vim /etc/profile
# 增加tengine的环境变量
export tengine_home=/usr/local/Tengine
export PATH=$PATH:$tengine_home/sbin
[root@desktop-dm818pf tengine-master]# source /etc/profile
#启动tengine
[root@desktop-dm818pf ~]# nginx
#
[root@desktop-dm818pf ~]# ln -s /usr/local/lib/libluajit-5.1.so.2 /lib64/
[root@desktop-dm818pf ~]# nginx[root@desktop-dm818pf ~]# mkdir -p /var/tmp/Tengine/client_body_temp
[root@desktop-dm818pf ~]# nginx[root@desktop-dm818pf ~]# curl http://localhost

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

最终成功版

中间的意外建议参考
地址一
地址二

24 yum install readline
25 yum install readline-devel
下面凡是虚拟机从网上下载的 当然了我网不行下载不下来 不建议这种方式 如果你可以下载下来记得执行下面这个命令
yum makecache 是 将服务器上的软件包信bai息 现在本地缓存,以提高 搜索 安装软件的速度
26 wget http://luajit.org/download/LuaJIT-2.0.5.tar.gz(不要再虚拟机执行 下不下来的复制链接到迅雷下载上传到虚拟机/opt下)27 cd /opt28 tar -xzf LuaJIT-2.0.5.tar.gz29 ll30 make && make install31 cd LuaJIT-2.0.5/32 make && make install33 cd ..这里同理下载好上传到/opt wget http://tengine.taobao.org/download/tengine-2.2.0.tar.gz34 tar -xzf tengine-2.2.0.tar.gz35 cd tengine-2.2.036 ./configure --prefix=/usr/local/tengine --dso-path=/usr/local/tengine/modules --with-http_realip_module --with-http_gzip_static_module --with-http_stub_status_module --with-http_concat_module --with-http_lua_module --http-proxy-temp-path=/var/tmp/Tengine/proxy_temp --http-fastcgi-temp-path=/var/tmp/Tengine/fastcgi_temp --http-uwsgi-temp-path=/var/tmp/Tengine/uwsgi_temp --http-scgi-temp-path=/var/tmp/Tengine/cgi_temp --http-client-body-temp-path=/var/tmp/Tengine/client_body_temp --http-log-path=/var/log/Tengine/access.log --error-log-path=/var/log/Tengine/error.log//这里错问题不大37 make && make install38 ll39 cd ~40 lua -v41 42 cd /usr/local/tengine/43 ll44 sbin/nginx45 ln -s /usr/local/lib/libluajit-5.1.so.2 /lib64/libluajit-5.1.so.246 sbin/nginx47 mkdir -p /var/tmp/Tengine/client_body_temp48 sbin/nginx49 再次启动后浏览器访问你的ip 页面出现Welcome Tengine则成功50 yum -y install libjpeg libjpeg-devel libpng libpng-devel giflib giflib-devel freetype freetype-devel51wget https://sourceforge.net/projects/graphicsmagick/files/graphicsmagick/1.3.26/GraphicsMagick-1.3.26.tar.gz/download 这里面就不用这个了 用前面我们下载的就好了56 tar -xzf GraphicsMagick-1.3.35.tar.gz57 cd GraphicsMagick-1.3.35/58 cd /usr/local/GraphicsMagick/59 ./configure --prefix=/usr/local/GraphicsMagick --enable-shared60 make && make install//验证是否成功 有yes 有no61 cd /usr/local/GraphicsMagick /bin/62 ./gm version修改tengine配置文件64 cd /usr/local/tengine/conf/65 cp nginx.conf nginx.conf.bak66 cd nginx.conf67 vim nginx.conf
修改内容
user root;(大概第二行 1.把user改为root用户)
把这一块弄成下面即可location / {root /home/hadoop/images;index index.html index.htm;}location /lua/ {default_type 'text/html';content_by_lua 'ngx.say("

hello, ttlsa lua

")';}location ~* ^(.+\.(jpg|jpeg|gif|png))_(\d+)x(\d+)\.(jpg|jpeg|gif|png)$ {root /home/hadoop/images; if (!-f $request_filename) { lua_code_cache off; set $request_filepath /home/hadoop/images/$1; set $width $3; set $height $4; set $ext $5; content_by_lua_file /usr/local/tengine/lua/ImageResizer.lua;}} 70 cd /usr/local/tengine/71 mkdir lua72 cd lua/73 vi ImageResizer.lualocal command = "/usr/local/GraphicsMagick/bin/gm convert " .. ngx.var.request_filepath .. " -resize " .. ngx.var.width .. "x" .. ngx.var.height .. " +profile \"*\" " .. ngx.var.request_filepath .. "_" .. ngx.var.width .. "x" .. ngx.var.height .. "." .. ngx.var.ext;
os.execute(command);
ngx.exec(ngx.var.request_uri);# cd /usr/local/tengine/sbin/
# ./nginx 因为前面测试的时候我们启动过了 再次启动必然报错
# ./nginx -t #查看编译是否成功
# ./nginx -s reload #重启nginx
上传几张图片到opt下cd /opt82 mkdir /home/hadoop/images 这个我们配置的地址83 mkdir -p /home/hadoop/images84 mv 1.jpg 2.jpg 3.jpg /home/hadoop/images/去测试吧 成功

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


推荐阅读
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • 本文介绍了Android 7的学习笔记总结,包括最新的移动架构视频、大厂安卓面试真题和项目实战源码讲义。同时还分享了开源的完整内容,并提醒读者在使用FileProvider适配时要注意不同模块的AndroidManfiest.xml中配置的xml文件名必须不同,否则会出现问题。 ... [详细]
  • Week04面向对象设计与继承学习总结及作业要求
    本文总结了Week04面向对象设计与继承的重要知识点,包括对象、类、封装性、静态属性、静态方法、重载、继承和多态等。同时,还介绍了私有构造函数在类外部无法被调用、static不能访问非静态属性以及该类实例可以共享类里的static属性等内容。此外,还提到了作业要求,包括讲述一个在网上商城购物或在班级博客进行学习的故事,并使用Markdown的加粗标记和语句块标记标注关键名词和动词。最后,还提到了参考资料中关于UML类图如何绘制的范例。 ... [详细]
  • 本文介绍了GTK+中的GObject对象系统,该系统是基于GLib和C语言完成的面向对象的框架,提供了灵活、可扩展且易于映射到其他语言的特性。其中最重要的是GType,它是GLib运行时类型认证和管理系统的基础,通过注册和管理基本数据类型、用户定义对象和界面类型来实现对象的继承。文章详细解释了GObject系统中对象的三个部分:唯一的ID标识、类结构和实例结构。 ... [详细]
  • CentOS7.8下编译muduo库找不到Boost库报错的解决方法
    本文介绍了在CentOS7.8下编译muduo库时出现找不到Boost库报错的问题,并提供了解决方法。文章详细介绍了从Github上下载muduo和muduo-tutorial源代码的步骤,并指导如何编译muduo库。最后,作者提供了陈硕老师的Github链接和muduo库的简介。 ... [详细]
  • 本文介绍了5个基本Linux命令行工具的现代化替代品,包括du、top和ncdu。这些替代品在功能上进行了改进,提高了可用性,并且适用于现代化系统。其中,ncdu是du的替代品,它提供了与du类似的结果,但在一个基于curses的交互式界面中,重点关注占用磁盘空间较多的目录。 ... [详细]
  • YOLOv7基于自己的数据集从零构建模型完整训练、推理计算超详细教程
    本文介绍了关于人工智能、神经网络和深度学习的知识点,并提供了YOLOv7基于自己的数据集从零构建模型完整训练、推理计算的详细教程。文章还提到了郑州最低生活保障的话题。对于从事目标检测任务的人来说,YOLO是一个熟悉的模型。文章还提到了yolov4和yolov6的相关内容,以及选择模型的优化思路。 ... [详细]
  • MACElasticsearch安装步骤及验证方法
    本文介绍了MACElasticsearch的安装步骤,包括下载ZIP文件、解压到安装目录、启动服务,并提供了验证启动是否成功的方法。同时,还介绍了安装elasticsearch-head插件的方法,以便于进行查询操作。 ... [详细]
  • phpcomposer 那个中文镜像是不是凉了 ... [详细]
  • Java程序设计第4周学习总结及注释应用的开发笔记
    本文由编程笔记#小编为大家整理,主要介绍了201521123087《Java程序设计》第4周学习总结相关的知识,包括注释的应用和使用类的注释与方法的注释进行注释的方法,并在Eclipse中查看。摘要内容大约为150字,提供了一定的参考价值。 ... [详细]
  • Sleuth+zipkin链路追踪SpringCloud微服务的解决方案
    在庞大的微服务群中,随着业务扩展,微服务个数增多,系统调用链路复杂化。Sleuth+zipkin是解决SpringCloud微服务定位和追踪的方案。通过TraceId将不同服务调用的日志串联起来,实现请求链路跟踪。通过Feign调用和Request传递TraceId,将整个调用链路的服务日志归组合并,提供定位和追踪的功能。 ... [详细]
  • 本文介绍了在Linux系统下进行文件压缩与解压的常用命令,包括tar命令的基本使用和参数,以及gzip、bz2、compress、rar和zip等不同格式的压缩与解压方法。同时还提供了常见的压缩文件后缀名及对应的解压命令,方便用户进行文件的压缩和解压操作。 ... [详细]
  • 本文介绍了在Ubuntu系统中清理残余配置文件和无用内容的方法,包括清理残余配置文件、清理下载缓存包、清理不再需要的包、清理无用的语言文件和清理无用的翻译内容。通过这些清理操作可以节省硬盘空间,提高系统的运行效率。 ... [详细]
  • 本文介绍了在PostgreSQL中批量导入数据时的优化方法。包括使用unlogged表、删除重建索引、删除重建外键、禁用触发器、使用COPY方法、批量插入等。同时还提到了一些参数优化的注意事项,如设置effective_cache_size、shared_buffer等,并强调了在导入大量数据后使用analyze命令重新收集统计信息的重要性。 ... [详细]
author-avatar
1hhhhhhhhhhh0_196_217
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有