docker thumbor

curl -fsSL get.docker.com -o get-docker.sh && sh get-docker.sh --mirror Aliyun

docker run -d --restart=always --name="thumbor" -p 8011:80 minimalcompact/thumbor

Dockerfile

FROM python:2

LABEL maintainer="MinimalCompact"

VOLUME /data

# base OS packagesRUN  \
    awk '$1 ~ "^deb" { $3 = $3 "-backports"; print; exit }' /etc/apt/sources.list > /etc/apt/sources.list.d/backports.list && \
    apt-get update && \
    apt-get -y upgrade && \
    apt-get -y autoremove && \
    apt-get install -y -q \
        python-numpy \
        python-opencv \
        git \
        curl \
        libdc1394-22 \
        libjpeg-turbo-progs \
        graphicsmagick \
        libgraphicsmagick++3 \
        libgraphicsmagick++1-dev \
        libgraphicsmagick-q16-3 \
        zlib1g-dev \
        libboost-python-dev \
        libmemcached-dev \
        gifsicle=1.88* \
        ffmpeg && \
    apt-get clean

ENV HOME /app
ENVSHELL bash
ENV WORKON_HOME /app
WORKDIR /app

COPY requirements.txt /app/requirements.txt
RUN pip install --trusted-host None --no-cache-dir \
   -r /app/requirements.txt

COPY conf/thumbor.conf.tpl /app/thumbor.conf.tpl

ADD conf/circus.ini.tpl /etc/
RUN mkdir  /etc/circus.d /etc/setup.d
ADD conf/thumbor-circus.ini.tpl /etc/circus.d/

RUN \
    ln /usr/lib/python2.7/dist-packages/cv2.x86_64-linux-gnu.so /usr/local/lib/python2.7/cv2.so && \
    ln /usr/lib/python2.7/dist-packages/cv.py /usr/local/lib/python2.7/cv.py

ARG SIMD_LEVEL
# pinning to 5.1.1 see https://github.com/uploadcare/pillow-simd/issues/17RUNif [ -n "$SIMD_LEVEL" ]; then apt-get install -y -q libjpeg-dev zlib1g-dev; fiRUNif [ -n "$SIMD_LEVEL" ]; then pip uninstall -y pillow; CC="cc -m$SIMD_LEVEL" LDFLAGS=-L/usr/lib/x86_64-linux-gnu/ pip install --no-cache-dir -U --force-reinstall Pillow-SIMD==5.1.1.post0; fiCOPY docker-entrypoint.sh /
ENTRYPOINT ["/docker-entrypoint.sh"]

# running thumbor multiprocess via circus by default# to override and run thumbor solo, set THUMBOR_NUM_PROCESSES=1 or unset itCMD ["circus"]

EXPOSE 80 8888

发表在 日常 | 留下评论

使用Docker创建Elasticsearch服务

Elasticsearch官方在Docker Hub上已经有提供镜像,如果没有额外需求,执行下面这个命令就可以直接使用Elasticsearch官方提供的镜像:

docker run -d -p 9200:9200 --name="es" elasticsearch:2.3.5

要额外装一个Elasticsearch的head插件,方便调试,做了一个镜像,Dockerfile

FROM elasticsearch:2.3.5 

RUN /usr/share/elasticsearch/bin/plugin install mobz/elasticsearch-head 

EXPOSE 9200

进入Dockerfile所在的文件夹,执行以下命令:

docker build --tag=es_ezio .

然后执行docker images 就能看到刚才创建的镜像了

上一步我们只是制作了一个Docker镜像,还没有创建Docker容器。关于Docker中镜像和容器的关系,可以类比为操作系统中的程序和进程,或者面向对象语言中的Class和Instance。我们必须从镜像创建出容器才能运行我们的服务(也就是Elasticsearch服务)。

第一次创建Docker容器,执行以下命令:

docker run -d -p 9200:9200 --name="es" es_ezio
docker run -d -p 9201:9200 --name="es1" es_ezio

Elasticsearch的默认端口是9200,我们把宿主环境9200映射到Docker容器中的9200端口,这样我们就可以直接访问宿主环境的9200端口就可以访问到Docker容器中的Elasticsearch服务了,同时我们把这个容器命名为es_ezio。

如果一切顺利,访问 http://127.0.0.1:9200/_plugin/head/

发表在 日常 | 留下评论

Linux配置使用SSH Key登录并禁用root密码登录

Linux系统大多数都支持OpenSSH,生成公钥、私钥的最好用ssh-keygen命令,如果用putty自带的PUTTYGEN.EXE生成会不兼容OpenSSH,从而会导致登录时出现server refused our key错误。

1、root用户登陆后,运行以下第一句指令,其他根据提示进行输入:

ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):                 #建议直接回车使用默认路径
Created directory '/root/.ssh'
Enter passphrase (empty for no passphrase):            #输入密码短语(留空则直接回车)
Enter same passphrase again:                                  #重复密码短语
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
05:71:53:92:96:ba:53:20:55:15:7e:5d:59:85:32:e4 root@test
The key's randomart image is:
+--[ RSA 2048]----+
|   o o ..                |
| . o oo.+ .            |
| o.+... =               |
| ...o                     |
| o S                     |
| .                         |
|                           |
|                           |
|                           |
+--------------------+

此时在/root/.ssh/目录下生成了2个文件,id_rsa为私钥,id_rsa.pub为公钥。私钥自己下载到本地电脑妥善保存(丢了服务器可就没法再登陆了),为安全,建议删除服务器端的私钥。公钥则可以任意公开。

2、使用以下命令将公钥导入到VPS:

cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys

3、修改SSH的配置文件/etc/ssh/sshd_config :

#RSAAuthentication yes
#PubkeyAuthentication yes
#AuthorizedKeysFile .ssh/authorized_keys

去掉上面3行前面的#,保存后重启SSH服务。

service sshd restart

至此你的linux服务器已经支持使用SSH私钥证书登录。在你使用SSH Key登录验证成功后,还是为了安全,建议你关闭root用户使用密码登陆,关闭的方法如下:

修改SSH的配置文件/etc/ssh/sshd_config,找到下面1行:

PasswordAuthentication yes

修改为:

PasswordAuthentication no

保存后重启SSH服务。

service sshd restart

好了,至此只要你保存好你的私钥(为安全,建议删除服务器端的私钥),你的服务器相比原来使用root用户加密码登陆来说已经安全多了。

发表在 日常 | 留下评论

IDEA Terminal替换成Git Bash

1.IDEA Terminal替换成Git Bash
在IDEA中,打开settings,设置相应的bash路径
settings–>Tools–>Terminal–>Shell path:C:\Program Files\Git\bin\bash.exe

2.解决git commit注释乱码的问题
在C:\Program Files\Git\etc\bash.bashrc末尾行追加如下内容:

export LANG="zh_CN.UTF-8"   
export LC_ALL="zh_CN.UTF-8"   

重启IDEA或者关闭当前Terminal的session连接,然后New Session连接。

发表在 日常 | 留下评论

sublime Text3汉化和激活注册码

ZYNGA INC.
50 User License
EA7E-811825
927BA117 84C9300F 4A0CCBC4 34A56B44
985E4562 59F2B63B CCCFF92F 0E646B83
0FD6487D 1507AE29 9CC4F9F5 0A6F32E3
0343D868 C18E2CD5 27641A71 25475648
309705B3 E468DDC4 1B766A18 7952D28C
E627DDBA 960A2153 69A2D98A C87C0607
45DC6049 8C04EC29 D18DFA40 442C680B

1342224D 44D90641 33A3B9F2 46AADB8F

// KEY SUBLIME TEXT 3.2.1 BUILD 3207 //

---- BEGIN LICENSE ----
Member J2TeaM
Single User License
EA7E-1011316
D7DA350E 1B8B0760 972F8B60 F3E64036
B9B4E234 F356F38F 0AD1E3B7 0E9C5FAD
FA0A2ABE 25F65BD8 D51458E5 3923CE80
87428428 79079A01 AA69F319 A1AF29A4
A684C2DC 0B1583D4 19CBD290 217618CD
5653E0A0 BACE3948 BB2EE45E 422D2C87
DD9AF44B 99C49590 D2DBDEE1 75860FD2
8C8BB2AD B2ECE5A4 EFC08AF2 25A9B864
---- END LICENSE ----

/*! ============================================= */

// KEY SUBLIME TEXT 3.x (< BUILD 3163) //

---- BEGIN LICENSE ----
sgbteam
Single User License
EA7E-1153259
8891CBB9 F1513E4F 1A3405C1 A865D53F
115F202E 7B91AB2D 0D2A40ED 352B269B
76E84F0B CD69BFC7 59F2DFEF E267328F
215652A3 E88F9D8F 4C38E3BA 5B2DAAE4
969624E7 DC9CD4D5 717FB40C 1B9738CF
20B3C4F1 E917B5B3 87C38D9C ACCE7DD8
5F7EF854 86B9743C FADC04AA FB0DA5C0
F913BE58 42FEA319 F954EFDD AE881E0B
---- END LICENSE ----


到了最后一步汉化了:

1、安装 package control

第一步:按 Ctrl + ~ 键,调出 sublime 的控制台;

第二步:在调出的控制台输入如下指令

import urllib.request,os;pf='Package Control.sublime-package';ipp=sublime.installed_packages_path();urllib.request.install_opener(urllib.request.build_opener(urllib.request.ProxyHandler()));open(os.path.join(ipp,pf),'wb').write(urllib.request.urlopen('http://sublime.wbond.net/'+pf.replace(' ','%20')).read())

回车,稍等片刻,如果在 preferences 里有 package control 就说明安装成功了;

第三步:点击 preferences —> package control 或者使用快捷键 Ctrl + Shift + P调出 package control,输入

install package 选择并回车,查找ChineseLocalization插件,选择回车安装成功后会自动切换成中文简体,可以在

帮助 —>Language 中设置其他语言。

发表在 日常 | 留下评论

Tomcat乱码问题

解决办法 1.打开你安装Tomcat的所在目录,本文以7.0.92为例。 2. 打开后选择conf目录。 . 3. 将里面的logging.properties文件用编辑器打开,本例子是使用“Notepad++”编辑器打开。 4. 打开后大约在50行左右找到java.util.logging.ConsoleHandler.encoding = UTF-8 5. 修改为java.util.logging.ConsoleHandler.encoding = GBK; 6.重新启动Tomcat就可以了。

发表在 日常 | 留下评论

Debian下安装java环境

1、 首先切换到root用户
  su root 获取root用户权限,当前工作目录不变(需要root密码)
2、在usr目录下建立java安装目录
  cd /usr
  mkdir java
3、将jdk-8u60-linux-x64.tar.gz拷贝到java目录下(这里需要自己去官网下载java jdk 二进包)
  cp /mnt/hgfs/linux/jdk-8u60-linux-x64.tar.gz /usr/java/
4、解压jdk到当前目录,得到文件夹 jdk1.8.0_*  (注意:下载不同版本的JDK目录名不同!)
  tar -zxvf jdk-8u221-linux-x64.tar.gz
5、安装完毕为他建立一个链接以节省目录长度
  ln -s /usr/java/jdk1.8.0_221/ /usr/jdk
6、编辑配置文件,配置环境变量
  vim /etc/profile

  在文本的末尾添加如下内容:

JAVA_HOME=/usr/jdk
CLASSPATH=$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH

7、重启机器或执行命令 :source /etc/profile
  sudo shutdown -r now
8、查看安装情况
  java -version
出现下面文字:证明已经成功
  java version “1.8.0_60”
  Java(TM) SE Runtime Environment (build 1.8.0_60-b27)
  Java HotSpot(TM) Client VM (build 25.60-b23, mixed mode)
————————————————
版权声明:本文为CSDN博主「MIko_Mai」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/aa556666/article/details/79543599

发表在 日常 | 留下评论

socks5 转 http 代理

在linux系统上安装shadowsocks软件,但是它使用的协议是socks5,对于一些只能使用http代理上网的软件就无能为力了,这就需要一个神器来把socks5转为Http代理的软件,它就是privoxy,当然还有polipo3proxy等,本文只介绍privoxy的使用。


快速使用

安装

apt-get install privoxy
  • 修改配置文件
vim /etc/privoxy/config
  • 增加如下配置
forward-socks5 / socks5代理ip地扯,例如(192.168.0.106):端口(1080) .listen-address 0.0.0.0:对外侦听的http端口(1081)

以下是一个完整的例子

forward-socks5 / 192.168.0.106:1080 .listen-address 0.0.0.0:1081

温馨提示:listen-address 中的(0.0.0.0)代表侦听本机所有地扯过1081端口的信息

发表在 日常 | 留下评论

Linux使用SSR客户端

Linux 使用SSR客户端

https://mikoto10032.github.io/post/%E7%A8%8B%E5%BA%8F%E5%91%98%E9%82%A3%E4%BA%9B%E4%BA%8B/linux%E4%BD%BF%E7%94%A8ssr%E5%AE%A2%E6%88%B7%E7%AB%AF/

下载安装SSR

  • 下载项目文件
12sudo apt-get install git
git clone https://github.com/ssrbackup/shadowsocksr
  • 配置config.json

进入clone的文件夹,复制config.json到 /etc/shadowsocks.json

1cp shadowsocksr/config.json /etc/shadowsocks.json

编辑json

1vi /etc/shadowsocks.josn

你会看到如下信息:

"password": "123wc@",
"method": "rc4-md5",
"protocol" : "auth_aes128_sha1",
"protocolparam" : "",
"obfs" : "http_simple",
"obfsparam" : "cdn.4g.play.cn#X-Online-Host:cdn.4g.play.cn",
"speed_limit_per_con": 0,
"speed_limit_per_user": 0,

12345“server_port”:8388, //端口”password”:”password”, //密码 “protocol”:”origin”, //协议插件 “obfs”:”http_simple”, //混淆插件 “method”:”aes-256-cfb”, //加密方式
  • 运行ssr

进入到shadowsocksr/shadowsocks目录,运行

1python /root/shadowsocksr/shadowsocks/local.py -c /root/ssr.json -d start
  • 停止ssr

进入到shadowsocksr/shadowsocks目录,运行

1python /root/shadowsocksr/shadowsocks/local.py -c /root/ssr.json -d stop
  • 重启
1python /root/shadowsocksr/shadowsocks/local.py -c /root/ssr.json -d restart

利用proxychains让命令走代理

  • 安装proxychains
1sudo apt install proxychains
  • 配置proxychains
1sudo vim /etc/proxychains.conf

将最后一行改成:

1socks5 127.0.0.1 1080
  • proxychains使用
1proxychains wget https://www.google.com

PS:好像这个ip和前面ssr的json设置的ip有关
* 让命令行都走代理(如果需要的话)

1proxychains bash

配置chrome浏览器

因为某些原因(我不是很清楚),在大多数Linux下只成功启动ssr客户端的话会发现并没有什么作用,该进不去的仍然进不去,在这里就直接讲在Chrome内自动代理(国内走直连,特定网站走ssr)的解决方案吧。 进入https://file.lucien.ink/SwitchyOmega,下载

12SwitchyOmega.crxOmegaOptions.bak
  •  然后在Chrome里打开chrome://extensions,把SwitchyOmega.crx文件拖放到扩展程序页面,点击添加扩展程序进行安装。
  •  打开SwitchyOmega的设置页面,跳过设置向导,点击导入/导出、从备份文件恢复、找到OmegaOptions.bak打开,恢复完成后点击应用选项,可以点击扩展设置选择直连、代理还是自动切换。

参考:
[1] https://www.jianshu.com/p/c336fd0bdfbe
[2] https://blog.csdn.net/sinat_38245860/article/details/78698593
[3] https://blog.csdn.net/suz_cheney/article/details/73478360
[4] https://blog.csdn.net/xs18952904/article/details/80272579

发表在 日常 | 留下评论

密码保护:利用阿里云云解析DNS API快速申请Let’s Encrypt泛域名SSL证书

此内容受密码保护。如需查阅,请在下方输入密码。

发表在 日常 | 要查看留言请输入您的密码。