cnetos系统部署项目uwsgi正常启动查找不到进程

发布时间 2023-06-27 08:52:06作者: 那就凑个整吧

主要原因是因为新买的服务器,参数配置没有更改

  1.解决方案,更改net.core.somaxconn的参数配置

  2.更改uwsgi参数配置

net.core.somaxconn的作用

net.core.somaxconn 是Linux中的一个kernel参数,表示socket监听(listen)的backlog上限。什么是backlog呢?backlog就是socket的监听队列,当一个请求(request)尚未被处理或建立时,他会进入backlog。而socket server可以一次性处理backlog中的所有请求,处理后的请求不再位于监听队列中。当server处理请求较慢,以至于监听队列被填满后,新来的请求会被拒绝。 
        在Hadoop 1.0中,参数 ipc.server.listen.queue.size 控制了服务端socket的监听队列长度,即backlog长度,默认值是128。而Linux的参数 net.core.somaxconn 默认值同样为128。当服务端繁忙时,如NameNode或JobTracker,128是远远不够的。这样就需要增大backlog,例如我们的3000台集群就将 ipc.server.listen.queue.size 设成了32768,为了使得整个参数达到预期效果,同样需要将kernel参数 net.core.somaxconn 设成一个大于等于32768的值

如何修改net.core.somaxconn

Linux中可以工具 syctl 来动态调整所有的kernel参数。所谓动态调整就是kernel参数值修改后即时生效。但是这个生效仅限于os层面,对于Hadoop来说,必须重启应用才能生效。 命令 # sysctl -a  
会显示所有的kernel参数及值。 
修改参数值的语法 
# sysctl -w net.core.somaxconn=32768  
以上命令将kernel参数net.core.somaxconn的值改成了32768。这样的改动虽然可以立即生效,但是重启机器后会恢复默认值。为了永久保留改动,需要用vi在 /etc/sysctl.conf 中增加一行 
net.core.somaxconn= 4000  
然后执行命令 
# sysctl -p