前言:

  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. ORM初识和数据库操作

    ORM简介 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术.简单的说,ORM是通过使用描述对象和数据库之 ...

  2. 代码之髓读后感——语法&流程&函数&错误处理

    title: 代码之髓读后感2.md date: 2017-07-08 17:33:11 categories: tags: Perl的设计者:Larry Wall在<Programming P ...

  3. Python之路(第三十篇) 网络编程:socket、tcp/ip协议

    一.客户端/服务器架构 1.硬件C/S架构(打印机) 打印机作为一个服务端,电脑连接打印机进行打印 2.软件C/S架构 互联网中处处是C/S架构 如谷歌网站是服务端,你的浏览器是客户端(B/S架构也是 ...

  4. tf-slim-mnist

    谷歌开放TF-Slim:在TensorFlow中定义复杂模型的高层库 使用 TF-Slim 的 GitHbu 代码: README:https://github.com/tensorflow/mode ...

  5. 单台机器安装zookeeper

    先给一堆学习文档,方便以后查看 官网文档地址大全: OverView(概述) http://zookeeper.apache.org/doc/r3.4.6/zookeeperOver.html Get ...

  6. 支持复制粘贴word图片的文本编辑器

    下载并打开基于PHP环境的工程: 运行: 尝试使用文档复制后粘贴进来:   通过粘贴后,文档以及图片被粘贴进来了,看看html代码: 由此可看出图片全部使用img标签统一. 看看文档图片被放置在哪了: ...

  7. DE1-SOC资源

    1,digital solution lab 网站上的de1soc QT教程. 内容包括: Install Qt 5.4 Designer Install the Altera SoC Tool-Ch ...

  8. spring redis @Cacheable注解使用部分错误及无效原因

    spring redis @Cacheable注解使用部分错误及无效原因 说明:     spring项目用到redis注解无效,解决问题中遇到一堆BUG,各种搜索,看了许多错误解决方案一一测试,对于 ...

  9. 42_并发编程-JionableQueue

    一.生产者消费者模型   在线程世界里,生产者就是生产数据的线程,消费者就是消费数据的线程.在多线程开发当中,如果生产者处理速度很快,而消费者处理速度很慢,那么生产者就必须等待消费者处理完,才能继续生 ...

  10. XCode 无法识别设备

    XCode 取消Unpair Device 后不能读取设备 1:退出XCode 2:断开设备连接 3:在终端执行‘sudo pkill usbmuxd’ 4:重启XCode 5:连接设备即可