并发访问
对于服务器来说,大量的并发访问容易造成服务器宕机
并发访问性能测试
可以通过压力测试来检查高并发访问的性能,例如一个tomcat对上百个并发访问可能就会稍显吃力
解决并发访问问题
1.优化代码
2.提高服务器硬件性能
3.使用服务器集群
Nginx
Nginx是一个轻量级且高性能的Web和反向代理服务器,直接在官网下载后运行即可使用
常用命令
重新加载配置文件:
nginx -s reload
关闭nginx:
nginx -s stop
搭建Nginx+tomcat集群
tomcat集群搭建
1.准备两个tomcat
2.配置环境变量:这里添加两个tomcat,分别设置环境变量CATALINA_HOME1
和CATALINA_HOME2
,值为两个tomcat的目录,然后再把两个地址的\bin
/\lib
目录添加到path
变量当中
3.将两个tomcat的/conf/server.xml
文件里的下面四处进行修改:
<Server port="8005" shutdown="SHUTDOWN"> //修改端口号
<Connector port="8080" protocol="HTTP/1.1"...> //修改端口号
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> //修改端口号
<Engine name="Catalina" defaultHost="localhost" jvmRoute=""> //设置jvmRoute属性为自定义值
4.编辑两个tomcat的/bin
下的start.bat
、shutdown.bat
和catalina.bat
文件,将里面的%CATALINA_HOME%
都改成对象的环境变量名%CATALINA_HOME1%
和%CATALINA_HOME2%
5.启动前最好先检查下tomcat的访问端口是否被占用(用netstat -ano
命令)
参考:https://www.cnblogs.com/wryu/p/7327298.html
Nginx负载均衡配置
1.编辑conf下的nginx.conf
文件,进行如下配置:
upstream server1{ #新添一个upstream标签,自定义名称,最好不要有下划线,容易报错
server 127.0.0.1:8081; #所有tomcat服务器
server 127.0.0.1:8082 weight=2; #可以通过weight设置权重,越高访问越多
}
server {
listen 80;
server_name localhost(访问地址);
location / {
root html;
proxy_pass http://server1 #(反向代理地址:填前面添加标签的名称);
index index.html index.htm;
proxy_set_header Host $host;
# 由于反向代理时nginx会代替客户端向服务端发起请求,所以服务端得到的请求host将会是nginx的地址,而添加这句,则服务端就可以获取到请求的host
}
...
}
配置完成后再访问:http://127.0.0.1,此时Nginx便会自动分配其中一个服务器来予以访问
Linux下配置Nginx
可以通过nginx -t
查找nginx.conf
文件的位置,打开后文件里面可能没有server
配置,但如果看到引用文件的语句,如下面这句话时:
include /etc/nginx/conf.d/*.conf;
那么说明server
配置在引用路径下的文件里,一般会有默认的default.conf
,直接在里面配置即可
Tomcat项目目录配置
在单个tomcat时,项目工程都是存放于webapp目录下,但是在tomcat集群下如果还是一个一个tomcat下存放项目则当项目修改时还得一起修改,不太现实,因此可以使用下面方法:
(1)新建一个目录存放项目
(2)在每个tomcat的conf/Catalina/localhost
目录下新建一个xxx.xml
文件,名字就是访问该项目的路由,然后文件里写以下内容:
<?xml version="1.0" encoding="utf-8"?>
<Context docBase="项目目录"/>
此时访问:http://127.0.0.1/xxx,即可访问到项目
注:
如果希望访问:http://127.0.0.1就是项目内容,那可以将文件名设置为ROOT.xml
,此时该项目就会成为默认项目
网友评论