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之间

Nginx安装使用

image.png
安装注意事项:
1.不要将nginx放到C盘及系统目录中,注意中文路径和空格。
2.nginx服务器启动的速度特别快,窗口会闪退,只启动一次即可。
3.nginx启动会占用80端口。
4.nginx命令的运行必须在nginx.exe所在的目录中执行。

Nginx命令

1.启动命令:start nginx
**2.重启命令:nginx -s reload
3.停止命令:nginx -s stop**

Nginx服务启动项说明

image.png

关于nginx反向代理说明

在nginx目录中的nginx.cof文件中配置

http {
    # 一个反向代理就是 一个server
    server {
        #listen 监听的端口号
        listen       80;
        #server_name监听的域名,域名不可以重复
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;
        #开始要执行的反向代理的动作  “/” 表示拦截所有的路径
        location / {
            #root是一个关键字,代理的是一个目录
            root   html;
            #默认跳转页
            index  index.html index.htm;
        }
     }
  }   

Nginx实现图片回显

Nginx配置

#图片服务器代理    image.jt.com:80
    server{
        listen 80;
        server_name image.jt.com;
        location / {
            #转向目录
            root E:/log;
        }
    }

修改hosts文件

1.Hosts文件的说明
image.png
2.Hosts文件的位置
image.png
3.用第三方软件打开hosts文件,以超级管理员身份运行
image.png
4.编辑hosts文件
image.png

# 京淘配置  
#左侧写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

nginx实现tomcat集群部署

项目部署

image.png

服务器反向代理

#配置京淘后台管理服务器
    # manage.jt.com  localhost:8091服务器
    server {
        listen 80;
        server_name manage.jt.com;

        location / {

            #映射服务器
            proxy_pass  http://localhost:8091;
        }
    }

修改nginx服务器之后,重启nginx
image.png

动态获取当前服务器端口号

@RestController
public class PortController {
    //从spring服务器中动态的获取端口号
 @Value("${server.port}")
    private Integer port;
    @RequestMapping("/getPort")
    public String getPort(){
        return "当前服务器访问的端口号:"+port;
    }
}

项目打包

image.png
image.png
之后从项目的target目录中动态获取jar包文件,准备集群部署。
image.png

项目发布命令

注意事项:当前的命令执行会占用dos命令窗口,打印控制台信息,当dos命令窗口关闭则服务器停止。
退出dos命令窗口:ctrl+c.
image.png

nginx负载均衡实现

轮询机制

# 配置tomcat服务器集群  1.轮询策略
    upstream jtWindows {

        #server代表服务器地址
        server 127.0.0.1:8081;
        server 127.0.0.1:8082;    
    }

权重机制

说明:按照权重的设置,让性能更优的服务器处理请求。

#2.权重的策略  weight关键字  数越大表示使用的概率越大
                upstream jtWindows {
                    #server 代表服务器地址
                    server 127.0.0.1:8081 weight=80;
                    server 127.0.0.1:8082 weight=20;
### IPHASH策略
由于某哦谢数据与服务器进行了绑定,则后来必须要求用户访问指定的服务器时,使用IPHASH策略。
#3.iphash的策略 
    #由于某些数据与服务器进行了绑定,则后来必须要求用户访问指        定的服务器时,使用iphash策略
            upstream jtWindows {
                ip_hash;
                #server 代表服务器地址
                server 127.0.0.1:8081 weight=80;
                server 127.0.0.1:8082 weight=20;
            }

小_L
10 声望6 粉丝