nginx入门
一、负载均衡
负载均衡(Load Balance)其含义就是指将负载(工作任务)进行平衡、分摊到多个操作单元上进行运行,例如FTP服务器、Web服务器、企业核心应用服务器和其它主要任务服务器等,从而协同完成工作任务。
Tomcat服务器作为一个Web服务器,其并发数在300-500之间,如果超过500的并发数会出现Tomcat不能响应新的请求的情况,严重影响网站的运行。同时如果访问量非常大的情况下,Tomcat的线程数会不断增加。因此会占据大量内存,严重时出现内存溢出的现象,这时需要重启Tomcat以释放内存,阻断了网站的运行。
所以对Tomcat做负载均衡便很有必要。目前可以和Tomcat做负载均衡的主流服务器是Apache,但是Nginx由于功能多、配置简单等优点成为很多负载均衡服务器的首选。Nginx的并发数可达到50000,所以理论上可以和Tomcat以1:100的比例来配置,这边可以很好的解决网站并发瓶颈问题。
二、nginx简介
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
三、安装nginx
下载稳定版本,并解压
启动成功后,可以通过浏览器输入:http://localhost 或者 http://localhost:80 来验证是否成功
验证完成后,既可以退出nginx的实例。有两种方式:
- 杀线程
- 通过nginx的命令形式。nginx -s stop
四、配置多tomcat实例
1. tomcat准备
分别复制三个tomcat,并修改其目录为tomcat8080,tomcat8081,tomcat8082
2. 修改端口号
第一个tomcat使用默认端口号,其他的两个需要在tomcat的目录下找到conf/server.xml来修改三个端口号
1)监听的关闭端口
默认值8005,加上1和2,修改为8006和8007
2)监听HTTP协议请求端口
默认值是8080,加上1和2,修改为8081和8082
3)监听其他服务器转发来的请求端口
默认值是8009,加上1和2,修改为8010和8011
3. 建立测试项目
在tomcat8080/webapps目录建立demo目录,目录下建立index.jsp文件
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<h1>首页:tomcat8080</h1>
<h2>SessionID:<%=session.getId()%></h2>
</body>
</html>
tomcat8081,tomcat8082中重复上述内容,页面中的端口号修改为对应的即可
4. 验证是否成功
在tomcat8080/bin目录下找到startup.bat,并启动8080端口tomcat服务器
重复上述内容,启动tomcat8081和tomcat8082服务
五、nignx常用命令
- 启动:start nginx
- 停止:nginx -s stop/nginx -s quit
stop是快速停止nginx,可能并不保存相关信息;quit是完整有序的停止nginx,并保存相关信息。 - 修改配置使配置生效:nginx -s reload
- 检查配置:nginx -t
九、常见问题
1. 解压路径的中文字符
2. 授权密码的配置
tomcat使用redis时候,没有配置授权密码,如果redis要求有密码授权的话。
3. tomcat的环境变量
检查本机的环境变量中是否有CATALINA_HOME的配置项,如果有需要将该项删除。否则每一次点击startup.bat都会到本机环境变量中,查找CATALINA_HOME中指定的tomcat的目录,而不是本次nginx课程中使用的tomcat实例。产生了端口号冲突或tomcat的配置与上面配置的不符等问题。