1、Nginx介绍
Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。
其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。2011年6月1日,nginx 1.0.4发布。
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
特点:
1.内存少 不超过2M tomcat服务器大约占用600M
2.并发能力强 3-5万次/秒 tomcat服务器大约 150-220之间
2、Nginx安装使用
注意事项:
- 不要将nginx放到C盘及系统目录中 注意中文路径和空格.
- nginx服务器启动的速度特别快, 窗口会闪退 只启动一次即可
- nginx启动会占用80端口.
- nginx命令的运行必须在nginx.exe所在的目录中执行.
2.1、Nginx命令
1).启动命令 start nginx
2).重启命令 nginx -s reload
3).停止命令 nginx -s stop
2.2、Nginx服务器启动项说明
2.3、关于nginx反向代理说明
http {
# 一个反向代理就是一个server
server {
#监听 80端口
listen 80;
#监听的域名 域名不能重复.
server_name localhost;
#执行的反向代理的动作 / 拦截所有的路径
location / {
# root关键字 代理的是一个目录
root html;
#默认跳转页面
index index.html index.htm;
}
}
}
3、Nginx实现图片回显
3.1、Nginx配置
# 图片服务器代理 image.jt.com:80
server {
listen 80;
server_name image.jt.com;
location / {
# 转向目录
root D:/JT-SOFT/images;
}
}
3.2、修改hosts文件
3.2.1、hosts文件的说明
3.2.2、hosts文件的位置
3.2.3、以超级管理员运行
# 京淘配置
#左侧写IP地址 右侧写域名 中间使用空格分隔
127.0.0.1 image.jt.com
127.0.0.1 manage.jt.com
#实现 nginx的
#192.168.126.129 image.jt.com
#192.168.126.129 manage.jt.com
127.0.0.1 www.jt.com
#Bug 有时在使用该软件时可能会出现丢失字母的现象.
127.0.0.1 sso.jt.com
4、Nginx实现Tomcat集群部署
4.1、项目部署
4.2、服务器反向代理
#配置京淘后台管理服务器
# manage.jt.com localhost:8091服务器
server {
listen 80;
server_name manage.jt.com;
location / {
#映射服务器
proxy_pass http://localhost:8091;
}
}
4.3、修改Nginx服务器之后,重启Nginx
4.4、动态获取当前服务器端口号
@RestController
public class PortController {
//从spring服务器中动态的获取端口号
@Value("${server.port}")
private Integer port;
@RequestMapping("/getPort")
public String getPort(){
return "当前服务器访问的端口号:"+port;
}
}
4.4、项目打包
之后从项目的target目录中动态获取jar包文件,准备集群部署。
4.5、项目发布命令
注意事项: 当前的命令执行 会占用dos命令窗口 打印控制台信息. 当dos命令窗口关闭 服务器停止.
退出dos命令窗口: ctrl + c
java: java -jar 8081.war
5、Nginx负载均衡实现
5.1、轮询机制
说明:按照配置文件的顺序,依次访问服务器。
#配置京淘后台管理服务器
# manage.jt.com localhost:8091服务器
server {
listen 80;
server_name manage.jt.com;
location / {
#映射服务器
#proxy_pass http://localhost:8091;
proxy_pass http://jtWindows;
}
}
# 配置tomcat服务器集群 1.轮询策略
upstream jtWindows {
#server代表服务器地址
server 127.0.0.1:8081;
server 127.0.0.1:8082;
}
5.2、权重机制
说明::按照权重的设置,让性能更优的服务器多处理请求。
# 配置tomcat服务器集群 1.轮询策略 2.权重策略
upstream jtWindows {
#server代表服务器地址
server 127.0.0.1:8081 weight=8;
server 127.0.0.1:8082 weight=2;
}
5.3、IPHASH策略(了解)
由于某些数据与服务器进行了绑定,则后来必须要求用户访问指定的服务器时,使用IPHASH策略
# 配置tomcat服务器集群 1.轮询策略 2.权重策略 3.iphash策略
upstream jtWindows {
#server代表服务器地址
ip_hash;
server 127.0.0.1:8081 weight=8;
server 127.0.0.1:8082 weight=2;
}