简单的方法
Tomcat安装目录下的bin目录有两个脚本分别用来启动和停止Tomcat,分别是startup.sh, shutdown.sh,你可以用这两个脚本来手工启动和停止Tomcat服务并进行安装后的测试。我们最简单的方法就是通过startup.sh来自动启动Tomcat,编辑/etc/rc.d/rc.local 增加内容.
继续阅读 »
在linux普通用户下面,使用daemon进行设置tomcat在普通用户下开机启动,但是之前tomcat的编码是正常的,但是使用了该插件后,日志出现了乱码,解决方案如下:
在daemon.sh中加入一下代码:
```
CHANGE BY PHPDRAGON
Repair of Tomcat container Garbled problem
CATALINA_OPTS="$CATALINA_OPTS -Dfile.encoding=UTF-8"
Tomcat optimization
JAVA_OPTS="$JAVA_OPTS -server -Xms2560m -Xmx2560m -Xss1280k -XX:Perm
继续阅读 »
tomcat-redis-session-manager
用tomcat默认的方式来管理session是很有问题的,比如项目重启tomcat,用户会话就会丢失,这样用户体验非常糟糕。应用只要稍微上点规模或者需要多机负载,这是必须做的工作了。
web server自带解决方案有2:
tomcat有自带的session共享方式cluster,多个tomcat实时复制session。缺点是服务器之间会频繁的进行数据同步,如果在不同机器上网络开销会非常大,而且数据同步会有延迟的,这可能导致数据不一致,还有缺点就是session在每台机器都保有一份,太浪费资源了!
ngnix有基于ip hash转发的策略,用这个来保证每个IP每次
继续阅读 »
理论
如果能够很好的学习和使用一个工具,最简单的方式便是从官方文档中学习。Tomcat7 Cluster配置如下:http://tomcat.apache.org/tomcat-7.0-doc/cluster-howto.html。对于国内的it人员来说,看英文是比较头疼的事情,对本人也是如此。
继续阅读 »
机器环境
Windows:Win7 64 bit
Java:java version "1.8.0_45";Java HotSpot(TM) 64-Bit Server VM
Solr:5.5
Lucene:5.5
Tomcat:8.0.32
Lucene和Solr下载地址:http://lucene.apache.org/
Windows选择下载zip压缩包,Linux选择下载tgz压缩包
Tomcat下载地址:http://tomcat.apache.org/ ,选择Binary Distributions下的Core中的64-bit Windows zip (pgp, md5, sha1)下载之后文件名称是:apache-
继续阅读 »
今天系统突然响应慢了很多,所以就考虑对目前的系统进行优化,底层mysql开启慢查询日志的记录,同时使用一些测试的工作对网站的性能进行测试。我们使用chrome浏览器进行分析加载速度的时候发现很多没有注意到的细节,这是我们以后运维需要加强学习的地方。我们发现有很多css和js文件都100多kb,造成资源加载的时候会非常慢,同时使用一些在线工具eg阿里测等进行监测,我们确实有很多工作可以做,例如开启tomcat的gzip压缩。
继续阅读 »
基本上常用的项目有两种,一种是Java Project,另一种是Web Project,下面就以这两种项目为例,来阐释如何在项目中加载dll文件。
Java中调用dll的方式
System.load()
java
/**
*Loads the native library specified by the filename argument. The filename argument must be an absolute path name.
*/
public static void load(String filename)
//等价于
Runtime.getRuntime().load(name)
由JDK的说明文
继续阅读 »
在慕课网上看了高并发的课程,准备用spring+Mybaits来开发新的项目。遇到了前端跨域请求的问题。
服务器上nginx+tomcat,其中nginx监听80端口,tomcat监听8080端口。
因为对前端不熟悉,以为用ajax就可以不需要callback,然而前端的同学说不跨域的情况下才不需要callback,让我在返回的json里加上。可是我刚刚学会了最基本的spring-mvc用法,根本不知道怎么加上callback :joy:
继续阅读 »
Nginx得到反向代理前的真实IP
Java Servlet可以通过request.getRemoteAddr()得到请求的客户端的IP
现在一般情况下都不是直接用Tomcat或者Jetty这样的web容器,都会在前面加上Nginx或者Tengine之类的静态Web容器来反向代理。
由于经过了Nginx转发请求,通过request.getRemoteAddr()得到的IP就成了127.0.0.1
可以在Nginx配置里加上
proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for;
这个意思是在nginx做反向代理的时候把代理前的地址放到http hea
继续阅读 »
最近在学习web services,网上先关的资料不多,讲的都是很基础,例子也很简单,自己动手敲了敲在这里和大家分享一下,希望能对初学者有所帮助。
Web Services服务器端开发
服务器端开发用的是XFire,版本是1.2.6,XFire现在已经成apache下面的一个项目CXF的一部分了,老早就不更新版本了,XFire过不过时我是不知道,不过还有一些人在用。
开发环境是:IDEA,Tomcat 8.0
新建一个项目,可以是web project也可以是web service project,区别不大。项目建好之后:(项目名假设为:webservice)
1、下载XFire1.2.6.jar
加压下载好的文件,将l
继续阅读 »