• 【随笔】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-data,在另一个服务器运行得很好,不过在阿里云服务器就不行,不知道是什么原因,不过问题是解决了。  


      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配置文件,这时候用命令netstat lnp | grep nginx 就可以看到nginx已经启动了,使用的配置文件即前面指定使用的配置文件。

  • 相关阅读:
    二叉树相关题目
    二叉树的遍历
    mysql获取某个表中除了某个字段名外的所有字段名
    设计模式之原型模式
    设计模式之工厂方法模式
    设计模式之代理模式
    设计模式之装饰模式
    设计模式之策略模式
    设计模式之简单工厂模式
    Redis的使用及参考代码
  • 原文地址:https://www.cnblogs.com/linxiong945/p/4150640.html
Copyright © 2020-2023  润新知