我是靠谱客的博主 要减肥悟空,最近开发中收集的这篇文章主要介绍JavaWeb学习笔记之——NginxNginx,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Nginx

文章目录

  • Nginx
    • 1、Nginx 概述
    • 2、安装 Nginx
    • 3、静态资源部署
    • 4、虚拟主机
      • 4.1、端口绑定
      • 4.2、域名绑定
    • 5、Nginx 反向代理
    • 6、Nginx 负载均衡

1、Nginx 概述

在这里插入图片描述

Nginx 应用场景:

  1. http 服务器:Nginx 是一个 http 服务器可以提供 http 服务。可以做网页静态服务器
  2. 虚拟主机:可以实现一台服务器虚拟出多个网站。例如个人网站使用的虚拟主机。
  3. 反向代理,负载均衡:当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群,可以使用 Nginx 做反向代理。并且多台服务器可以平均分担负载,不会因为某台服务器负载过高宕机而某台服务器闲置的情况。

2、安装 Nginx

https://nginx.org/download/

[root@sunlight nginx-1.8.0]# mkdir /usr/local/nginx

[root@sunlight nginx-1.8.0]# ./configure 
> --prefix=/usr/local/nginx 
> --pid-path=/var/run/nginx/nginx.pid 
> --lock-path=/var/lock/nginx.lock 
> --error-log-path=/var/log/nginx/error.log 
> --http-log-path=/var/log/nginx/access.log 
> --with-http_gzip_static_module 
> --http-client-body-temp-path=/var/temp/nginx/client 
> --http-proxy-temp-path=/var/temp/nginx/proxy 
> --http-fastcgi-temp-path=/var/temp/nginx/fastcgi 
> --http-uwsgi-temp-path=/var/temp/nginx/uwsgi 
> --http-scgi-temp-path=/var/temp/nginx/scgi

[root@sunlight nginx-1.8.0]# mkdir -p /var/temp/nginx/client

[root@sunlight nginx-1.8.0]# make
[root@sunlight nginx-1.8.0]# make install

[root@sunlight nginx-1.8.0]# cd ..
[root@sunlight nginx]# ls
conf  html  nginx-1.8.0  nginx-1.8.0.tar.gz  sbin
[root@sunlight nginx]# cd sbin/
[root@sunlight sbin]# ls
nginx
[root@sunlight sbin]# ./nginx


[root@sunlight sbin]# ./nginx -s stop
[root@sunlight sbin]# ./nginx
[root@sunlight sbin]# ./nginx -s quit
[root@sunlight sbin]# ./nginx
[root@sunlight sbin]# ./nginx -s reload

3、静态资源部署

[root@sunlight nginx]# ls
conf  html  index  nginx-1.8.0  nginx-1.8.0.tar.gz  sbin

把静态文件上传到 /usr/local/nginx 中:(上边的 index/ 为上传的目录)

修改 conf/ 中的配置文件:nginx.conf

worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;


    sendfile        on;
    
    
    keepalive_timeout  65;


    server {
        listen       80; #默认端口号
        server_name  localhost;	#域名或者IP配置
        
        location / {	#默认访问的位置
            root   index;   #默认访问资源的目录
            index  index.html index.htm;	#默认访问的资源名称
        }
       
        error_page   500 502 503 504  /50x.html;	#错误页面
        location = /50x.html {
            root   html;
        }
	}
}

4、虚拟主机

虚拟主机,也叫 “网站空间”,就是把一台运行在互联网上的物理服务器划分为多个 “虚拟” 服务器。虚拟主机技术极大地促进了网络技术的普及和发展。同时虚拟主机的租用服务也成了网络时代的一种新型经济形式。

4.1、端口绑定

修改 conf/ 中的配置文件:nginx.conf

worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;
      
    keepalive_timeout  65;

    # 一个server代表了一个服务——一个网站
    server {
        listen       80;
        server_name  localhost;
        
        location / {
            root   index;
            index  index.html index.htm;
        }
       
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
    
    # 一个server代表了一个服务——一个网站
    server {
        listen       82;
        server_name  localhost;
        
        location / {
            root   register;
            index  index.html index.htm;
        }
       
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

4.2、域名绑定

修改 C:WindowsSystem32driversetchosts 文件:

# localhost name resolution is handled within DNS itself.
#	127.0.0.1       localhost
#	::1             localhost
#127.0.0.1       activate.navicat.com
127.0.0.1       activate.navicat.com

192.168.31.140	www.li.edu.cn
192.168.31.140	register.li.edu.cn

修改 conf/ 中的配置文件:nginx.conf

worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;
      
    keepalive_timeout  65;

    server {
        listen       80;
        server_name  www.li.edu.cn;
        
        location / {
            root   index;
            index  index.html index.htm;
        }
       
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
    
    
    server {
        listen       80;
        server_name  register.li.edu.cn;
        
        location / {
            root   register;
            index  index.html index.htm;
        }
       
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

5、Nginx 反向代理

反向代理(Reverse Proxy)方式是指以代理服务器来接受 Internet 上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给 Internet 上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。

在这里插入图片描述

upstream tomcat-travel{		#配置upstream
	server 192.168.31.140:8080;
}

server {
    listen       80;
    server_name  www.hmtravel.com;

    location / {
    	root   register;
    	proxy_pass http://tomcat-travel;	#配置proxy_pass
    	index  index.html index.htm;
    }
}

过程:

  1. 通过域名访问:server_name www.hmtravel.com; 中的 www.hmtravel.com
  2. 找代理:proxy_pass http://tomcat-travel; 中的 http://tomcat-travel
  3. 然后根据 http://tomcat-travel 找到 upstream tomcat-travel{ server 192.168.31.140:8080; } 中的 ip 地址。

在这里插入图片描述


6、Nginx 负载均衡

配置多个 tomcat,在进行访问时,随机访问以降低访问压力:

在这里插入图片描述

upstream tomcat-travel{
	server 192.168.31.140:8080 weight=2;
	server 192.168.31.140:8081;
	server 192.168.31.140:8082;
}

最后

以上就是要减肥悟空为你收集整理的JavaWeb学习笔记之——NginxNginx的全部内容,希望文章能够帮你解决JavaWeb学习笔记之——NginxNginx所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(54)

评论列表共有 0 条评论

立即
投稿
返回
顶部