关于java:Nginx-的使用

5次阅读

共计 2270 个字符,预计需要花费 6 分钟才能阅读完成。

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 装置应用


装置注意事项:
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 服务启动项阐明

对于 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 文件的阐明

2.Hosts 文件的地位

3. 用第三方软件关上 hosts 文件,以超级管理员身份运行

4. 编辑 hosts 文件

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

我的项目部署

服务器反向代理

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

        location / {

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

批改 nginx 服务器之后,重启 nginx

动静获取以后服务器端口号

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

我的项目打包



之后从我的项目的 target 目录中动静获取 jar 包文件,筹备集群部署。

我的项目发布命令

注意事项:以后的命令执行会占用 dos 命令窗口,打印控制台信息,当 dos 命令窗口敞开则服务器进行。
退出 dos 命令窗口:ctrl+c.

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;
            }
正文完
 0