Nginx简介

一、nginx简介
         Nginx 是高性能的 HTTP 和反向代理的web服务器,处理高并发能力是十分强大的,能经受高负 载的考验,有报告表明能支持高达 50,000 个并发连接数。
         其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
         Nginx 可以作为静态页面的 web 服务器,同时还支持 CGI 协议的动态语言,比如 perl、php 等。但是不支持 java。Java 程序只能通过与 tomcat 配合完成。Nginx 专为性能优化而开发, 性能是其最重要的考量,实现上非常注重效率 ,能经受高负载的考验,有报告表明能支持高 达 50,000 个并发连接数
二、nginx安装和启动
        采用docker进行安装,利用:
                docker search nginx
        搜索镜像,用:
                docker pull nginx
        下载最新的镜像文件,在nginx后添加“:‘版本号’”可以添加指定版本,创建nginx文件夹,同时创建配置文件,配置文件内添加内容如下:
    user nginx;
    worker_processes 1;
    error_log /var/log/nginx/error.log warn;
    pid /var/run/nginx.pid;
    events {
         worker_connections 1024;
    }
    http {
         include /etc/nginx/mime.types;
         default_type application/octet-stream;
         log_format main     '$remote_addr - $remote_user [$time_local] "$request" '
                                          '$status $body_bytes_sent "$http_referer" '
                                         '"$http_user_agent" "$http_x_forwarded_for"';
         access_log /var/log/nginx/access.log main;
         sendfile on;
         #tcp_nopush on;
         keepalive_timeout 65;
         #gzip on;
        include /etc/nginx/conf.d/*.conf;
    },
将容器的指定端口映射到宿主机的指定端口,并指定主页,以虚拟机90端口为例,在nginx/conf.d文件夹下创建90.conf文件,内容为:
    server {
         listen 90; # 监听的端⼝
         server_name localhost; # 访问路径
         location / { # 访问路径配置
             root /usr/share/nginx/html;# 根⽬录
             index index.html index.htm; # 默认⾸⻚
             }
         error_page 500 502 503 504 /50x.html; # 错误⻚⾯
         location = /50x.html {
             root html;
         }
    },启动nginx:
    docker run -id --name=c_nginx \
    -p 90:90 \                                  //将宿主机的90端口匹配到nginx容器的90端口,下面一样
    -p 91:91 \
    -p 92:92 \
    -v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf \   //将当前目录下的conf/nginx.conf挂载到容器的相应位置
    -v $PWD/conf.d:/etc/nginx/conf.d \   //同上
    -v $PWD/logs:/var/log/nginx \      //同上
    -v $PWD/html:/usr/share/nginx/html \    //同上
    nginx ,
此时外部访问宿主机端口就可以访问到静态主页。
三、静态页面绑定
        利用域名绑定宿主机ip,在host文件中添加映射,例如:192.168.91.129 www.ceshinginx.com。在nginx配置文件中配置域名权限,在上面配置的90端口的配置文件中,将server_name所对应的localhost改为www.ceshinginx.com,此时在外部机器访问www.ceshinginx.com就可以访问已编写好的静态页面。
四、反向代理
        反向代理(Reverse Proxy)⽅式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部⽹络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器
对外就表现为⼀个反向代理服务器。
        实现反向代理的具体流程为:
        1.配置并启动tomcat,安装不在赘述,启动tomcat:
                docker run -id --name=tomcat \
                -p 8080:8080 \
                -v $PWD:/usr/local/tomcat/webapps \
                tomcat,
        2.配置8080端口,在nginx/conf.d/下添加proxy.conf文件,写入:
                upstream tomcat-ceshi{
                     server 192.168.91.129:8080; //这里设置自己虚拟机的地址
                 }
                 server {
                     listen 80; # 监听的端⼝
                     server_name www.kkb.com; # 域名或ip
                     location / { # 访问路径配置
                     # root index;# 根⽬录
                     proxy_pass http://tomcat-ceshi;
                     index index.html index.htm; # 默认⾸⻚
                     }
                 },
        此时外部访问tomcat时,就会跳转到nginx进行处理。
五、负载均衡处理
    添加多个端口到tomcat容器,将启动tomcat时 -p 8080:8080改为-p 8081:8080,就可以添加新的端口去访问tomcat。修改proxy.conf文件: 
        upstream tomcat-ceshi{
             server 192.168.91.129:8080; //这里设置自己虚拟机的地址
             server 192.168.91.129:8081;
             server 192.168.91.129:8082;
         }
         server {
             listen 80; # 监听的端⼝
             server_name www.kkb.com; # 域名或ip
             location / { # 访问路径配置
             # root index;# 根⽬录
             proxy_pass http://tomcat-ceshi;
             index index.html index.htm; # 默认⾸⻚
             }
             error_page 500 502 503 504 /50x.html; # 错误⻚⾯
             location = /50x.html {
                 root html;
             }
         } ,
     此时外部访问tomcat就会发现8080,8081,8082三个端口轮流被访问。当想让某个端口访问次数提高时,在server语句最后添加weight=x,x为多少,这个端口就会多出现几次。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值