分类标签归档:Linux

linux下安装apache httpd、php


1、安装需要的插件

yum install apr apr-util apr-devel apr-util-devel gd-devel xpm libxml2 zlib php-gb

2、下载解压httpd和php

wget https://www.apache.org/dist/httpd/httpd-2.4.38.tar.gz
wget https://www.php.net/distributions/php-5.6.40.tar.gz
tar -zxvf httpd-2.4.41.tar.gz
tar -zxvf php-5.6.40.tar.gz

3、安装httpd和php

Read more

docker国内镜像拉取和镜像加速registry-mirrors配置修改


由于国内访问直接访问docker hub网速比较慢,拉取镜像的时间就会比较长。
一般我们会使用镜像加速或者直接从国内的一些平台镜像仓库上拉取。

我比较常用的是网易的镜像中心和daocloud镜像市场。
网易镜像中心:https://c.163.com/hub#/m/home/
daocloud镜像市场:https://hub.daocloud.io/

我们可以先查看下自己的镜像,使用命令:

# docker images
REPOSITORY                  TAG               IMAGE ID           CREATED           

Read more

linux增加虚拟内存


1 建立虚拟内存
找一个较大的空间

# df -h

建立swap文件,大小2G (建议大小是物理内存的 1~2.5 倍。)

# dd if=/dev/zero of=swapfile bs=1024000 count=2000

2 启用虚拟内存
将swap文件设置为swap分区文件

# mkswap swapfile
mkswap swapfile Setting up swapspace version 1, size = 1999996 KiB no label, UUID=b83ed394-b757-4a9f-bc1b-83430a209666
Setting up 

Read more

shell脚本的交互操作


我们在日常的维护中经常需要在shell脚本中进行交互,常用的交互使用expect有两种方式: 1)expect脚本:

#!/usr/bin/expect
set timeout 30
set host "192.168.0.1"
set username "root"
set password "123456"
spawn ssh $username@$host
expect "*password*" {send "$password\r"}
interact

2)shell脚本中添加exp

Read more

clamav病毒库无法更新之谜


freshclam报错:

Downloading daily-25636.cdiff [100%]
ERROR: Database load killed by signal 9
ERROR: Failed to load new database

经历yum重新安装、重新编译安装、系统重新初始化(阿里云)之后,依然报错。

手工进行下载病毒库:
在官网下载最新的三个病毒库文件
http://database.clamav.net/main.cvd
http://database.clamav.net/daily.cvd
http://database.clamav.net/byteco

Read more

linux开机自动启动的六种配置方法


linux 添加开机启动项的六种方法:

(1)编辑文件 /etc/rc.local

#!/bin/sh
touch /var/lock/subsys/local
/etc/init.d/mysqld start #mysql开机启动

(2)在/etc/rc.d/rc[0~6].d这7个目录中 用"ln -s" 建立启动软连接
/etc/rc[0~6].d其实是/etc/rc.d/rc[0~6].d的软连接
这7个目录中,每个目录分别存放着对应运行级别加载时需要关闭或启动的服务
K开头的脚本文件代表运行级别加载时需要关闭的,S开头的代表需要执行

# ls -l /etc/rc.

Read more

nginx的ip_hash算法


看nginx的源代码,分析ip_hash在负载分发的应用规则。

源代码中ip的点分十进制表示方法将ip分成四段,但是循环时只是将ip的前三个段作为参数加入hash函数。这样做的目的是保证ip地址前三位相同的用户经过hash计算将分配到相同的后端server。
ip地址前三位相同通常意味着来着同一个局域网或者相邻区域,使用相同的后端服务让nginx在一定程度上更具有一致性。

使用阿里云的负载均衡的情况下,七层代理转发的时候默认勾选“通过X-Forwarded-For头字段获取客户端真实 IP”,导致自建nginx无法获取真正的ip,无法通过ip_hash进行分发。

Read more

mysql升级至5.7.27


安全扫描的缘故,计划把mysql从5.7.17升级到5.7.27的5的最大小版本。

下载mysql的mysql-5.7.27-1.el7.x86_64.rpm-bundle.tar解压后,看到很多组件。
按照依赖关系依次安装rpm包 依赖关系依次为common→libs→client→server
或者把相互依赖的包都一次性安装

rpm -ivh mysql-community-common-5.7.22-1.el7.x86_64.rpm mysql-community-libs-5.7.22-1.el7.x86_64.rpm mysql-community-client-5.7.22

Read more

查看进程具体信息---利用/proc


遇到类似下面这种情况,知道端口号,想调试或查看日志,找不到的情况:

# netstat -anp|grep 1181  
(Not all processes could be identified, non-owned process info  
 will not be shown, you would have to be root to see it all.)  
tcp       0     0 0.0.0.0:1181          0.0.0.0:*            LISTEN     11881/nginx: worker   
tcp       0  

Read more