一、简述

Nginx是一个高性能WEB服务器,除它之外Apache、Tomcat、Jetty、IIS,它们都是Web服务器

Nginx  相对基它WEB服务有什么优势:Tomcat、Jetty 面向java语言,先天就是重量级的WEB服务器,其性能与Nginx没有可比性。IIS只能在Windows操作系统上运行。Windows作为服务器在稳定性与其他一些性能上都不如linux操作系统,因此,在需要高性能Web服务器的场合下IIS并不占优。Apache的发展时期很长,而且是目前毫无争议的世界第一大Web服务器,其有许多优点,如稳定、开源、跨平台等,但它出现的时间太长了,在它兴起的年代,互联网的产业规模远远比不上今天,所以它被设计成了一个重量级的、不支持高并发的Web服务器。在Apache服务器上,如果有数以万计的并发HTTP请求同时访问,就会导致服务器上消耗大量内存,操作系统内核对成百上千的Apache进程做进程间切换也会消耗大量CPU资源,并导致HTTP请求的平均响应速度降低,这些都决定了Apache不可能成为高性能Web服务器。

二、安装

1.环境准备:

  1.linux内核2.6以上。 uname -a 查看内核, 因为2.6之后才支持epool ,在此之前使用select或pool多路复用的IO模型,无法解决高并发压力的问题

  2.gcc编译器,需要自己去编译源码进行安装

  3.PCRE库,PCRE(Perl Compatible Regular Expressions,Perl兼容正则表达式)是由Philip Hazel开发的函数库,目前为很多软件所使用,该库支持正则表达式。

  4.zlib库,zlib库用于对HTTP包的内容做gzip格式的压缩,如果我们在nginx.conf里配置了gzip on,并指定对于某些类型(content-type)的HTTP响应使用gzip来进行压缩以减少网络传输量。

  5.OpenSSL开发库, 如果我们的服务器不只是要支持HTTP,还需要在更安全的SSL协议上传输HTTP,那么就需要拥有OpenSSL了。另外,如果我们想使用MD5、SHA1等散列函数,那么也需要安装它。

上面几个库都是Nginx 基础功能所必需的,我的虚拟机是可以上网的,可以使用yum 命令统一安装:yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel pcre pcre-devel

2.Nginx安装的安装需要我们自己去下载源码进行编译安装,下载:http://nginx.org/en/download.html

3.解压编译:进入解压好的的目录先执行 ./configure 脚本,在执行make命令,就会将Nginx默认安装到/usr/local/nginx下面

4.进入/usr/local/nginx目录启动服务:./sbin/nginx

5.上面都是采用的默认安装,如果我要安装新的模块进去,可以查看http://nginx.org/en/docs/这里的模块说明进行安装。

以状态查看为例:

执行:./configure --with-http_stub_status_module  将该模块编译进去,make install 进行安装(会保留以前的版本)。进入安装目录,可以使用-V(大写,小写看版本)参数查看模块:

上面的文档说明中的        location = /basic_status {stub_status;} 加入到配置文件nginx.conf中 启动服务就可以使用这个模块服务了

查看状态:(配置中是80端口)

三、基础命令

查看命令帮助

./sbin/nginx -?

默认方式启动:

./sbin/nginx

指定配置文件启动

./sbing/nginx -c 配置文件目录

快速停止

./sbin/nginx -s stop

优雅停止

./sbin/nginx -s quit

热装载配置文件

./sbin/nginx -s reload

重新打开日志文件(把原来的日志文件备份了,新的日志需要写入新的文件中)

./sbin/nginx -s reopen

设置全局命令,如下表示设置启动用户为root

./sbin/nginx -g "user root;"

nginx至少有两个进程一个master进程和一个work进程,master进程负责处理nginx的相关指令;work进程负责处理请求,work进程可以在配置文件中设置个数

Nginx(1)---安装及基础命令的更多相关文章

  1. nginx下载,安装,基础命令,和代理tomcat例子理解

    nginx代理讲的很好理解:https://www.cnblogs.com/ysocean/p/9392908.html 一.nginx应用场景: 1.反向代理(用的非常多) 客户端发出请求,反向代理 ...

  2. Linux ubuntu下docker容器安装和基础命令

    Docker介绍: 云计算就好比大货轮,docker就是集装箱虚拟机虽然可以隔离出很多"子电脑",但占用空间更大,启动更慢,虚拟机软件可能还要花钱(例如VMWare). 而容器技术 ...

  3. Nginx编译安装及常用命令

    一个执着于技术的公众号 前言 前面我们已经了解Nginx基础入门知识,今天就带大家一起学习下Nginx编译安装部署 准备工作 一台linux机器(本次实验以CentOS 7.5为例) 到Nginx官方 ...

  4. Lesson 01-Linux安装及基础命令

    .Linux安装(略)2.基础命令 cd 切换目录 /home 切换到home目录 . 代表当前目录 .. 代表切换到当前目录的上级目录 ~ 代表切换到用户家目录 空 代表切换到用户家目录 - 代表切 ...

  5. Git入门(安装及基础命令行操作)

    一.安装 1.Mac 在Mac中安装Git的方法不止一种.最简单的要数通过Xcode命令行工具.对于Mavericks(10.9)或更高版本的操作系统,当你第一次尝试在终端执行git命令时,系统会自动 ...

  6. docker 应用-1(安装以及基础命令)

    Docker 安装 还是看官方文档吧TAT https://docs.docker.com/engine/getstarted/step_one/ 理解docker镜像和容器 镜像就是docker容器 ...

  7. MongoDB 学习笔记一 安装以及基础命令

    一.MongoDB安装配置 1.获取最新版本号: wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.0.2.tgz 2.解压缩就可 ...

  8. MySQL安装及基础命令

    介绍数据库安装基础命令 linux的下载和安装 mac的下载和安装 windows的下载和安装 介绍: 数据库在开发中占据的位置? 数据库能更简单的使用存储在文件中的数据能更好的解决并发问题,数据统一 ...

  9. Git入门到高级系列1-git安装与基础命令

    视频课程地址 腾讯课堂 为什么要进行项目文件的版本管理 代码备份和恢复 团队开发和协作流程 项目分支管理和备份 git 是什么? git是一个分布式的版本控制软件.版本控制是一种记录一个或若干文件内容 ...

随机推荐

  1. ArcGIS Desktop的安装

    1.双击ArcGIS Desktop安装目录下的Setup.exe. 2.点击“下一步”. 3.选择“我接受许可协议(A)”,点击“下一步”. 4.选择“完全安装”,点击“下一步”. 5.点击“更改” ...

  2. 深入理解NIO(三)—— NIO原理及部分源码的解析

    深入理解NIO(三)—— NIO原理及部分源码的解析 欢迎回到淦™的源码看爆系列 在看完前面两个系列之后,相信大家对NIO也有了一定的理解,接下来我们就来深入源码去解读它,我这里的是OpenJDK-8 ...

  3. 算法(algorithm)

    算法是什么? 算法是指令的集合,是为解决特定问题而规定的一系列操作. 它是明确定义的可计算过程,以一个数据集合作为输入,并产生一个数据集合作为输出. 一个算法通常来说具有以下五个特性: 1.输入:一个 ...

  4. SSM随笔

    1.搭建基本web项目2.在WEB-INF下面添加lib和classes包,并修改路径3.拷贝jar包 主要包括spring包+spring依赖包+myBatis包+mysql驱动包4.编辑sprin ...

  5. Redis对象——列表(List)

    列表(list)类型是用来存储多个有序的字符串,列表中的每个字符串称为元素(element),一个列表最多可以存储232-1个元素.在Redis中,可以对列表两端插入(push)和弹出(pop),还可 ...

  6. c语言 0与非0

    ------------恢复内容开始------------ 结论: 其它的编程语言中有布尔数据类型,并用百来表示逻辑真和逻辑假,C语言没有这个内置类度型,在C语言中真和假是用整型值来表示知的,0就表 ...

  7. input radio点击选中再点击取消

    这里主要说一下这个jquery中的data()方法,个人感觉这个方法平时挺少用到的,所以说一说,按照官方的解释就是 向元素附加数据,然后取回该数据; 嗯,是的,就是这么简单. 那这里说一下这个方法的使 ...

  8. 软件——Hexo-NexT配置个人博客

    一.安装NexT Hexo 安装主题的方式非常简单,只需要将主题文件拷贝至站点目录的 themes 目录下, 然后修改下配置文件即可.具体到 NexT 来说,安装步骤如下. 1.克隆最新版本 在终端窗 ...

  9. Spring IOC/ AOP 笔记

    扫描 Bean 以下主要是使用基于注解方式配置 组件扫描(一般用于自己写的类) 添加 @Component 注解,被扫描到后自动作为 Bean 组件 @ComponentScan 扫描配置的位置,将添 ...

  10. HTML5+CSS+JQuery 实现简单的进度条功能

    样式: <style type="text/css"> .processcontainer2{ width:450px; border:1px solid #6C9C2 ...