Tomcat的配置,设置内存,获取用户IP
一、修改配置文件
tomcat配置文件路径/tomcat/bin/server.xml
# shutdown指定终止Tomcat服务器运行时,发给Tomcat 服务器的shutdown监听端口的字符串.该属性必须设置
<Server port="8005" shutdown="SHUTDOWN"> <!-- Security listener. Documentation at /docs/confi g/listeners.html
<Listener className="org.apache.catalina.security.S ecurityListener" /> <!--APR library loader. Documentation at /docs/apr. html -->
<Listener className="org.apache.catalina.core.AprL ifecycleListener" SSLEngine="on" />
<!-- Prevent memory leaks due to use of particular j ava/javax APIs-->
<Listener className="org.apache.catalina.core.JreM emoryLeakPreventionListener" />
<Listener className="org.apache.catalina.mbeans.G lobalResourcesLifecycleListener" />
<Listener className="org.apache.catalina.core.Thr eadLocalLeakPreventionListener" />
二、service服务配置
<Connector port="8221" protocol="HTTP/1.1" #po rt 端口配置
connectionTimeout="20000" #connectionTimeou t指定超时的时间数(以毫秒为单位)
maxThreads="3000" #tomcat起动的最大线程 数,即同时处理的任务个数,默认值为200
minSpareThreads="100" #初始化时创建的 线程数
acceptCount="800" #指定当所有可以使用的处理请求 的线程数都被使用时,可以放到处理队列中的请求数,超 过这个数的请求将不予处理
maxKeepAliveRequests="200" #表示该连接最大支 持的请求数。超过该请求数的连接也将被关闭(此时就会 返回一个Connection: close头给客户端)。
URIEncoding="UTF-8" #指定字符集
redirectPort="8443" /> #指定服务器正在处理http请求 时收到了一个SSL传输请求后重定向的端口号
三、设置Tomcat 内存限制,优化catalina.sh配置文件。在catalina.sh配置文件中添加以下代码:
JAVA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8 -server -Xms1024m -Xmx1024m -XX:NewSize=512m -XX:MaxNewSize=512m -XX:PermSize=512m -XX:MaxPermSize=512m"
server:一定要作为第一个参数,在多个CPU时性能佳 -Xmx:初始堆内存heap最大值,使用的最大内存 -XX:PermSize:设定内存的永久保存区域
-XX:MaxPermSize:设定最大内存的永久保存区域
-XX:MaxNewSize:
-Xss 这使得JBoss每增加一个线程(thread)就会立即消耗15M内存,而最佳值应该是128K,默认值好像是512k.
+XX:AggressiveHeap 会使得 Xms没有意义。这个参数让jvm忽略Xmx参数,疯狂地吃完一个G物理内存,再吃尽一个G的swap。
-Xss:每个线程的Stack大小
-verbose:gc 现实垃圾收集信息
-Xloggc:gc.log 指定垃圾收集日志文件
-Xmn:young generation的heap大小,一般设置为Xmx的3
-XX:+UseParNewGC :缩短minor收集的时间
-XX:+UseConcMarkSweepGC :缩短major收集的时间
例子:我公司服务器Tomcat内存设置如下
服务器硬件:2核8G
tomcat实例:3个tomcat实例
四、Tomcat获取用户IP地址
在tomcat配置文件/conf/server.xml下配置
<Valve className="org.apache.catalina.valves.Access LogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t %r %s %b" />
前面有负载均衡的时候,获取真实IP可以使用下面的配置
<Valve className="org.apache.catalina.valves.Access LogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt"
pattern="%{X-Forwarded-For}i %h %l %u %t %r %s % b" />
五、tomcat启动停止脚本
#!/bin/bash
# chkconfig:
# description: Tomcat is a Java Servlet Container TOMCAT_HOME=/usr/local/tomcat TOMCAT_PID=`ps -ef |grep "$TOMCAT_HOME" |grep -v "grep" |awk '{print $2}'`
if [ -z $TOMCAT_PID ];then else
echo "$0 is running"
fi
}
stop () {
TOMCAT_PID=`ps -ef |grep "$TOMCAT_HOME" |grep -v "grep" |awk '{print $2}'`
if [ -z $TOMCAT_PID ];then else kill - "$TOMCAT_PID" && echo "PID 16
fi
}
status () {
TOMCAT_PID=`ps -ef |grep "$TOMCAT_HOME" |grep -v "grep" |awk '{print $2}'`
if [ -z $TOMCAT_PID ];then else fi
}
case $ in
start)
start
#tail -f $TOMCAT_HOME/logs/catalina.out
;;
stop)
stop
;;
status)
status
;;
restart)
stop
start
#tail -f $TOMCAT_HOME/logs/catalina.out
;;
*)
echo "Usage:$0 {start|stop|status|restart}."
;;
esac
提示: 本脚本不提供log,还需要在脚本后面加上&& tailf logs/catalina.out
Jar包介绍
jar包种类介绍 http://blog.csdn.net/helloxiaoliang/article/details/39030909
很多时候开发会给我们一个jar包,让我们进行运行.启动命令如下:
jar 包启动
[root@tomcat univ-public]# nohup java -jar jar 包名称.jar > user.out &
Tomcat的配置,设置内存,获取用户IP的更多相关文章
- Haproxy配置支持https获取用户IP地址
global log 127.0.0.1 local0 chroot /var/lib/haproxy #chroot运行路径 pidfile /var/run/haproxy.pid #haprox ...
- easyui datagrid 禁止选中行 EF的增删改查(转载) C# 获取用户IP地址(转载) MVC EF 执行SQL语句(转载) 在EF中执行SQL语句(转载) EF中使用SQL语句或存储过程 .net MVC使用Session验证用户登录 PowerDesigner 参照完整性约束(转载)
easyui datagrid 禁止选中行 没有找到可以直接禁止的属性,但是找到两个间接禁止的方式. 方式一: //onClickRow: function (rowIndex, rowData) ...
- 获取用户Ip地址通用方法常见安全隐患(HTTP_X_FORWARDED_FOR)
分析过程 这个来自一些项目中,获取用户Ip,进行用户操作行为的记录,是常见并且经常使用的. 一般朋友,都会看到如下通用获取IP地址方法. function getIP() { if (isset($_ ...
- CDN 环境下获取用户IP方法
CDN 环境下获取用户IP方法 1 cdn 自定义header头的X-Real-IP,在后端使用$http_x_real_ip获得 proxy_set_header X-Real-IP $remote ...
- go 通过nginx代理后获取用户ip
go 如果使用自己的服务器,可以直接使用 net/http 来获取 func ip(w http.ResponseWriter, r *http.Request) { fmt.Println(r.Re ...
- Flask框架获取用户IP地址的方法
本文实例讲述了python使用Flask框架获取用户IP地址的方法.分享给大家供大家参考.具体如下: 下面的代码包含了html页面和python代码,非常详细,如果你正使用Flask,也可以学习一下最 ...
- C# 获取用户IP地址(转载)
[ASP.NET开发]获取客户端IP地址 via C# 说明:本文中的内容是我综合博客园上的博文和MSDN讨论区的资料,再通过自己的实际测试而得来,属于自己原创的内容说实话很少,写这一篇是为了记录自己 ...
- 【用jQuery来判断浏览器的类型】及【javascript获取用户ip地址】
用jQuery来判断浏览器的类型,主要是使用$.browser这个工具类,使用方法: $.browser.['浏览器关键字'] //谷歌浏览器.360浏览器等其他一些浏览器,没有专门的判断 funct ...
- PHP:获取用户IP
文章来源:http://www.cnblogs.com/hello-tl/p/7685263.html //获取用户ip(外网ip 服务器上可以获取用户外网Ip 本机ip地址只能获取127.0.0.1 ...
随机推荐
- 在R语言中封装类读写sql操作工具类
1.mysql_helper.R # 使用RMySQL操作数据库 # 载入DBI和RMySQL包 library(DBI) library(RMySQL) mysql_con <- functi ...
- 回车(CR)换行(LF)的来历及区别
转自https://blog.csdn.net/lw370481/article/details/8229344 一.回车”(Carriage Return)和“换行”(Line Feed)起源 回车 ...
- 挂载xfs磁盘
# 磁盘初始化 [root@localhost ~]# fdisk /dev/sdb Welcome to fdisk (util-linux 2.23.2). Changes will remain ...
- Appium+python移动端自动化测试-python库及pycharm安装(二)
一.安装python库 安装python库有很多种方法,如pip安装.源文件安装.运行包安装,但我们最常用的就是使用pip进行安装 Appium+python做移动端的自动化测试,所需要安装以下pyt ...
- 设计模式中类的关系UML
在java以及其他的面向对象设计模式中,类与类之间主要有6种关系,他们分别是:依赖.关联.聚合.组合.继承.实现.他们的耦合度依次增强. 1. 依赖(Dependence) 依赖关系的定义为:对于两 ...
- Spark2.0机器学习系列之7: MLPC(多层神经网络)
Spark2.0 MLPC(多层神经网络分类器)算法概述 MultilayerPerceptronClassifier(MLPC)这是一个基于前馈神经网络的分类器,它是一种在输入层与输出层之间含有一层 ...
- C#生成电子印章源码
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using Sy ...
- 国内NLP的那些人那些会
统计学和语言学专家都列在一起了,没有区分.1,黄昌宁,1937年生于广东,1955年考入清华大学电机系,1961年毕业并留校任教至博士生导师, 1983-1984年赴美国耶鲁大学进修,1986-198 ...
- (转)C语言中Exit函数的使用
C语言中Exit函数的使用 exit() 结束当前进程/当前程序/,在整个程序中,只要调用 exit ,就结束return() 是当前函数返回,当然如果是在主函数main, 自然也就结束当前进程了,如 ...
- Singleton: this & instance
public class Singleton{ private static final Singleton instance = new Singleton(); private String na ...