前言:

  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文件在哪里呢? 又是在哪里配置的呢?

nginx介绍 - 部署到linux中的更多相关文章

  1. Asp.Net项目的部署到Linux中(Linux + Jexus+Nginx )

    因为老项目用的Asp.Net Web API技术开发部署到Window系统上,而新项目用的是.Net Core部署到Ubuntu系统中,所以在管理切换上有些不便.于是决定将老项目的测试服部署到Ubun ...

  2. Spring Boot 如何部署到 Linux 中的服务

    打包完成后的 Spring Boot 程序如何部署到 Linux 上的服务? 你可以参考官方的有关部署 Spring Boot 为 Linux 服务的文档. 文档链接如下: https://docs. ...

  3. 复制docker容器中的nginx某个文件到linux中

    前提:docker容器中的nginx要开启

  4. SPARK在linux中的部署,以及SPARK中聚类算法的使用

    眼下,SPARK在大数据处理领域十分流行.尤其是对于大规模数据集上的机器学习算法.SPARK更具有优势.一下初步介绍SPARK在linux中的部署与使用,以及当中聚类算法的实现. 在官网http:// ...

  5. linux 中部署ant编译的包中缺少问题

    今天遇到在window上部署ant编译的包,能运行正常,但部署在linux中出现跳不进jsp中,出现404问题,后来经过排查在jsp中<%@taglib prefix="c" ...

  6. linux中bin与sbin目录的作用及区别介绍

    linux中bin与sbin目录的作用及区别介绍 本文介绍下,linux中的二个主要目录:bin与sbin,它们的作用与区别,学习linux的朋友可以参考下 在linux系统中,有两个重要的目录:bi ...

  7. Linux中三种SCSI target的介绍之各个target的优劣

    版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/scaleqiao/article/deta ...

  8. Linux培训教程 linux中nl命令使用介绍

    nl命令在linux系统中用来计算文件中行号.nl 可以将输出的文件内容自动的加上行号!其默认的结果与 cat -n 有点不太一样, nl 可以将行号做比较多的显示设计,包括位数与是否自动补齐 0 等 ...

  9. Nginx网站部署

    Nginx网站服务部署 常用的网站服务软件 处理静态资源的服务: apache软件:https://apache.org/ nginx软件:https://nginx.org/ 处理动态资源的服务: ...

随机推荐

  1. VS中程序包错误,引用错误该如何解决

    1.找到包的文件.packages.config 对应于: 2.删除掉 packages.config 报错的项.然后再重新添加一次.就没有解决的不了的问题. 是不是很爽.....

  2. python爬虫之urllib

    #coding=utf-8 #urllib操作类 import time import urllib.request import urllib.parse from urllib.error imp ...

  3. cms后台管理

    {项目名称:cms}-后台管理系统 项目阶段性总结报告 1 项目信息 开发工具:eclinpse,mysql,foxmail 使用到的技术:springMVC,springJDBC,maven,fre ...

  4. Java程序员职业生涯规划

    一.规划 工作3年了,感觉自己的技术现在到了一个瓶颈,在做一些重复性的业务性的工作,没有长进,提高太慢:因此停下脚步对自己的职业生涯做了一个规划,并为之努力奋斗: 20-27岁:技术积累阶段在这 5 ...

  5. 1024 Palindromic Number int_string转换 大整数相加

    A number that will be the same when it is written forwards or backwards is known as a Palindromic Nu ...

  6. 基于UML的毕业选题系统建模研究

    一.基本信息 标题:基于UML的毕业选题系统建模研究 时间:2018 出版源:电脑迷 领域分类:UML建模技术 二.研究背景 问题定义:为了加强学生设计分析开发软件的相关能力,有效避免结构化模型存在的 ...

  7. CPP全面总结(涵盖C++11标准)

    OOP之类和对象 1. this指针的引入 每个成员函数都有一个额外的隐含的形参,这个参数就是this指针,它指向调用对象的地址.默认情况下,this的类型是指向类类型非常量版本的常量指针.可以表示成 ...

  8. ASP.NET Core 统一异常处理和返回

    业务场景: 业务需求要求,需要对 ASP.NET Core 异常进行统一处理和返回,比如出现 500 错误和业务服务错误进行不同的处理和返回. 具体实现: using Microsoft.AspNet ...

  9. [转]kaldi特征和模型空间转换

    转:http://blog.csdn.net/shmilyforyq/article/details/76807431 博主话:这篇博客是对kaldi官网中Feature and model-spac ...

  10. 在windows如何操控一些屌炸天的linux命令[利刃篇]

    作为开发者,也许你会说,不会linux简直弱爆了.是的,但是,倒底有多少人是真正在用linux进行开发工作呢,也许是我孤陋寡闻,但我相信,windows操作很多东西是真方便,不愿意使用linux直接开 ...