nginx介绍 - 部署到linux中
前言:
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中的更多相关文章
- Asp.Net项目的部署到Linux中(Linux + Jexus+Nginx )
因为老项目用的Asp.Net Web API技术开发部署到Window系统上,而新项目用的是.Net Core部署到Ubuntu系统中,所以在管理切换上有些不便.于是决定将老项目的测试服部署到Ubun ...
- Spring Boot 如何部署到 Linux 中的服务
打包完成后的 Spring Boot 程序如何部署到 Linux 上的服务? 你可以参考官方的有关部署 Spring Boot 为 Linux 服务的文档. 文档链接如下: https://docs. ...
- 复制docker容器中的nginx某个文件到linux中
前提:docker容器中的nginx要开启
- SPARK在linux中的部署,以及SPARK中聚类算法的使用
眼下,SPARK在大数据处理领域十分流行.尤其是对于大规模数据集上的机器学习算法.SPARK更具有优势.一下初步介绍SPARK在linux中的部署与使用,以及当中聚类算法的实现. 在官网http:// ...
- linux 中部署ant编译的包中缺少问题
今天遇到在window上部署ant编译的包,能运行正常,但部署在linux中出现跳不进jsp中,出现404问题,后来经过排查在jsp中<%@taglib prefix="c" ...
- linux中bin与sbin目录的作用及区别介绍
linux中bin与sbin目录的作用及区别介绍 本文介绍下,linux中的二个主要目录:bin与sbin,它们的作用与区别,学习linux的朋友可以参考下 在linux系统中,有两个重要的目录:bi ...
- Linux中三种SCSI target的介绍之各个target的优劣
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/scaleqiao/article/deta ...
- Linux培训教程 linux中nl命令使用介绍
nl命令在linux系统中用来计算文件中行号.nl 可以将输出的文件内容自动的加上行号!其默认的结果与 cat -n 有点不太一样, nl 可以将行号做比较多的显示设计,包括位数与是否自动补齐 0 等 ...
- Nginx网站部署
Nginx网站服务部署 常用的网站服务软件 处理静态资源的服务: apache软件:https://apache.org/ nginx软件:https://nginx.org/ 处理动态资源的服务: ...
随机推荐
- Solidity合约间的调用-1
当调用其它合约的函数时,可以通过选项.value(),和.gas()来分别指定,要发送的ether量(以wei为单位),和gas值. pragma solidity ^; contract InfoF ...
- Java Token的原理和生成使用机制
在此之前我们先了解一下什么是Cookie.Session.Token 1.什么是Cookie? cookie指的就是浏览器里面能永久存储数据的一种数据存储功能.cookie由服务器生成,发送给浏览器, ...
- Javascript组成--ECMAScript,DOM,BOM
ECMAScript 部分 ECMAScript是一个标准,JS只是它的一个实现,其他实现包括ActionScript; “ECMAScript可以为不同种类的宿主环境提供核心的脚本编程能力”,即EC ...
- 新版本wireshark tshark使用
Wireshark-tshark wireshark 指令模式 => tshark Windows 及Linux 可至安裝目錄執行>tshark tshark.exe -i 7(利用-D找 ...
- RNA-seq数据综合分析教程 AKAP95
https://blog.csdn.net/l_yivs?t=1 RNA-seq数据综合分析教程 2 4,055 A+ 所属分类:Transcriptomics 收 藏 2 RNA-se ...
- typescript里面调用javasript
index.html 里面加入函数: function tellYou() { egret.log("tell you."); javascript:android.funA(); ...
- cpp 区块链模拟示例(五) 序列化
有了区块和区块链的基本结构,有了工作量证明,我们已经可以开始挖矿了.剩下就是最核心的功能-交易,但是在开始实现交易这一重大功能之前,我们还要预先做一些铺垫,比如数据的序列化和启动命令解析. 根据< ...
- .Net 常用插件及第三方库
.Net 常用插件及第三方库 一:第三方插件 1:基于响应式编程思想的oc 地址:https://github.com/ReactiveCocoa/ReactiveCocoa 2:hud提示框 地址: ...
- 《Linux就该这么学》第六天课程
每个人都有梦想,同时也有理想,当一个人的梦想与理想相同时会发生什么? 搜集了一些对新手有用的表格 原创地址:https://www.linuxprobe.com/chapter-05.html use ...
- MUI 里js动态添加数字输入框后,增加、减少按钮无效
numbox 的自动初化是在 mui.ready 时完成的mui 页面默认会自动初始化页面中的所有数字输入框,动态构造的 DOM 需要进行手动初始化.比如:您动态创建了一个 ID 为 abc 的数字输 ...