首页 文章 精选 留言 我的

精选列表

搜索[容器配置],共10000篇文章
优秀的个人博客,低调大师

阿里云系列——6.给你的域名使用CDN加速(详细步骤+简单配置

网站部署之~阿里云系列汇总http://www.cnblogs.com/dunitian/p/4958462.html 进入管理页面:https://home.console.aliyun.com/ 选择全部域名,选择你需要解析的域名 选择cdn加速 一般人用免费,土豪自己买 新建一个Bucket OSS提供ACL(Access Control List)权限控制方法,OSS ACL提供bucket级别的权限访问控制,bucket目前有三种访问权限:public-read-write,public-read和private,它们的含义如下: public-read-write:任何人(包括匿名访问)都可以对该bucket中的object进行PUT,Get和Delete操作;所有这些操作产生的费用由该bucket的创建者承担,请慎用该权限。 public-read:只有该bucket的创建者可以对该bucket内的object进行写操作(包括Put和Delete Object);任何人(包括匿名访问)可以对该bucket中的object进行读操作(Get Object)。 private:只有该bucket的创建者可以对该bucket内的object进行读写操作(包括Put、Delete和Get Object);其他人无法访问该bucket内的object。 进入Bucket管理页面 开通日记记录 防盗链设置 设置规则详解 控制台中每个Refer白名单使用换行符分隔,支持通配符(*,?)。 用户只有通过URL签名或者匿名访问Object时,才会做防盗链验证。请求的Header中有“Authorization”字段的,不会做防盗链验证。 白名单为空时,不会检查referer字段是否为空(不然所有的请求都会被拒绝)。 白名单不为空,且设置了不允许referer字段为空的规则;则只有referer属于白名单的请求被允许,其他请求(包括referer为空的请求)会被拒绝。 白名单不为空,但设置了允许referer字段为空的规则;则referer为空的请求和符合白名单的请求会被允许;其他请求都会被拒绝。**如果要使用浏览器直接浏览,那么需要设置允许referer字段为空**。 Bucket的三种权限(私有private、公共读public-read、公共读写public-read-write)都会检查referer字段。 缓存自动清理 其他扩展:http://help.aliyun.com/product/8314910_oss.html 客户端:http://market.aliyun.com/products/53690006/cmgj000281.html?spm=5176.2020520105.113.2.tWczLO

优秀的个人博客,低调大师

alpine镜像启动的容器内运行二进制文件出现:/bin/sh: xxx not found

渡劫再次踩坑集锦,还是记录下,也分享给各位受困扰的小伙伴们。 简单说: 在alpine镜像内,运行在centos下编译的go二进制文件出现/bin/sh xxx not found 环境: 镜像:alpine3.9 运行命名: 自己编译的promethus exporter 直接上解决过程,和说明吧,如图: 这种情况是因为动态链接库位置错误导致的,alpine镜像使用的是musl libc而不是gun libc。因而动态链接库的位置不一致。 而一般二进制文件在linux系统下编译,动态链接库是到/lib64目录下的,在alpine镜像内无/lib64目录(参见)。 可通过ldd查看二进制文件的链接库验证。解决版本是将动态库链接到需要的位置。 在基础镜像内执行:mkdir/lib64 &&ln-s/lib/libc.musl-x86_64.so.1 /lib64/ld-linux-x86-64.so.2 另外引发另一个规范的问题,其实这个问题已经踩过一次了,并且放在基础的Dockerfile内,因为是监控镜像就未按照线上流程,直接在alpine镜像打包。如果使用之前的基础镜像可避免类似的问题。 强烈建议:使用alpine镜像做基础镜像的项目,在直接使用alpine镜像之前,进行一次初始化,然后用作通用的基础镜像,如下是之前的基础镜像,其实已经考虑了动态库的问题。 所以是再次做了无用功,浪费了一个下午和一个晚上。。。。 参考文档 https://stackoverflow.com/questions/34729748/installed-go-binary-not-found-in-path-on-alpine-linux-docker https://github.com/docker-library/openjdk/issues/77 https://github.com/gliderlabs/docker-alpine/issues/11 https://github.com/sgerrand/alpine-pkg-glibc/releases 分割线 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 参考:https://www.cnblogs.com/tongongV/p/10744050.html d-linux.so.2 是linux下的动态库加载器/链接器,这篇文章主要来讲一下 ld-linux.so.2 是如何和Linux 以及相关应用打交道的。 1. 什么是 ld.linux.so ? 很多现代应用都是通过动态编译链接的,当一个 需要动态链接 的应用被操作系统加载时,系统必须要 定位 然后 加载它所需要的所有动态库文件。 在Linux环境下,这项工作是由ld-linux.so.2来负责完成的,我们可以通过 ldd 命令来查看一个 应用需要哪些依赖的动态库: $ldd`whichls` linux-gate.so.1=>(0xb7fff000) librt.so.1=>/lib/librt.so.1(0x00b98000) libacl.so.1=>/lib/libacl.so.1(0x00769000) libselinux.so.1=>/lib/libselinux.so.1(0x00642000) libc.so.6=>/lib/libc.so.6(0x007b2000) libpthread.so.0=>/lib/libpthread.so.0(0x00920000) /lib/ld-linux.so.2(0x00795000) libattr.so.1=>/lib/libattr.so.1(0x00762000) libdl.so.2=>/lib/libdl.so.2(0x0091a000) libsepol.so.1=>/lib/libsepol.so.1(0x0065b000) 当最常见的ls小程序加载时,操作系统会将 控制权 交给 ld-linux.so 而不是 交给程序正常的进入地址。 ld-linux.so.2 会寻找然后加载所有需要的库文件,然后再将控制权交给应用的起始入口。 上面的ls在启动时,就需要ld-linux.so加载器将所有的动态库加载后然后再将控制权移交给ls程序的入口。 ld-linux.so.2 man page给我们更高一层的全局介绍, 它是在 链接器(通常是ld)在运行状态下的部件,用来定位和加载动态库到应用的运行地址(或者是运行内存)当中去。通常,动态链接是 在连接阶段当中 隐式指定的。 gcc -W1 options -L/path/included -lxxx 会将 options 传递到ld 然后指定相应的动态库加载。 ELF 文件提供了相应的加载信息, GCC包含了一个特殊的 ELF 头: INTERP, 这个 INTERP指定了 加载器的路径,我们可以用readelf 来查看相应的程序 $readelf-la.out ElffiletypeisEXEC(Executablefile) Entrypoint0x8048310 Thereare9programheaders,startingatoffset52 ProgramHeaders: TypeOffsetVirtAddrPhysAddrFileSizMemSizFlgAlign PHDR0x0000340x080480340x080480340x001200x00120RE0x4 INTERP0x0001540x080481540x080481540x000130x00013R0x1 [Requestingprograminterpreter:/lib/ld-linux.so.2] LOAD0x0000000x080480000x080480000x004cc0x004ccRE0x1000 LOAD0x000f0c0x08049f0c0x08049f0c0x0010c0x00110RW0x1000 ... ELF 规格要求,假如 PT_INTERP 存在的话,操作系统必须创建这个 interpreter文件的运行映射,而不是这个程序本身, 控制权会交给这个interpreter,用来定位和加载所有的动态库,

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册