Hugh's Blog

DD 重装系统

使用萌咖脚本:https://moeclub.org/2018/04/03/603 默认用户:root,默认密码:MoeClub.org # redhat, centos ...

Linux 安装 PHP

Linux 选择安装特定 PHP 版本,做个记录。 CentOS 安装 PHP 安装源: # centos 7 yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm # centos 6 # yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm # yum install http://rpms.remirepo.net/enterprise/remi-release-6.rpm 安装 PHP: # yum 命令包 yum install yum-utils # 可以选择版本 # yum-config-manager --enable remi-php55 [Install ...

clickhouse-copier 使用

clickhouse-copier 是官方的数据迁移工具,主要用在多个集群之间的数据迁移,当然单个集群也适用。 本地使用 Docker 搭建测试集群:clickhouse-cluster-e ...

ClickHouse 笔记

ClickHouse 是一款开源的 OLAP 列存储数据库,下面是一些使用笔记,做个记录。 常用语句 -- 创建表 create table temp (`EventDate` DateTime, `UserId` UInt32) engine = MergeTree() partition by toYYYYMM(EventDate) order by EventDate; -- 创建分布式复制表 create table temp (`EventDate` DateTime, `UserId` UInt32) ...

CentOS 7 docker 容器无法访问宿主机

最近在 CentOS 7 下使用 docker,出现 No route to host 这个问题,查了下,应该是由于 CentOS 7 默认使用 firewalld 造成的,解决方法添加白名单就行,做个记录。 # 主要命令 firewall-cmd --help ...

阿里云卸载监控等服务

卸载安骑士 wget http://update.aegis.aliyun.com/download/uninstall.sh chmod +x uninstall.sh ./uninstall.sh wget http://update.aegis.aliyun.com/download/quartz_uninstall.sh chmod +x quartz_uninstall.sh ./quartz_uninstall.sh uninstall.sh #!/bin/bash #check linux Gentoo os var=`lsb_release -a | grep Gentoo` if [ -z "${var}" ]; then var=`cat /etc/issue | grep Gentoo` fi if [ -d "/etc/runlevels/default" -a -n "${var}" ]; then LINUX_RELEASE="GENTOO" else LINUX_RELEASE="OTHER" fi stop_aegis(){ killall -9 aegis_cli >/dev/null 2>&1 killall -9 aegis_update >/dev/null 2>&1 killall -9 aegis_cli >/dev/null 2>&1 killall ...

Docker ELK 配置

docker-compose.yml version: "3.3" services: elasticsearch: image: elasticsearch:6.4.3 environment: LOGSPOUT: ignore ES_JAVA_OPTS: "-Xmx256m -Xms256m" volumes: - ./elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml:ro ports: - "9200:9200" logstash: image: logstash:6.4.3 environment: LOGSPOUT: ignore volumes: - ./temp.log:/var/log/temp.log - ./logstash.conf:/etc/logstash.conf ports: - "5000:5000" links: - elasticsearch command: -f /etc/logstash.conf kibana: image: kibana:6.4.3 environment: LOGSPOUT: ignore ELASTICSEARCH_URL: http://elasticsearch:9200 volumes: - ./elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml:ro ports: - "5601:5601" links: - elasticsearch elasticsearch.yml http.port: 9200 network.host: 0.0.0.0 discovery.type: single-node logstash.conf input { file { path => ...

虚拟机下无法访问宿主机

开发环境一直都是 Hyper-V 下虚拟机,但是最近不知道为什么,虚拟机无法访问宿主机,如虚拟机 IP 段为 237,在虚拟机内无法访问 128 或者 137 等 IP 段。 最后发现是某 ...

CentOS 6.9 下编译安装 httpd2.4 及 PHP5.6

服务器环境为 CentOS 6.9,在 docker 中测试: docker pull centos:6.9 docker run -d -it --name centos-69 -p 18880:80 -p 18443:443 centos:6.9 bash docker exec -it centos-69 bash 进入到测试环境中: yum update # service 命令可能会缺失 yum install initscripts httpd 2.4 编译 # 查看当前安 ...

iptables 使用

iptables 用于管理 Linux 防火墙配置,最近需要用到,作个记录。 主要内容来自:iptables 命令,Linux iptables 命令详解。 四表五链 四表 filter: iptables 默认表,具有链(I ...

Linux 下使用 Swap 文件

今天在使用 composer 升级库版本时,报错:proc_open(): fork failed - Out of memory,应该是机器内存不足,即使停掉了网站所有进程之后内存还是不够, ...

通过 fdisk 对磁盘分区扩容

最近 Hyper-V 里面虚拟机的硬盘容量不够用了,便在管理器里直接修改虚拟硬盘的大小,但是进去虚拟机查看并没有生效,网上查了下,还需要手动修改分区大小,这 ...

laravel-swoole 使用

最近常用的 PHP 框架是 Laravel,而 PHP 框架本身启动都要加载不少文件,往往 QPS 不会很高。 Swoole 扩展本身就常驻内存,异步执行,可以为项目提高不少性能, ...

WSL 设置字体失败

WSL 是我目前常用的 Linux 环境,在设置自定义字体保存的时候,某些情况下会失效,例如 Vim 编辑文件的时候,字体会还原成默认的。 这个问题修改注册表可以解决( ...

WSL 文件权限问题

最近在 WSL 下碰到 PHP chmod(): Operation not permitted 这个问题,看起来是文件权限的问题,不过查看该文件的权限是 777,不知道是 Bug 还是什么原因导致的,Google 找了下,有 ...

PHP + Redis 简单消息队列

消息队列在高并发的时候,可以缓解对数据库的压力,下面使用 PHP + Redis(list) 简单模拟下这个过程。 $redis = new Redis(); $redis->connect('127.0.0.1', 6379); $type = isset($_GET['type']) ? 'read' : 'write'; switch ($type) { case 'write': // 随机获取内容,写入队 ...

Redis 有序集合使用

zset 是 Redis 的一种数据结构,为有序集合,每次插入新的值都会根据权重重新排序。 安装 sudo apt-get install redis-server # 安装 redis-server --daemonize yes # 后台启动 redis-cli # 进入命令行界面 使用 添加新值:za ...

Docker + Nginx 简单模拟负载均衡

只是简单的单机模拟负载均衡,做个记录。 建立相应的静态文件 mkdir html1 echo '<h1>Hello World 1</h1>' > ./html1/index.html # 同样的建立 html2, html3 建立 Nginx 配置文件 default.conf upstream app { server nginx1:80; server nginx2:80; server nginx3:80; } server { listen 80; server_name localhost; location / ...

Linux 搭建 Git 服务器

搭建 Git 服务器很简单,做个记录。 首先添加 git 用户并配置: sudo adduser git su git cd mkdir .ssh && chmod 700 .ssh touch .ssh/authorized_keys && chmod 600 .ssh/authorized_keys # 添加公钥到 authorized_keys,以便登录 ...

Git 合并分支忽略 commit 记录

平常在测试的时候会开启测试分支,但是不能保证每次提交的 commit log 都是有意义的,而在合并测试分支的时候需要忽略掉这些 commit log,简单的做法是在合并的时 ...

Docker 笔记(持续更新)

安装 # docker curl -sSL https://get.docker.com/ | sh docker -v sudo groupadd docker sudo usermod -aG docker $USER groups $USER # 重新登录或重启机器之后生效 # docker-compose # https://docs.docker.com/compose/install/#install-compose sudo curl -L https://github.com/docker/compose/releases/download/1.15.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose docker-compose --version 常用命令 # 容器 docker ps -a docker start {id|name} docker restart {id|name} docker ...

auth.log 记录大量 cron session 日志

今天在查看 auth.log 发现了大量 cron session 的日志,每隔一个小时就出现几次,看起来是定时任务在调用时以 root 用户执行而记录下来了,不过我的定时任务也没有这么频繁, ...

SSH 密钥登录

一般登录 VPS 用密码的话容易被人暴力破解,如果换成密钥登录会好很多,配置过程也简单,做个记录。 生成密钥,最好在 Linux 下操作 # 中间会询问密钥保存目录, ...

Shadowsocks 使用 BBR 加速

之前有使用过 Vultr JP 节点的 VPS 来部署 SS,但是时不时丢包,用得不是很顺畅,最近看到 BBR 很好用的样子,配置简单且开源,决定试一试,部署很简单,主要是升 ...

远程 SSH TAB 不能补全

最近在使用 PuTTY 连接服务器的时候,TAB 不能补全,而且方向键也没用,按了之后只显示字母,查了下原来补全是 bash 下的功能,而我创建的用户默认 shell 是 sh, ...

Git 回滚到旧的提交

git reset,会清除 commit 记录,一般在仓库还没提交到远程时使用 # ~ 加数字指回滚最近几次的提交 git reset --hard HEAD~1 # 强制推送 git push -f origin master git revert,不会清除 ...

VirtualBox 下 Ubuntu 设置上网

最近在 VirtualBox 下安装 Ubuntu 玩,但是上网却是时好时坏,对 Linux 下的网络也不怎么懂,网上找了篇教程,暂时还可以用,作个记录。 环境 Windows 10, 虚拟机 Ubuntu Server 1604 有时候网络 ...

Git 忽略文件权限修改监控

在使用 git diff 时返回如下信息 old mode 100644 new mode 100755 原因是对文件权限进行了修改,如果要忽略 git 对文件权限的监控,修改下 git 的配置就行 git config core.filemode false 可以添加 --global 参数,但不 ...

VPS 中安装 Shadowsocks

服务端安装 (Ubuntu1404) ssh <username>@<ip_address> -p <port> #ssh登录vps apt-get update apt-get install python-pip pip install shadowsocks apt-get install python-m2crypto #支持更多的加密方式 2017-08-15 在 Ubuntu1604 下可能要加上: pip install --upgrade pip pip install setuptools # 开始安装 pip install shadowsocks # 查看幫助 ...

Ubuntu 下安装 LAMP

服务器版本 Ubuntu 1404 安装 Apache2 sudo apt-get install apache2 在浏览中输入 localhost,显示 It’s works! 表示成功。 安装 PHP5 sudo apt-get install php5 libapache2-mod-php5 在 /var/www/html/ 建立一个测试文件,查看 PHP 与 Apache 是否一起工作。 ...

Ubuntu 使用笔记

目录文件夹名称改为英文 export LANG=en_US xdg-user-dirs-gtk-update 在弹出的窗口中询问是否将目录转化为英文路径,同意并关闭,然后改回中文 export LANG=zh_CN 重启就行 Dos、Unix 文件编码转换 # vim ...