分类目录归档:Linux

linux清理缓存的命令

查看缓存的命令:

free -m //清理缓存的命令

echo 1 > /proc/sys/vm/drop_caches
echo 2 > /proc/sys/vm/drop_caches
echo 3 > /proc/sys/vm/drop_caches

echo 0 是不释放缓存
echo 1 是释放页缓存
ehco 2 是释放dentries和inodes缓存
echo 3 是释放 1 和 2 中说道的的所有缓存

说明:

1>. /proc是一个虚拟文件系统,我们可以通过对它的读写操作作为与kernel实体间进行通信的一种手段。也就是说可以通过修改/proc中的文件,来对当前kernel的行为做出调整。也就是说我们可以通过调整/proc/sys/vm/drop_caches来释放内存。

0 – 不释放

1 – 释放页缓存

2 – 释放dentries和inodes

3 – 释放所有缓存

数字1是用来清空最近放问过的文件页面缓存

数字2是用来清空文件节点缓存和目录项缓存

数字3是用来清空1和2所有内容的缓存。

2>. 关于drop_caches的官方说明如下:

Writing to this file causes the kernel to drop clean caches,dentries and inodes from memory, causing that memory to becomefree.

To free pagecache, use echo 1 > /proc/sys/vm/drop_caches;

to freedentriesandinodes, use echo 2 > /proc/sys/vm/drop_caches;

to free pagecache, dentries and inodes, use echo 3 >/proc/sys/vm/drop_caches.

Because this is a non-destructive operation and dirty objects are not freeable, the user should run sync first.

原文:linux清理缓存的命令

Linux篇:Linux 端口被占用如何解决?

01 前言

最近在linux服务器上部署应用,总是出现端口被占用的情况,有时关闭软件,kill进程也会出现端口占用。

下面以80端口为例,列出详细解决过程

02 解决办法

1.查找被占用的端口

  netstat -anp

  netstat -anp | grep 80

 COMMAND   PID   USER   FD   TYPE   DEVICE    SIZE/OFF    NODE      NAME

  Java            14576  root     36u   IPv6    35452317    0t0         TCP *:pcsync-https (LISTEN)

  # netstat -anp 查看端口使用情况

  # netstat -anp | grep 80 只查看端口80的使用情况

2.查看端口属于哪个程序?端口被哪个进程占用

  lsof -i :80

# 如果用lsof -i命令查不到端口, 安装一下就ok了 `yum install lsof -y`

3. 杀掉占用端口的进程

  kill -9 进程id

  kill -9 14576

作者:walker86
链接:https://www.jianshu.com/p/7102764e64f4
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

mysql – 启动错误InnoDB: mmap(XXXX bytes) failed; errno 12

本文转载:http://blog.lihuanliang.com/?p=46
mysql – 启动错误InnoDB: mmap(XXXX bytes) failed; errno 12
重启错误提示

[root@XXXXXXX/]# /etc/init.d/mysqld start

Starting MySQL. ERROR! The server quit without updating PID file (/var/mysql/data/XXXX.pid).

[root@XXXXXXX/]# /etc/init.d/mysqld restart

ERROR! MySQL server PID file could not be found!

Starting MySQL. ERROR! The server quit without updating PID file (/var/mysql/data/XXXX.pid).

mysql要占用内存的时候 物理内存不够用导致的 所有 vim /etc/my.cnf

[inonodb]
innodb_buffer_pool_size=64MB #把这个数值改小 高版本的默认是128MB


————————————————

原文链接:https://blog.csdn.net/lihuanliang765142602/article/details/78029340

记一次centos服务器满空间清理

过程记录:

[root@iZ8vb4m3j60ueayf2rziv8Z ~]# df -h   //查看空间使用情况
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        40G   38G     0 100% /
devtmpfs        1.9G     0  1.9G   0% /dev
tmpfs           1.9G     0  1.9G   0% /dev/shm
tmpfs           1.9G  436K  1.9G   1% /run
tmpfs           1.9G     0  1.9G   0% /sys/fs/cgroup
tmpfs           380M     0  380M   0% /run/user/0
[root@iZ8vb4m3j60ueayf2rziv8Z ~]# cd /    //跳转根目录
[root@iZ8vb4m3j60ueayf2rziv8Z /]# du -sh *     //查看各目录情况
0       bin
218M    boot
4.0K    data
0       dev
38M     etc
466M    home
0       lib
0       lib64
16K     lost+found
4.0K    media
4.0K    mnt
4.0K    mysql.sql
213M    opt
du: cannot access ‘proc/5646/task/5646/fd/4’: No such file or directory
du: cannot access ‘proc/5646/task/5646/fdinfo/4’: No such file or directory
du: cannot access ‘proc/5646/fd/4’: No such file or directory
du: cannot access ‘proc/5646/fdinfo/4’: No such file or directory
0       proc
220K    root
468K    run
0       sbin
4.0K    srv
0       sys
7.8M    tmp
14G     usr
23G     var
[root@iZ8vb4m3j60ueayf2rziv8Z /]# cd /usr
[root@iZ8vb4m3j60ueayf2rziv8Z usr]# du -sh *
306M    bin
4.0K    etc
4.0K    games
28M     include
340M    java
670M    lib
410M    lib64
63M     libexec
11G     local
443M    sbin
368M    share
350M    src
0       tmp
[root@iZ8vb4m3j60ueayf2rziv8Z usr]# cd local
[root@iZ8vb4m3j60ueayf2rziv8Z local]# du -sh *
351M    aegis
12M     bin
4.0K    etc
4.0K    games
4.0K    include
4.0K    lib
4.0K    lib64
4.0K    libexec
11G     php
4.0K    sbin
92K     share
65M     src
58M     svnRepo
[root@iZ8vb4m3j60ueayf2rziv8Z local]# cd php
[root@iZ8vb4m3j60ueayf2rziv8Z php]# du -sh *
116M    bin
112K    etc
5.0M    include
9.3M    lib
2.4M    log
92K     php
3.4M    phpredis
39M     sbin
10G     var
[root@iZ8vb4m3j60ueayf2rziv8Z php]# cd /var
[root@iZ8vb4m3j60ueayf2rziv8Z var]# du -sh *
4.0K    adm
9.9G    cache
4.0K    crash
28K     db
8.0K    empty
4.0K    games
4.0K    gopher
12K     kerberos
2.5G    lib
4.0K    local
0       lock
3.9G    log
0       mail
4.0K    nis
4.0K    opt
4.0K    preserve
0       run
4.7G    spool
179M    svn
20K     tmp
1.9G    www
4.0K    yp
[root@iZ8vb4m3j60ueayf2rziv8Z var]# cd log
[root@iZ8vb4m3j60ueayf2rziv8Z log]# du -sh *
40K     aliyun-util.log
4.0K    anaconda
39M     audit
0       boot.log
0       boot.log-20211228
0       boot.log-20211229
0       boot.log-20211230
0       boot.log-20211231
0       boot.log-20220101
0       boot.log-20220102
0       boot.log-20220103
18M     btmp
9.2M    btmp-20220101
476M    caigo
4.0K    caigo-error
4.0K    chrony
216K    cron
704K    cron-20211212
984K    cron-20211220
708K    cron-20211226
856K    cron-20220102
36K     dmesg
36K     dmesg.old
12K     firewalld
8.0K    grubby
4.0K    grubby_prune_debug
3.4G    journal
16K     lastlog
0       maillog
0       maillog-20211212
0       maillog-20211220
0       maillog-20211226
0       maillog-20220102
284K    messages
912K    messages-20211212
1.3M    messages-20211220
916K    messages-20211226
1.1M    messages-20220102
28K     mysqld.log
4.0M    mysql.log20200419before
2.7M    nginx
48K     ntp.log
4.0K    ntpstats
8.0K    php-fpm
4.0K    ppp
4.0K    repair.log
4.0K    rhsm
18M     sa
16M     secure
8.2M    secure-20211212
208K    secure-20211220
4.0K    secure-20211226
4.0K    secure-20220102
0       spooler
0       spooler-20211212
0       spooler-20211220
0       spooler-20211226
0       spooler-20220102
0       tallylog
28K     tuned
276K    wtmp
0       yum.log
40K     yum.log-20180101
4.0K    yum.log-20190101
4.0K    yum.log-20200420
[root@iZ8vb4m3j60ueayf2rziv8Z log]# cd journal/
[root@iZ8vb4m3j60ueayf2rziv8Z journal]# du -sh *
3.4G    a9fe31fd96c841a5a16f9c54110b66cc
[root@iZ8vb4m3j60ueayf2rziv8Z journal]# journalctl --disk-usage
Archived and active journals take up 3.3G on disk.
[root@iZ8vb4m3j60ueayf2rziv8Z journal]# journalctl --vacuum-time=30d   只留30天
Deleted archived journal /var/log/journal/a9fe31fd96c841a5a16f9c54110b66cc/system@a04c2e13fe6a4e0b8a6d7aa2908722cb-0000000000000001-0005a3abfd744d0e.journal (64.0M).
Deleted archived journal 
……
Deleted archived journal /var/log/journal/a9fe31fd96c841a5a16f9c54110b66cc/system@a04c2e13fe6a4e0b8a6d7aa2908722cb-00000000002498c0-0005d24fc91bef19.journal (8.0M).
Vacuuming done, freed 2.8G of archived journals on disk.
[root@iZ8vb4m3j60ueayf2rziv8Z journal]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        40G   36G  1.9G  96% /
devtmpfs        1.9G     0  1.9G   0% /dev
tmpfs           1.9G     0  1.9G   0% /dev/shm
tmpfs           1.9G  436K  1.9G   1% /run
tmpfs           1.9G     0  1.9G   0% /sys/fs/cgroup
tmpfs           380M     0  380M   0% /run/user/0
[root@iZ8vb4m3j60ueayf2rziv8Z journal]# cd /
[root@iZ8vb4m3j60ueayf2rziv8Z /]# cd var
[root@iZ8vb4m3j60ueayf2rziv8Z var]# du -sh *
4.0K    adm
9.9G    cache
4.0K    crash
28K     db
8.0K    empty
4.0K    games
4.0K    gopher
12K     kerberos
1.5G    lib
4.0K    local
0       lock
1.1G    log
0       mail
4.0K    nis
4.0K    opt
4.0K    preserve
0       run
4.7G    spool
179M    svn
20K     tmp
1.9G    www
4.0K    yp
[root@iZ8vb4m3j60ueayf2rziv8Z var]# cd cache/
[root@iZ8vb4m3j60ueayf2rziv8Z cache]# du -sh *
24K     fontconfig
32K     ldconfig
1.8M    man
9.9G    yum
[root@iZ8vb4m3j60ueayf2rziv8Z cache]# yum clean packages
Loaded plugins: fastestmirror, priorities
Cleaning repos: base epel extras mysql-connectors-community mysql-tools-community mysql57-community remi-safe updates webtatic
2227 package files removed
[root@iZ8vb4m3j60ueayf2rziv8Z cache]# yum clean headers
Loaded plugins: fastestmirror, priorities
Cleaning repos: base epel extras mysql-connectors-community mysql-tools-community mysql57-community remi-safe updates webtatic
0 header files removed
[root@iZ8vb4m3j60ueayf2rziv8Z cache]# yum clean oldheaders
Loaded plugins: fastestmirror, priorities
Error: invalid clean argument: 'oldheaders'
 Mini usage:
clean [headers|packages|metadata|dbcache|plugins|expire-cache|all]
Remove cached data
[root@iZ8vb4m3j60ueayf2rziv8Z cache]# du -sh *
24K     fontconfig
32K     ldconfig
1.8M    man
436M    yum
[root@iZ8vb4m3j60ueayf2rziv8Z cache]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        40G   25G   14G  66% /
devtmpfs        1.9G     0  1.9G   0% /dev
tmpfs           1.9G     0  1.9G   0% /dev/shm
tmpfs           1.9G  436K  1.9G   1% /run
tmpfs           1.9G     0  1.9G   0% /sys/fs/cgroup
tmpfs           380M     0  380M   0% /run/user/0

Point 1:centos清理/dev/vda1系统盘:

df   -h   检查一台服务器磁盘使用空间,发现磁盘已经使用了100%

思路是:

1、cd /usr   当然这里不一定是/usr目录,最好是cd到 根目录再执行下一步

2、du -sh * 看哪个目录占用空间大

3、重复前两步,根据实际情况删除或者移走

4、日志的话可以运行cat /dev/null > file.log清空

5、软件包的可以rpm -e 卸载或者rm -rf dir

即:

具体:可以通过下面的方法进行清理:

使用如下命令查找大于100M的大文件,发现有几个日志文件及临时文件比较大,使用rm –rf删除即可。

    find / -size +100M -exec ls -lh {} \;

    也可以使用 du -h –max-depth=1  /路径  查询文件夹占用显示该目录占用空间的总和

     譬如:du -h –max-depth=1  /var

    删除文件时,要小心,不要删除系统文件了 :)

Point 2:Linux yum清除var下目录缓存

Linux下yum发音(丫目)。

yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。提供软件查找、安装、删除某一个或一组甚至全部软件包的命令,而且命令简洁而又好记。

yum的命令形式如下:

yum [options] [command] [package …]

常用的命令包括:

#安装软件 yum install packages

#更新软件 yum update packages

#删除软件 yum remove packages

#清除缓存 yum clean packages

重点介绍:

通常,yum 把下载的header和软件 包 都存储在cache中,而不会自动删除。如果你觉得它们占用了大量磁盘空间,可以使用yum clean指令进行清除,更精确 的用法是yum clean headers清除header,yum clean packages清除下载的rpm包,yum clean all全部干掉。

1.清除缓存目录(/var/cache/yum)下的软件 包

命令:yum clean packages

2.清除缓存目录(/var/cache/yum)下的 headers

命令:yum clean headers

3.清除缓存目录(/var/cache/yum)下旧的 headers

命令:yum clean oldheaders

4.清除缓存目录(/var/cache/yum)下的软件 包及旧的headers

Point 3: var/log/journal日志清理:

Linux log日志清理
检查当前journal使用磁盘量

journalctl –disk-usage

清理方法可以采用按照日期清理,或者按照允许保留的容量清理,只保存2天的日志,最大500M

journalctl –vacuum-time=2d
journalctl –vacuum-size=500M

如果要手工删除日志文件,则在删除前需要先轮转一次journal日志

systemctl kill –kill-who=main –signal=SIGUSR2 systemd-journald.service

要启用日志限制持久化配置,可以修改 /etc/systemd/journald.conf

SystemMaxUse=16M
ForwardToSyslog=no

然后重启

systemctl restart systemd-journald.service

检查journal是否运行正常以及日志文件是否完整无损坏

journalctl –verify
————————————————————————————————————————————————————

参考:centos 磁盘清理 /dev/vda1系统盘满了

linux yum清除var目录下缓存的方法

/var/log/journal日志清理

Nginx 403 error:directory index of “xxx“ is forbidden

现象:
在部署好Nginx服务器后,输入IP地址和端口号,返回403 Forbiddent。查看日志nginx/logs/error.log,发现报错信息为:directory index of “xxx” is forbidden。
其中,xxx是在/etc/nginx/nginx.conf中指定的root目录。

报错原因:
直接使用IP地址和端口号访问时,需要指定index,如果未指定,就会出现该报错。

解决方法:
在/etc/nginx/nginx.conf中做如下修改:

#在nginx.conf文件中指定index,例如:
index index.html index.htm index.php
#或者在nginx.conf文件中添加自动索引
#但是
autoindex on;    #自动索引

原文:https://www.jianshu.com/p/e837e63ff511

Centos7 升级php版本到php7

一、首先查看是否有老版本

yum list installed | grep php

二、如果安装的有

yum remove php.x86_64 php-cli.x86_64 php-common.x86_64 php-gd.x86_64 php-ldap.x86_64 php-mbstring.x86_64 php-mcrypt.x86_64 php-mysql.x86_64 php-pdo.x86_64

三、老版本清理干净之后,进行升级

1、由于linux的yum源不存在php7.x,所以我们要更改yum源:

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

CentOS7yum安装PHP7.2
CentOS7yum安装PHP7.2

2、查看yum源中有没有php7.x

yum search php7

看到下图,证明php已经存在yum源中

CentOS7yum安装PHP7.2
CentOS7yum安装PHP7.2

3、yum 安装php72w和各种拓展,选自己需要的即可:

yum -y install php72w php72w-cli php72w-common php72w-devel php72w-embedded php72w-fpm php72w-gd php72w-mbstring php72w-mysqlnd php72w-opcache php72w-pdo php72w-xml

CentOS7yum安装PHP7.2

安装完成

4、查看php版本

php -v

CentOS7yum安装PHP7.2

5、启动php-fpm systemctl start php-fpm

注意注释掉nginx.conf里的sock设置
添加:fastcgi_pass 127.0.0.1:9000;#php-fpm的默认端口是9000


原文:https://jingyan.baidu.com/article/870c6fc3460834b03fe4be06.html
参考:PHP Mysql support: 是mysql 还是mysqlnd?

vsftpd: refusing to run with writable root inside chroot ()错误

centos install vsftpd常见的错误:

vsftpd:500 OOPS: vsftpd: refusing to run with writable root inside chroot ()错误
 vsftpd:500 OOPS: vsftpd: refusing to run with writable root inside chroot ()错误
原因是因为从2.3.5之后,vsftpd增强了安全检查,如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了!如果检查发现还有写权限,就会报该错误。
 解决这个错误的方法,可以用命令chmod a-w /home/test去除用户主目录的写权限,注意把目录替换成你自己的。

或者你可以在vsftpd的配置文件中增加下列两项中的一项:allow_writeable_chroot=YES

Linux CentOS删除或重命名文件夹和文件的办法

Linux、CentOS操作系统下如何删除和重命名文件夹呢?办法如下:

一、Linux、CentOS下重命名文件和文件夹

mv:move 用移动文件命令就可以了,因为linux系统没有专门的重命名命令。

基本格式:

移动文件:mv 文件名 移动目的地文件名

重命名文件:mv 文件名 修改后的文件名

示例:mv oldfilename newfilename (oldfilename为旧文件名,newfilename为新文件名)

二、Linux、CentOS下删除文件和文件夹

通常情况下,删除文件用:rm 文件名。删除文件夹用:rmdir 文件夹名。

但是rmdir不能删除非空的文件夹,那如何删除非空文件夹呢:命令:rm -rf 非空文件夹名;

-r 就是向下递归,不管有多少级目录,一并删除。

-f 就是直接强行删除,不作任何提示的意思。

1、删除文件夹命令

rm -rf /var/log/httpd/access

将会删除/var/log/httpd/access目录以及其下所有文件、文件夹

2、删除文件命令

rm -f /var/log/httpd/access.log

将会强制删除/var/log/httpd/access.log这个文件

建议使用前做好备份,好像此命令是不会放到回收站的,删了就再也见不着下面的文件了。

原文:Linux CentOS删除或重命名文件夹和文件的办法

linux下FTP服务启动与关闭命令

查看FTP服务是否运行中:service vsftpd status
查看本地是否含有包含ftp的进程开启:ps -ef | grep ftp
FTP设置开机自动运行:chkconfig vsftpd on
关闭FTP开机自动运行:chkconfig vsftpd off
查看所有服务开启自动运行的情况:chkconfig –list
启动FTP服务:service vsftpd start
停止FTP服务:service vsftpd stop
重启FTP服务:service vsftpd restart
注:service vsftpd status 是红帽服务启动(start) 停止(stop) 状态(status) 的操作方式。 如果不是红帽可能无法执行。

原文:https://blog.csdn.net/qq_34495557/article/details/78327127