zoukankan      html  css  js  c++  java
  • nginx介绍

    前言:

      tomcat理论并发处理能力, 大概500左右吧, 即使通过一些优化, 能提升一点, 但是, 并不能达到质变, 最多涨几百. 对于非互联网项目, 确实够用了. 在企业中, 如果要达到500并发量, 首先你得有超过500个人吧, 罒ω罒, 其次, 就算你超过500人, 同时访问的可能性还是很低的. 但是对于互联网项目, 500并发, 确实低了点. 

      如果想要提高并发量, 是不是可以换一个服务器, 或者说, 在tomcat集群前面, 加一个牛B的可接收高并发的服务器, 然后让这个服务器, 分配到集群中的tomcat中去, 让他当一回领导, 来分配工作任务给不同的tomcat. 就像这样:

    如果有1200个并发,  对于单个tomcat来说, 出现超负荷工作的情况, 就可以大大避免. 以前要1打1200, 现在有了两个伙伴, 就可以3打1200了, 平均下来, 变成1打400了, 没问题的啊, 打得过, 是把. 1200并发, 对于nginx, 可以说是游刃有余, 因为他的并发处理能力, 能达到5w左右. 随着版本的更新, 这个是不是更高了, 那就不得而知了. 只能说, 更牛B了.

     

    nginx 简介

    一. 下载地址: 

      http://nginx.org/en/download.html

    二. 安装

      java服务器, 一般都选择linux, 所以, nginx我也装在linux环境中.

    1. 环境准备

    因为nginx是c语言写的, 所以, 要安装gcc环境

    yum install gcc-c++

    nginx的http模块使用pcre来解析正则表达式, so, 得装

    yum install -y pcre pcre-devel

    nginx使用zlib对http包的内容进行gzip, so, 得装

    yum install -y zlib zlib-devel

    nginx不仅支持http协议, 还支持https协议, so, 得装

    yum install -y openssl openssl-devel

    2. 安装

    解压

    tar -zxvf nginx-1.12.2.tar.gz -C /usr/java

    看一下, 解压后的目录

    创建文件夹

    mkdir -p /var/temp/nginx

    这个目录, 在一会configure命令执行的时候, 有用, 当然, 在执行完configure后, 再创建这个目录, 也是可以的.

    configure 命令: (有点长, 不过没关系啊)

    ./configure 
    --prefix=/usr/local/nginx 
    --pid-path=/var/run/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

    接下来执行make指令

    make

    等到完成后, 继续执行

    make install

    执行完之后, 切换到 /usr/local/nginx 目录看一下

    cd /usr/local/nginx

    3. 启动nginx

    在 /usr/local/nginx 目录下执行命令

    sbin/nginx

    这时候, 看到控制台没有任何消息显示, 仿佛没执行过一样, 这时候, 可以查询一下, 是否真的跑起来了

    ps aux|grep nginx

    发现这里有三条信息, 前两条是的, 第三条是执行ps命令出现的.

    既然有启动, 那自然就有关闭了.  

    ./nginx -s quit

    执行此条命令需要在 sbin 目录中.

    如果我在配置文件中, 加入了一台服务器配置信息, 这时候, 如果我要关闭nginx, 在打开nginx, 体验是不是感觉不太好啊, 有没有刷新的指令呢?

    刷新指令来了:

     ./nginx -s reload

    同样的, 此条命令, 需要在sbin目录中执行.

    问题: 非得到sbin中去执行才行么, 我安装之后, 时间久了, 忘记目录在哪里了, 咋搞? 那个小笨笨记着么?

    不需要这么做的. 可以使用 whereis 命令, 进行查找就行了

    直接拿到路径, cd进去, 就行了

    三. 配置nginx开机启动

        切换到/lib/systemd/system/目录,创建并编辑nginx.service文件

      vim /lib/systemd/system/nginx.service

     在文件中拷贝以下内容

    [Unit]
    Description=nginx 
    After=network.target 
       
    [Service] 
    Type=forking 
    ExecStart=/usr/local/nginx/sbin/nginx
    ExecReload=/usr/local/nginx/sbin/nginx -s reload
    ExecStop=/usr/local/nginx/sbin/nginx -s quit
    PrivateTmp=true 
       
    [Install] 
    WantedBy=multi-user.target

        退出并保存文件,执行systemctl enable nginx.service使nginx开机启动

    systemctl stop nginx.service    结束nginx

    systemctl start nginx.service    启动nginx

    systemctl restart nginx.service    重启nginx

    四. 验证

    跑起来之后, 有没有办法, 来直观的验证一下, 是否真的跑起来了?

    由于linux, 我跑的虚拟机, 所以, 我在windows下, 使用谷歌浏览器, 直接输入linux的ip, 看看

    这下很直观了吧.

    那我想问一下, 这个现实的内容, 应该是个html文件吧, 这个html文件在哪里呢? 又是在哪里配置的呢? 

  • 相关阅读:
    git如何进行远程分支切换
    js中实现多态
    css选择器中:first-child与:first-of-type的区别
    js实现图片延时加载的原理
    认识AMD、CMD、UMD、CommonJS
    CORS详解
    JS实现继承的五种方式
    jQuery.fn.extend() 函数详解
    Java基础面试题
    Java面试题集
  • 原文地址:https://www.cnblogs.com/elvinle/p/8267084.html
Copyright © 2011-2022 走看看