Memcached1.5.6下载

互联网上存在利用Memcached服务漏洞进行的恶意攻击。如果客户默认开放UDP协议且未做访问控制,在运行Memcached服务时可能会被黑客利用,导致出方向的带宽消耗或CPU资源消耗。

自建,并对外开放了Memcached 11211 UDP端口的Memcached服务会受到该影响

解决方案一

升级Memcached1.5.6,因为memcached官网限制访问,特下载下来供大家下载

Memcached官方已经发布新版本默认禁用UDP 11211端口

memcached-1.5.6.tar

搭建内网穿透服务Ngrok

开发中遇到需要访问内网的需求,以前有固定IP很快很容易搞定,只需在路由那边就行转发处理即可,但现在使用的是动态IP这就很尴尬,网上搜索了一圈,发现了比较简单的实现(Ngrok),使用前提是你在外网有个服务器以及可访问的备案的域名。

  1. 根据你的服务器系统下载大神编译好的Server和Client端的ngrok,我下的是Linux64位编译版本。
  2. 在你的DNS服务商那A记录两条记录:ngrok.xx.com A 记录你的服务器IP,*.ngrok.xx.com A 记录你的服务器IP
  3. 服务器端运行下列命令
  4. ./ngrokd --domain="ngrok.xx.com"  默认方式
    setsid ./ngrokd --domain="ngrok.xx.com" 后台运行
  5. 客户端运行编辑配置文件
  6. server_addr: "ngrok.xx.com:4443"
        tunnels:
        sunny:
            subdomain: "sunnyos"
            auth: "sunny:admin1993"
            proto:
                http: 192.168.1.108:80
        sunny1:
            subdomain: "sunnyos1"
            proto:
                http: 192.168.1.104:80
        ssh:
            remote_port: 50000
            proto:
                tcp: 192.168.1.120:22
    chmod 777 ngrok
    ./ngrok -config=./ngrok.cfg start sunny 启动配置文件里面的某一个隧道

 

 

参考地址 http://www.sunnyos.com/article-show-74.html

创建Docker镜像并提交至DockerHub

创建Docker镜像(Commit方式实现打包)

Commit方式打包镜像是一种方式,还可使用Dockerfile 自动编译生成

使用命令 docker ps查看当前运行的Docker容器
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b02555261b2a ccr.ccs.tencentyun.com/nginx:2 "docker-php-entrypoin" 6 minutes ago Up 6 minutes k8s_nginx.74ee725_nginx-1995117297-oawi1_default_7dbcfe76-61f3-11e7-b1ab-5254009c3093_59ad5c81

使用docker commit b02555261b2a lifeng198931/nginx-php:1.0 创建镜像   b02555261b2a 为CONTAINER ID

创建成功返回
sha256:6a3e4eb482d4ecf8bdd7fdcd015e06c81c7795f97ba8ed040bba63e42115fb2e

使用docker images查看打包好的镜像
REPOSITORY                   TAG IMAGE ID CREATED SIZE
lifeng198931/nginx-php 1.0 6a3e4eb482d4 5 seconds ago 552.8 MB

提交镜像

提交镜像至DockerHub需要有Docker-Hub账号,注册地址:https://hub.docker.com/

执行登录命令:docker login
Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one.
Username: lifeng198931
Password:
Login Succeeded

输入命令docker tag 6a3e4eb482d4 lifeng198931/nginx-php:1.0    (PS:6a3e4eb482d4 为IMAGE ID)

最后执行PUSH操作docker push lifeng198931/nginx-php:1.0

稍等即Push成功

The push refers to a repository [docker.io/lifeng198931/nginx-php]
268b8c9b1604: Pushed
17486fcba291: Pushed
8ff73332a9c1: Pushing [===========================> ] 155.3 MB/280 MB
aa204764cc4c: Pushed
57f2e59a32ca: Pushed
e62d186aa9be: Pushed
284ace007aa5: Pushed
c218504836c2: Pushed
8a4b1177628d: Pushed
e5997bcc7786: Pushed
a976f44b8bbe: Pushed
4e3fe34ea5e3: Pushed
361b51002dab: Pushed
4195f36f22b0: Pushed
9c9c7359c814: Pushed
3378f970b72b: Pushed
6fc3d03cebe5: Pushed
d8d476202fd7: Pushed
26512ae4e602: Pushed
860dad618727: Pushing [=============================================> ] 140.8 MB/155.7 MB
ba7c41d37d48: Pushed
ce85b98da8c7: Pushed
8b67277fe14c: Pushed
777815bf4018: Pushed
772310149819: Pushed
f523e6e77276: Pushed
5fac08f9b8ad: Pushed
3c9c7a962414: Pushed
9b0b7ab4f5b2: Pushed
2acb0f8e8be6: Pushed
5accac14015f: Pushed

1.0: digest: sha256:5043476a7e803221c6a303bcfe989488b558365f618789c14ec8109d833b19d2 size: 6780

最后显示这个即PUSH成功

最后上https://hub.docker.com/r/lifeng198931/nginx-php/tags/查看

Linux定时任务清除文件

crontab用法

crontab –e : 修改 crontab 文件,如果文件不存在会自动创建。
crontab –l : 显示 crontab 文件。
crontab -r : 删除 crontab 文件。
crontab -ir : 删除 crontab 文件前提醒用户。

步骤

输入 crontab -e

输入 0 0 * * * /bin/bash /opt/website/cronjob.sh >> /tmp/job.log

0 0 * * * 表示每天凌晨零点执行该脚本

/opt/website/cronjob.sh  表示执行的脚本位置

/tmp/job.log 表示cron执行脚本后日志存放位置

删除文件夹内所有文件  rm -rf /opt/logs/*

间隔秒执行的方案

由于cron的最小单位是分,想要间隔一秒执行脚本如下处理

执行时间设为* * * * *

脚本如下书写

#!/bin/bash

step=1 #间隔的秒数,不能大于60

for (( i = 0; i < 60; i=(i+step) )); do
# $(php '/home/fdipzone/php/crontab/tolog.php')
curl -vvvv 要访问的URL地址
sleep $step
done

exit 0

网页创建快捷方式到桌面

php实现方法:

实现以下PHP文件,放入服务器生成链接地址,将生成的链接地址放入你的网页中,用户点击即下载该快捷方式。

<?php

$Shortcut = "[InternetShortcut]

URL=http://wordpress.roudanstudio.com/

IconFile=http://wordpress.roudanstudio.com/favicon.ico

IconIndex=0

HotKey=1613

IDList=

[{000214A0-0000-0000-C000-000000000046}]

Prop3=19,2";

header("Content-Type: application/octet-stream");

header("Content-Disposition: attachment; filename=Mark天下.url");

echo $Shortcut;

?>

PowerDesigner15的一些设置

一般建模可能都会用到:powerdesigner
但是,在建表的时候,我一直没有找到:
DEFAULT CHARACTER SET
COLLATE
两个选项。因此,想了个方法,点击:工具栏-》database-》edit current DBMS

然后,选中:MYSQL50::Script/Objects/Table/Options

在options末尾添加:

ENGINE = %s : list = BDB | HEAP | ISAM | InnoDB | MERGE | MRG_MYISAM | MYISAM, default = InnoDB
DEFAULT CHARACTER SET = %s : list = utf8 | gbk, default = utf8
COLLATE = %s : list = utf8_bin | utf8_general_ci | gbk_bin | gbk_chinese_ci, default =utf8_general_ci

第一个:存储引擎
第二个:字符集
第三个:带bin是区分大小写,ci不区分

确定后点击击某表,在:

Physicial Options中,可以看到刚刚添加的选项了。

另一种方法是:

1、打开PD安装目录(我的PD安装路径D:\Program Files\Sybase\PowerDesigner 15),找到Resource Files文件夹,在Resource Files中有个DBMS文件夹,找到里面的mysql50.xdb文件,用记事本打开。

2、按Ctrl+F键输入"checksum = %d : list = 0 | 1, default = 0"

3、在后面加上上面那一串字符即可。