美文网首页
Linux服务器性能优化+安全配置方案参数

Linux服务器性能优化+安全配置方案参数

作者: 不是王大锤 | 来源:发表于2019-06-11 11:42 被阅读0次

    一、Tomcat参数配置

    1、 禁用AJP连接

           在Tomcat的conf文件下的server.Xml文件中找到下面的句子注释掉,重启Tomcat就可以禁用AJP,注释如下:

    <!-- Define an AJP 1.3 Connector on port 8009 -->
    <!-- <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> -->
    

    Nginx+Tomcat架构是使用不上AJP的,Tomcat打开的时候会默认开启AJP,所以禁用AJP节省资源。

    2、 修改成nio运行模式

          在Tomcat的conf文件下的server.Xml文件中端口号后面的protocol改成以下内容即可,重启Tomcat生效

    <Connector port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol"
               connectionTimeout="2000000"
     redirectPort="8443" />
    

    tomcat的运行模式有3种:
    (1) bio默认的模式,性能非常低下,没有经过任何优化处理和支持.
    (2)nionio(new I/O),是Java SE 1.4及后续版本提供的一种新的I/O操作方式(即java.nio包及其子包)。Java nio是一个基于缓冲区、并能提供非阻塞I/O操作的Java API,因此nio也被看成是non-blocking I/O的缩写。它拥有比传统I/O操作(bio)更好的并发运行性能。
    (3)apr安装起来最困难,但是从操作系统级别来解决异步的IO问题,大幅度的提高性能.
    推荐使用nio,不过,在tomcat8中有最新的nio2,速度更快,建议使用nio2.

    3、 配置线程池

          在Tomcat的conf文件下的server.Xml文件中修改,重启Tomcat生效:

    <Executor name="tomcatThreadPool" namePrefix="catalina-exec-"
    maxThreads="500" minSpareThreads="200" 
    prestartminSpareThreads="true" maxQueueSize="100"/>
    

    合理的参数配置需要根据服务器硬件和系统进行调整,需要经过多次性能测试验证

    参数说明:
    maxThreads:最大并发数,默认设置 200,一般建议在 500 ~ 1000,根据硬件设施和业务来判断
    minSpareThreads:Tomcat 初始化时创建的线程数,默认设置 25
    prestartminSpareThreads: 在 Tomcat 初始化的时候就初始化 minSpareThreads 的参数值,如果不等于 true,minSpareThreads 的值就没啥效果了
    maxQueueSize,最大的等待队列数,超过则拒绝请求

    4、 配置jvm

          在Tomcat的bin目录下的catalina.sh文件里添加内容。

    现公司服务器一般内存总4G,Tomcat分配2G ,所以可以采取以下配置:

    JAVA_OPTS='-Xms512m -Xmx2048m -XX:PermSize=512m -XX:MaxNewSize=512m -XX:MaxPermSize=2048m'
    

    参数说明
    server 启用jdk 的 server 版; -Xms java虚拟机初始化时的最小内存; -Xmx java虚拟机可使用的最大内存; -XX: PermSize 内存永久保留区域 -XX:MaxPermSize 内存最大永久保留区域

    5、 修改Tomcat关闭实例指令

          在Tomcat的conf文件下的server.Xml文件中修改,重启Tomcat生效:

    <Server port="8010" shutdown="wahaha">
    

    关闭 Tomcat 的默认端口为8005,指令为SHUTDOWN 。在运维过程中基本用不上,但出于安全考虑,为防止被远程连接关闭Tomcat,最好修改成其他的端口和关闭命令。

    6、 隐藏Tomcat版本号

    #yum install unzip   #安装解压工具,提示按y即可
    

    进入Tomcat的lib目录下

    # cd /opt/tomcat/lib/
    # cp catalina.jar /tmp/  #备份文件
    

    解压jar包

    # unzip catalina.jar
    

    修改版本信息

    # vi org/apache/catalina/util/ServerInfo.properties
    server.info=x
    server.number=x
    server.built=x
    

    重新打包成jar包

    cd  /tomcat/lib
    jar uvf catalina.jar org/apache/catalina/util/ServerInfo.properties
    

    重启Tomcat生效
    隐藏报错和Tomcat页面提示的版本号,防止被人从版本漏洞攻击服务器

    二、Nginx参数配置

    Nginx只需要配置nginx.conf文件

    1、文件顶部配置内容

    worker_processes  auto;  #auto自动检测最佳运算进程数
    worker_rlimit_nofile 100000; #设置进程打开文件最大数
    

    2、events模块中配置内容

    worker_connections 2048;  #进程同时打开的最大连接数,默认为1024
    use epoll;  #Linux系统使用epoll非阻塞模式
    multi_accept on;   #nginx收到一个新连接通知后接受尽可能多的连接。
    

    3、http模块中配置内容

    tcp_nopush   on; #在一个数据包里发送所有头文件,而不一个接一个的发
    tcp_nodelay   on; #不缓存数据,而是一段一段的发送
    client_max_body_size 2000m; #文件上传大小限制
    keepalive_timeout  650;  #文件上传时间限制
    autoindex off;  #不允许列出整个目录,降低代码被盗用风险,默认是关闭状态,为保证处于关闭状态,还是设置确认为好,
    server_tokens off;  #隐藏Nginx版本号
    

    相关文章

      网友评论

          本文标题:Linux服务器性能优化+安全配置方案参数

          本文链接:https://www.haomeiwen.com/subject/cbiffctx.html