【随笔】nginx重启问题和mysql挂了的解决办法
租了一个阿里云服务器,然后需要一个nginx来处理一下静态文件的访问和动态文件的转发,头一天没有什么问题,第二次打开,各种问题就出来了!解决方法记录一下。。。。
Can‘t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock
表示无法通过/var/run/mysql/mysqld.sock来连接MySQL。
先来看看mysqld.sock这个文件,mysqld.sock是链接MySQL服务器的文件,虽然只有0字节,不过至关重要。
如果现在使用"find / -name mysqld.sock"命令来查找这个文件,结果是空的,说明不存在这个文件。原因其实很简单,mysql.sock文件是在MySQL服务启动后才会创建的一个临时文件,在MySQL服务关闭后就会被删除。所以我们首要的就是看看MySQL是否启动了。
通过命令查看,结果是空的,说明MySQL服务确实没有启动,所以现在就剩下了一个问题,就是启动MySQL服务。
启动MySQL服务的命令是"/etc/init.d/mysql start",如果启动不成功,可以用"ps | grep mysql"来查看一下是否有残存的mysql相关进程,如果有,kill掉这些进程,然后再启动。如果出现:
说明启动成功。如果这时候再查找mysqld.sock文件,就会发现
mysqld.sock出现了,问题自然就解决了。
阿里云服务器MySQL服务莫名其妙在一个小时内挂了2次,找不到什么原因。。。。。只有出现了手动重启下。。。
nginx重启后访问无法找到静态文件,访问权限不足
nginx用以静态文件的访问以及动态文件的反向代理,关于nginx的配置,网上有很多,这里不多介绍了。不过今天碰到一个问题,在配置好重启完毕nginx后,访问主页发现index.html文件能正常访问,不过好多css、js文件却表示找不到。
重新检查了好几次配置文件,均未发现问题,最后在一个帖子上发现了一个解决办法,虽然碰到的情况不一样,不过问题类型还是相同的。
解决访问静态文件权限不足的问题:
在/etc/nginx/nginx.conf文件的头一行,将use XXXX改为了use root 解决问题,use是用以配置nginx运行用户的。原先的配置是use www-date,在另一个服务器运行得很好,不过在阿里云服务器就不行,不知道是什么原因,不过问题是解决了。
nginx: [error] open() "/var/run/nginx.pid" failed (2: No such file or directory)
重启nginx时提示找不到nginx.pid文件,原因时在kill了nginx进程后丢失了nginx.pid文件,再次重启nginx时就会出现这个问题。
网上有各种解决办法,不过还是没有解决问题,最后还是使用了一个老外的办法解决了这个问题。
首先查找nginx.conf配置目录
然后使用命令nginx -c /etc/nginx/nginx.conf
最后再重启nginx。/usr/sbin/nginx -s reload解决问题
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。