3.25、奥克斯项目Apache的server reached MaxClients setting问题

apachelog报错:[mpm_worker:error] [pid 2486:tid 140526322251584] AH00287: server is within MinSpareThreads of MaxRequestWorkers, consider raising the MaxRequestWorkers setting

解答:检查了一下,这是由于并发链接数太多导致的!

解决:

ps -ef | grep httpd | grep -v grep | wc -l    --查看进程量

netstat -ant | grep -E ":80|:443" | wc -l    ----查看连接数

netstat -ant | grep ESTABLISHED | grep -E ":80|:443"   ---查看建立连接数

# vi /usr/local/apache2/conf/extra/httpd-mpm.conf

<IfModule mpm_worker_module>

StartServers             3

MinSpareThreads         75

MaxSpareThreads        250

ThreadsPerChild         25

ServerLimit            2000

MaxRequestWorkers      1000

MaxConnectionsPerChild   0

</IfModule>

3.26、奥克斯项目 限制单个IP进行连接的线程,不允许多线程连接资源

对于IP限制,采用了 mod_limitipconn 这个模块。

这个模块的优点是配置简单,缺点是不能够针对单独的文件夹或者文件进行设置,而且不支持虚拟主机。

在 apache 中安装了这个模块后,在配置文件中添加如下几段就可以生效了:

ExtendedStatus On

< IfModule mod_limitipconn.c >

< Location / >          # 所有虚拟主机的/目录

MaxConnPerIP 3      # 每IP只允许3个并发连接

NoIPLimit image/*      # 对图片不做IP限制

< /Location >

< Location /mp3 >            # 所有主机的/mp3目录

MaxConnPerIP 1              # 每IP只允许一个连接请求

OnlyIPLimit audio/mpeg video    # 该限制只对视频和音频格式的文件

< /Location >

< /IfModule >

3.27、奥克斯项目No space left on device: Cannot create SSLMutex

错误提示“No space left on device: Cannot create SSLMutex”,这一句的含义是没有剩余资源创建 SSLMutex 共享变量

联想到了Linux无法创建句柄,并会无法提供服务,于是查看共享变量资源的占用情况

ipcs : ipcs provides information on the ipc facilities for which the calling process has read access.

# ipcs -s

------ Semaphore Arrays --------

key        semid      owner      perms      nsems

0x00000000 0          root       600        1

0x00000000 32769      root       600        1

0x00000000 163842     apache     600        1

0x00000000 196611     apache     600        1

0x00000000 229380     apache     600        1

0x00000000 262149     apache     600        1

0x00000000 294918     apache     600        1

发现共享变量有数百个被apache进程占用,无法释放,资源耗尽了。

于是,需要删除占尽的共享变量信号资源,删除命令如下:

# ipcs -s | perl -ane '/^0x00000000/ && `ipcrm -s $F[1]`'

查看 ipcs 的限制参数:ipcs -l

# ipcs -l

------ Shared Memory Limits --------

max number of segments = 4096

max seg size (kbytes) = 67108864

max total shared memory (kbytes) = 17179869184

min seg size (bytes) = 1

------ Semaphore Limits --------

max number of arrays = 128

max semaphores per array = 250

max semaphores system wide = 32000

max ops per semop call = 32

semaphore max value = 32767

------ Messages: Limits --------

max queues system wide = 3751

max size of message (bytes) = 65536

default max size of queue (bytes) = 65536

显示发现,Semaphore Limits 最大为128,超过了这个数量,httpd 服务将会无法再启动,也就导致了上面的网站打不开。

3.28、奥克斯项目tomcat内存泄漏存入dump文件

很多tomcat进程退出(或者进程假死),都是由于频繁的抛出OutOfMemeoryError导致的。

  为了让tomcat退出前或者发生OutOfMemeoryError时自动dump堆栈信息,方便事后排查问题,我们可以做如下操作:

  1、 在tomcat启动参数中加入两个参数 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/export /oom.hprof

  2、 重启tomcat

  参数说明

  (1)-XX:+HeapDumpOnOutOfMemoryError 表示当JVM发生OOM时,自动生成DUMP文件。

  (2)-XX:HeapDumpPath=存储文件/目录 表示生成DUMP文件的路径

3.29、奥克斯项目tomcat的Session超时的三种配置

设置Session超时时间方式:

方式一:
 在web.xml中设置session-config如下:
 <session-config>
  <session-timeout>2</session-timeout>
 </session-config>
 
 即客户端连续两次与服务器交互间隔时间最长为2分钟,2分钟后session.getAttribute()获取的值为空

方式二:
 在Tomcat的/conf/web.xml中session-config,默认值为:30分钟
 <session-config>
       
<session-timeout>30</session-timeout>
    </session-config>
 
方式三:
 在Servlet中设置
  HttpSession session = request.getSession();
  session.setMaxInactiveInterval(60);//单位为秒

说明:
 1.优先级:Servlet中API设置 > 程序/web.xml设置
> Tomcat/conf/web.xml设置
 2.若访问服务器session超时(本次访问与上次访问时间间隔大于session最大的不活动的间隔时间)了,即上次会话结束,但服务器与客户端会产生一个新的会话,之前的session里的属性值全部丢失,产生新的sesssionId
 3.客户端与服务器一次有效会话(session没有超时),每次访问sessionId相同,若代码中设置了session.setMaxInactiveInterval()值,那么这个session的最大不活动间隔时间将被修改,并被应用为新值。
 4.Session的销毁(代表会话周期的结束):在某个请求周期内调用了Session.invalidate()方法,此请求周期结束后,session被销毁;或者是session超时后自动销毁;或者客户端关掉浏览器

3.38、长安项目apache报错ap_proxy_connect_backend disabling worker  for (127.0.0.1)

解决办法是在apache http服务器虚拟主机配置中向代理程序指令添加“重试=0”参数,这样它就不会等待默认的60秒才能重试。

ProxyPass / http://backendserver:8080/
retry=0

WMS日常运维_WJC的更多相关文章

  1. hadoop日常运维与升级总结

    日常运维 升级 问题处理方法 日常运维 进程管理 由于配置文件的更改,需要重启生效, 或者是进程自己因某种致命原因终止, 或者发现进程工作出现异常等情况下,需要进行手动进程的关闭或启动, 或者是增删节 ...

  2. zookeeper 用法和日常运维

    本文以ZooKeeper3.4.3版本的官方指南为基础:http://zookeeper.apache.org/doc/r3.4.3/zookeeperAdmin.html,补充一些作者运维实践中的要 ...

  3. hadoop记录-hadoop集群日常运维命令

    hadoop集群日常运维命令 #1.namenode hadoop namenode -format #格式化,慎用 su hdfs hadoop-daemon.sh start namenode h ...

  4. Jenkins日常运维笔记-重启数据覆盖问题、迁移、基于java代码发版(maven构建)

    之前在公司机房部署了一套jenkins环境,现需要迁移至IDC机房服务器上,迁移过程中记录了一些细节:1)jenkins默认的主目录放在当前用户家目录路径下的.jenkins目录中.如jenkins使 ...

  5. Docker Swarm 日常运维命令笔记

    之前介绍了Docker管理工具-Swarm部署记录,这里简单总结下Docker Swarm的日常维护命令,以作为平时运维笔记. Swarm作为一个管理Docker集群的工具,首先需要将其部署起来,可以 ...

  6. Windows系统日常运维

    WINDOWS系统日常运维 http://www.docin.com/p-677263438.html

  7. MySQL 日常运维业务账号权限的控制

    在MySQL数据库日常运维中,对业务子账号的权限的统一控制十分必要. 业务上基本分为读账号和写账号两种账号,所以可以整理为固定的存储过程,让数据库自动生成对应的库的账号,随机密码.以及统一的读权限,写 ...

  8. mysql日常运维与参数调优

    日常运维 DBA运维工作 日常 导数据,数据修改,表结构变更 加权限,问题处理 其它 数据库选型部署,设计,监控,备份,优化等 日常运维工作: 导数据及注意事项 数据修改及注意事项 表结构变更及注意事 ...

  9. Hbase 日常运维

    日常维护的命令 1,major_compact 'testtable',通常生产环境会关闭自动major_compact(配置文件中hbase.hregion.majorcompaction设 为0) ...

随机推荐

  1. mysql IFNULL

    IFNULL(v1,v2); 其中:如果 v1 不为 NULL,则 IFNULL 函数返回 v1; 否则返回 v2 的结果.

  2. Java精通并发-Lock与synchronized关键字在底层的区别及实例分析

    在上两次中已经将Lock这个接口的整个官方说明进行了阅读,这次来了解一下它的一个非常重要的实现类: 啥叫“可重入”呢?其实是指一个线程已经拿到了锁,然后该线程还能再次获取这把锁,接下来在了解它之前先用 ...

  3. 开启了wpjam以后网站语言不能设置英文的解决方法

    一位网友问ytkah开启了wpjam以后网站语言不能设置英文了这是什么情况?选择English保存以后还是简体中文,禁用插件再设置语言是可以设为English,好几个站点都是这样 其实很简单,只要把这 ...

  4. C++的map用法

    图,自动建立表示关键字和键值(key - value)之间的对应关系,两者可以是任何数据类型,key唯一并且自动排序,value不唯一. 1.头文件#include<map> 2.map& ...

  5. day007-python函数之课后作业讲解

    作业一: 需求:写函数,计算传入字符串中的[数字].[字母].[空格]以及[其他]的个数 #!/usr/bin/env python # -*- coding:utf-8 -*- #先定义一个函数 d ...

  6. 基于Docker方式实现Elasticsearch集群

    采用docker容器,搭建两个es集群,可根据步骤自行扩展n+集群 1.创建es挂载目录 cd /usr/localmkdir -p es/config 2.创建es存放数据目录 cd esmkdir ...

  7. 网络命令——last、lastlog、traceroute、netstat

    1.last命令(查看目前和过去用户的登录信息) 2.lastlog命令(检查某用户上次登录的时间): 3.traceroute命令: 显示数据包到主机间的路径. 4.netstat命令: 查看本机已 ...

  8. Ubuntu下手动安装vscode

    Ubuntu下手动安装vscode1.下载vscodewget https://vscode.cdn.azure.cn/stable/553cfb2c2205db5f15f3ee8395bbd5cf0 ...

  9. socket数据传输

    目录 subprocess模块 struct模块: 粘包问题: QQ聊天的实现: 文件的传输: 大文件的传输: 传输层协议: TCP : UDP: FTP: socketServer模块: subpr ...

  10. ffmpeg结合SDL编写播放器(三)

    接下来是解析影片的帧 /*** project.c ***/ #include<stdio.h> #include<libavcodec/avcodec.h> #include ...