解决WINDOWS网速慢的几个参数,尤其是油管,效果明显

WIN7旗舰版,辽宁联通百兆,用了毛子的3元小机,前几日访问油管connection speed一直在2000K上下,换一台电脑马上速度飙到几万,另外也有MJJ提醒跟本地网络有关。经过1天多的各种尝试,终于找到解决方案,就是调节了TCP 全局参数 ,现在的速度已经到56000K左右。现提供方法给大家参考。

管理员运行CMD,运行netsh int tcp show global

TCP 全局参数
-------------------------------
接收方缩放状态                      : enabled
烟囱卸载状态                        : automatic
NetDMA 状态                         : enabled
直接缓存访问(DCA)                   : disabled
接收窗口自动调协级别                : disabled
附加拥塞控制提供程序                : none
ECN 能力                            : disabled
RFC 1323 时间戳                     : disabled
初始 RTO                            : 3000
非 Sack Rtt 复原                    : disabled
最大 SYN 重新传输                   : 2

以上是我原来的参数

我修改了以下几项,解决了网速慢的问题,命令都是在CMD中输入,然后重启。

直接缓存访问(DCA):netsh int tcp set global dca=enabled
接收窗口自动调谐级别:netsh int tcp set global autotuninglevel=normal
附加拥塞控制提供程序 netsh interface tcp set global congestionprovider=ctcp
RFC 1323 时间戳:netsh int tcp set global timestamps=enabled

参考以下文章:
1,https://blog.51cto.com/1873281/747362
2,https://chl.la/2016/05/27/
3,https://home.gamer.com.tw/creationDetail.php?sn=3507413

https://www.hostloc.com/thread-581548-1-1.html

发表在 日常 | 留下评论

黑苹果与Windows系统时间不同步的解决办法

通常我们会添加系统时间补丁来解决这个问题,但是我们也可以通过简单的命令修改Windows 对硬件时间的对待方式来解决这个问题, 让 Windows 把硬件时间当作 UTC时间。

window7用户开始->运行->输入CMD

window8/10用户 WIN+x 选择管理员模式进入CMD

执行以下命令:

  1. Reg add HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 1

这样就不用添加系统时间补丁。

发表在 日常 | 留下评论

使用docker使mysql容器映射到本地

如果你希望你的数据库在容器执行过程中保持持久性,请执行以下命令

# 创建数据存储目录 和配置文件目录

mkdir -p /home/mysql/data

# 分别赋予读写权限

chmod +766 /home/mysql/data

docker run -d -e MYSQL_ROOT_PASSWORD=root --name mysql5 -v /home/mysql/data :/var/lib/mysql -p 3302:3306 mysql:5.6

mysql -uroot -P 3302 -h 127.0.0.1 -p

发表在 日常 | 留下评论

解决wordpress首页文章内容截断处理的几种方法

add_filter('the_content','substr_content');function substr_content($content){if(!is_singular()){$content=mb_strimwidth(strip_tags($content),0,200);}return$content;}
发表在 日常 | 留下评论

Docker创建redis容器

1.拉取redis镜像:

docker pull redis

2.创建容器:

docker run -d --restart=always --name redis -p 6378:6379 redis --requirepass "123456"
  • -d           后台进行
  • --retsart=always 自动重启
  • -v /data:/data 宿主机/data目录挂载到容器/data目录
  • --name        容器名设置为myredis
  • -p          映射端口号
  • --requirepass “123456” 设置密码123456

3.下载redis桌面可视化工具连接测试:

https://github.com/qishibo/AnotherRedisDesktopManager/

发表在 日常 | 留下评论

docker ssr

拉取镜像

docker pull teddysun/shadowsocks-r


或者拉取基于 python:3.6-alpine 镜像制作的

docker pull teddysun/shadowsocks-r:alpine 

创建 config 文件

比如在目录 /etc/shadowsocks-r 下创建 config.json,完整路径也就是 /etc/shadowsocks-r/config.json
范例内容如下:

{
     "server":"0.0.0.0",
     "server_ipv6":"::",
     "server_port":9000,
     "forbidden_port": "25",
     "local_address":"127.0.0.1",
     "local_port":1080,
     "password":"123wc@",
     "timeout":120,
     "method":"rc4-md5",
     "protocol":"auth_aes128_sha1",
     "protocol_param":"",
     "obfs":"http_simple_compatible",
     "obfs_param":"",
     "redirect":"",
     "dns_ipv6":false,
     "fast_open":true,
     "workers":1
 } 


ShadowsocksR 协议插件文档的含义,可以参考这个链接

启动容器

在上面这个范例里,定义的端口是 9000,那么在启动容器时就需要将 9000 端口映射到宿主机的对外端口上。
启动命令:

docker run -d -p 15599:9000 -p 15599:9000/udp --name ssr -v /root/ssr:/etc/shadowsocks-r xctcc/ssr
{
"server":"0.0.0.0",
"server_ipv6":"::",
"server_port":9000,
"forbidden_port": "25",
"local_address":"127.0.0.1",
"local_port":1080,
"password":"123wc@",
"timeout":120,
"method":"rc4-md5",
"protocol":"auth_aes128_sha1",
"protocol_param":"",
"obfs":"http_simple_compatible",
"obfs_param":"",
"redirect":"",
"dns_ipv6":false,
"fast_open":true,
"workers":1
}
docker run -d -p 9000:9000 -p 9000:9000/udp --name ssr -v /etc/shadowsocks-r:/etc/shadowsocks-r teddysun/shadowsocks-r 


启动 Tag 为 alpine 的镜像命令:

docker run -d -p 9000:9000 -p 9000:9000/udp --name ssr -v /etc/shadowsocks-r:/etc/shadowsocks-r teddysun/shadowsocks-r:alpine 


注意:此处仅作为演示,不能同时执行上面的这两个启动命令,因为端口都是 9000,产生冲突了。一般我是推荐选 Tag 为 alpine 的镜像的,因为文件的体积会相对比较小。

发表在 日常 | 留下评论

mysql docker

 docker pull mysql:5.6
 docker run --name mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d mysql 

–name:给新创建的容器命名,此处命名为mysqlserver
-e:配置信息,此处配置mysql的root用户的登陆密码
-p:端口映射,表示在这个容器中使用3306端口(第二个)映射到本机的端口号也为3306(第一个)
-d:成功启动容器后输出容器的完整ID
最后一个mysql指的是mysql镜像名字
到这里我们查看容器运行状态:

 docker exec -it  mysql /bin/bash 

docker exec :在运行的容器中执行命令
语法
docker exec [OPTIONS] CONTAINER COMMAND [ARG…]
OPTIONS说明:
-d :分离模式: 在后台运行
-i :即使没有附加也保持STDIN 打开
-t :分配一个伪终端

mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password, 解决问题方法有两种,一种是升级navicat驱动,一种是把mysql用户登录密码加密规则还原成mysql_native_password. 我用的第二种方式:
操作如下:

ALTER USER 'root'@'%' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; #修改加密规则 ,'password'改成你的密码 
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password'; #更新一下用户的密码 ,'password'是你的密码 
FLUSH PRIVILEGES; #刷新权限 

修改MySQL配置文件有两种方法:
一是进入容器,修改容器里的MySQL的配置文件,然后重新启动容器,例如:


docker exec -it mysqlserver /usr/bin/bash


作者:feipeng8848

出处:https://www.cnblogs.com/feipeng8848/p/10470655.html

版权:本站使用「署名 4.0 国际」创作共享协议,转载请在文章明显位置注明作者及出处。

发表在 日常 | 留下评论

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用户加密码登陆来说已经安全多了。

发表在 日常 | 留下评论