Centos系统服务常见FQA汇总
1.1 文档目的
本文目的提高自己文档的写作能力及排版能力,加强上课所讲的内容得以锻炼也方便自己以后查阅特写此文档。
1.2 文档内容
Linux工作以及学习中的FAQ汇总!
1.3.1 分区完后当我们在执行partprobe通知内核分区变化时会提示以下错误信息?
[root@c66-moban ~]# partprobe
Warning: WARNING: the kernel failed tore-read the partition table on /dev/sda (Device or resource busy). As a result, it may not reflect all of yourchanges until after reboot.
提示所设备正在忙,其实说的是系统本身现在使用的设备也就是/dev/sda你只要在执行partprobe命令时后面加上你的告知内核的设备名字就可以了!例如我们要将/dev/sdb然后执行下面的命令即可就不会报上面的错误!
[root@c66-moban ~]# partprobe /dev/sdb
报错信息如下:此错误原因是服务端的防火墙服务没有关闭
[root@NFSClient ~]# showmount -e192.168.88.115
clnt_create: RPC: Port mapper failure -Unable to receive: errno 113 (No route to host)
先启动rpcbind服务/etc/init.d/rpcbind start(服务端)
在次启动nfs服务/etc/init.d/nfs start
发生此问题的原因检查服务端/etc/exportfs目录下的IP地址是否对
在客户端挂载的时候有可能是因为你写的IP地址错误造成的
还有以个原因是你在客户端挂载的时候把服务端共享的目录名字写错了,(此问题的原因跟权限一点关系都没有切记%97都是以上提的那3点原因)
需要退出自动挂载目录在进行卸载,或者是NFS Server 宕机了需要强制卸载用umount -lf /mnt
[root@NFSClient ~]# mount –t nfs 192.168.88.115:/data /mnt
Mount: wrong fs type,bad option, badsuperblock on 192.168.88.115:/data/
Missing codepange or helper program,orother error
(for serveralfilesystems(e.g.nfs,cifs))you might need a
/sbin/mount.<type>helper program)
In some cases useful info is found insyslog-try dmesg tial or so
解决办法安装nfs-utils服务不用启动它然后解决了
[root@NFSClient ~]# yum –y installnfs-utils
在服务端更改/etc/ssh/sshd_config文件中的配置内容如下:
122 UseDNS no
81 GSSAPIAuthentication no
Ssh -v root@10.0.0.19可以查看慢的细节
[root@Rsync-Server-B ~]# vim/etc/rsyncd.conf
E325: ATTENTION
Found a swap file by the name"/etc/.rsyncd.conf.swp"
owned by: root dated: Mon Feb 2 23:51:19 2015
file name: /etc/rsyncd.conf
原因是因为第一次编辑/etc/rsyncd.conf配置文件时没有正常保存退出当你在次编辑这个文件时会提示上面的错误:
解决办法:
删除/etc/目录下生成的那个临时文件在重新编辑/etc/rsyncd.conf文件就OK了!
[root@Rsync-Server-B ~]# rm –rf /etc/.rsyncd.conf.swp
这个是授权密码到/etc/rsync.password文件中但是没有给密码权限
[root@Rsync-Server-B ~]# echo"oldboy">/etc/rsync.password
[root@Rsync-Server-B ~]#rsync -avz/data/ rsync_backup@10.0.0.128::oldboy --password-file=/etc/rsync.password
password file must not beother-accessible
continuing without password file
Password:
@ERROR: auth failed on module oldboy
rsync error: error startingclient-server protocol (code 5) at main.c(1503) [sender=3.0.6]
解决办法:
给密码文件授权
[root@Rsync-Server-B ~]# chmod 600/etc/rsync.password
[root@Rsync-Server-B ~]#rsync -avz /data/rsync_backup@10.0.0.128::oldboy --password-file=/etc/rsync.password
解决办法:
在服务端关闭防火墙
[root@Rsync-Server-A ~]#/etc/init.d/iptables stop
解决办法:
在服务端创建oldboy目录
[root@Rsync-Server-A ~]# mkdir /oldboy
解决办法:
给/oldboy目录修改rsync服务对应的用户我们这里rsync服务对应的用户就是rsync,在服务端操作
[root@Rsync-Server-A ~]# chownrsync.rsync /oldboy/
解决办法:
客户端用telnet检查rsync的端口是否可以连接提示失败我们可以确定是rsync服务本身的原因,在服务端开启rsync服务即可
[root@Rsync-Client-B ~]# telnet10.0.0.128 873
Trying 10.0.0.128...
telnet: connect to address 10.0.0.128:Connection refused
[root@Rsync-Server-A ~]# rsync --daemon
@ERROR: chdir failed
rsync error: error startingclient-server protocol (code 5) at main.c(1503) [sender=3.0.6]
错误原因:模块名字和创建目录的名字不一样所以导致客户端推送时报以下错误信息错误的名字
正确的名字
@ERROR: auth failed on module gong
rsync error: error starting client-serverprotocol (code 5) at main.c(1503) [sender=3.0.6]
解决办法:
原因是因为在rsync.password文件中同时存在两个密码导致无法知道到底是哪个,删除没用的密码即可!
[root@Rsync-Client-B data]# cat/etc/rsync.password
oldboy
jing
sending incremental file list
ERROR: module is read only
rsync error: syntax or usage error (code1) at main.c(866) [receiver=3.0.6]
rsync: read error: Connection reset bypeer (104)
rsync error: error in rsync protocoldata stream (code 12) at io.c(759) [sender=3.0.6]
解决办法:
在服务端的/etc/rsyncd.conf目录中添加read only = false,原因是在服务端的这个配置文件里面没有给可写权限导致的。
"/tmp/crontab.xg7Add" 5L, 127Cwritten
crontab: installing new crontab
"/tmp/crontab.xg7Add":4: badhour
errors in crontab file, can‘t install.
Do you want to retry the same edit?
原因是因为在写计划任务时时间格式不对导致的
#############
00 99 00 999999
1.9 Nginx服务问题汇总
1.9.1 启动Nginx服务时如下错误
[root@Rsync-Server nginx-1.6.2]#/application/nginx/sbin/nginx
/application/nginx/sbin/nginx: errorwhile loading shared libraries: libpcre.so.1: cannot open shared object file:No such file or directory
解决办法查找libpcre.so.1所在路径将路径添加到/etc/ld.so.conf中
[root@Rsync-Server nginx-1.6.2]# find /-name "libpcre.so.1"
/usr/local/lib/libpcre.so.1
[root@Nginx-Server nginx-1.6.2]# cat/etc/ld.so.conf
include ld.so.conf.d/*.conf
/usr/local/lib/
[root@Rsync-Server nginx-1.6.2]#ldconfig
1.9.2 启动Nginx服务时如下错误
[root@Nginx-Server nginx-1.6.2]#/application/nginx/sbin/nginx
nginx: [emerg]getpwnam("nginx") failed
没有创建用户导致的报错,创建完nginx用户即可解决该问题
[root@Nginx-Server nginx-1.6.2]# useraddnginx -s /sbin/nologin -M
1.9.3 安装pcre时执行make时提示如下错误
解决办法:
安装gcc
[root@Nginx-Server ~]# yum -y installgcc-c++
1.9.4 启动Nginx服务时提示
[root@Nginx-Server nginx-1.6.2]# /application/nginx/sbin/nginx-s reload
nginx: [error] open() "/application/nginx-1.6.2/logs/nginx.pid"failed (2: No such file or directory)
原因是Nginx服务本身没有启动解决办法如下:
[root@Nginx-Server conf]#/application/nginx/sbin/nginx
[root@Nginx-Servernginx-1.6.2]#/application/nginx/sbin/nginx -s reload
这个错误是因为自己配置失误造成的在这里我特意记录下导致错误的原因
[root@c66-moban ~]# cd/application/nginx/conf/
[root@c66-moban conf]# vim nginx.conf
以下这个是配置错误的选项因为在html后面没有添加blog.etiantian.org网站的根目录所以导致错误
正确配置如下
[root@c66-moban ~]# cd/application/nginx/html/blog
[root@c66-moban blog]# ls
index.html
[root@c66-moban ~]# cd/application/nginx/conf/
[root@c66-moban conf]# vim nginx.conf
检查语法
[root@c66-moban conf]#/application/nginx/sbin/nginx –t
重新启动Nginx服务
[root@c66-moban conf]#/application/nginx/sbin/nginx -s reload
验证结果
故障原因:
php-fpm没有启动导致此问题.
解决办法:
[root@Nginx_Web02 ~]#/application/php/sbin/php-fpm
1.10 虚拟机问题
1.10.1 虚拟机开机启动后提示如下错误
解决办法:
笔记本是联想T420开机按F1进入
BIOS然后按照下边操作
F10保存退出重新启动即可!
故障原因:
用services.msc查看发现VMware Workstation Server这个服务没有启动造成的
解决办法:
一个很幼稚的问题但是从来没有想过这的原因,启动VMware Workstation Server服务即可!
故障原因:
因为克隆的机器MAC地址导致的
解决办法:
之前的解决办法是将rm -rf /etc/udev/rules.d/70-persistent-net.rules文件删除即可,今次删除此文件后重新启动主机开机后再次重启网卡还是报错,后来发现这个文件根本没有删除,登陆到70-persistent-net.rules文件中查看发现该配置文件中的MAC地址与eth0配置文件中的MAC地址不一致.
没修改之前的eth0网卡MAC地址
修改之后的eth0网卡的MAC地址,将MAC地址修改与70-persistent-net.rules文件中的eth0网卡中的MAC地址一样后删除70-persistent-net.rules,重新启动虚拟机即可解决!
1.11 Mysql数据库服务问题汇总
1.11.1 初始化数据库在tmp目录下无权创建
解决办法:
1.11.2 初始化数据库mysql无法解析
解决办法:修改主机名的解析和uname -n一样
1.11.3 启动mysql数据库报如下错误信息:
[root@Mysql support-files]#/etc/init.d/mysqld start
Starting MySQL ERROR! Couldn‘t findMySQL manager (@bindir@/mysqlmanager) or server (@bindir@/mysqld_safe)
解决办法:
[root@Mysql support-files]# vim/etc/init.d/mysqld
46 basedir=/application/mysql/
47 datadir=/application/mysql/data
1.11.4 直接输入mysql进入数据库提示找不到命令
[root@Mysql support-files]# mysql
-bash: mysql: command not found
第一种解决办法输入mysql数据库的全路径
[root@Mysql support-files]#/application/mysql/bin/mysql
第二种解决办法将mysql路径加入到PATH路径下面
[root@Mysql support-files]# vim/etc/profile
PATH="/application/mysql/bin/:$PATH"
alias grep=‘grep --color=auto‘
让配置文件立即生效
[root@Mysql support-files]# ./etc/profile
[root@Mysql support-files]# source/etc/profile
1.11.5 启动Mysql数据库时报错如下
[root@zibbix ~]# /etc/init.d/mysqld start
Starting MySQL.. ERROR! The server quit without updating PID file(/var/lib/mysql/zibbix.pid).
解决办法:
[root@zibbix ~]# cp /application/mysql/support-files/my-small.cnf /etc/my.cnf
cp: overwrite `/etc/my.cnf‘? y
[root@zibbix ~]# /etc/init.d/mysqld start Starting MySQL.. SUCCES
1.11.6 安装好mysql数据库后无法进入数据库
[root@Mysql ~]# mysql
ERROR 2002 (HY000): Can‘t connect to local MySQL server throughsocket ‘/tmp/mysql.sock‘ (2)
解决办法:
1、Mysql数据库服务没有启动
2、cp /application/mysql/support-files/my-small.cnf /etc/my.cnf
1.11.7 创建数据库无法创建
[root@Web ~]# mysql –uroot –p12156
在数据库里边创建数据库的时候报错
mysql> create database hdwiki;
ERROR 1006 (HY000): Can‘t create database ‘hdwiki‘ (errno: 13)
解决办法:
数据库目录的属主和属组的权限是nginx不是mysql服务的用户所以会报以上的错误信息,将数据库的目录属主改为mysql服务用户就OK了!
[root@Web ~]# ls -dl/application/mysql/data/
drwxr-xr-x. 8 nginx nginx 4096 Feb 1200:38 /application/mysql/data/
[root@Web ~]# chown -R mysql.mysql/application/mysql/data/
ERROR 2002 (HY000): Can‘t connect to local MySQLserver through socket ‘/application/mysql-5.5.32/tmp/mysql.sock‘ (2)
错误原因:
由于初始化数据库没有初始化好.
解决办法:
删除mysql/data下文件
[root@Mysql ~]# rm –rf /application/mysql/data
停止mysql数据库服务
[root@Mysql ~]# killall mysqld
重新初始化数据库
[root@Mysql ~]# /application/mysql/scripts/mysql_install_db--basedir=/application/mysql --datadir=/application/mysql/data --user=mysql
启动mysql即可登录
[root@Mysql ~]# /etc/init.d/mysqld start
-- Could NOT find Curses (missing: CURSES_LIBRARY CURSES_INCLUDE_PATH)
CMake Error at cmake/readlineNaNake:83 (MESSAGE):
Curses library not found. Please install appropriate package,
remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu, package nameis libncurses5-dev, on Redhat and derivates it is ncurses-devel.
Call Stack (most recent call first):
cmake/readlineNaNake:118 (FIND_CURSES)
cmake/readlineNaNake:214 (MYSQL_USE_BUNDLED_READLINE)
CMakeLists.txt:269 (MYSQL_CHECK_READLINE)
-- Configuring incomplete, errors occurred!
故障原因:
缺少curses导致的
解决办法:
[root@Mysql ~]# yum installncurses-devel –y
网上别人遇到同样的问题安装了ncurses还是没有解决,查找到ncurses库目录,然后用-D参数定义宏,指定头文件和库的所在目录.(本人安装了ncurses就OK了只是在网上看到了顺便把此错误记录下)
cmake . -DCURSES_LIBRARY=/usr/lib64/-DCURSES_INCLUDE_PATH=/usr/include/
http://www.wudiweb.com/tech/693914
本文出自 “卓越军” 博客,请务必保留此出处http://wxj121.blog.51cto.com/7136845/1649809
原文地址:http://wxj121.blog.51cto.com/7136845/1649809