Nginx

一、什么是Nginx

Nginx (engine x)是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文: PaM6nep)开发的,第一个公开版本0.1.0发布于2004年10月4日。2011年6月1日,nginx 1.0.4发布。

其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。在全球活跃的网站中有12.18%的使用比率,大约为2220万个网站。

Nginx是一个安装非常的简单、配置文件非常简洁〈(还能够支持perti语法)、Bug非常少的服务。Nginx启动特别容易,并且几乎可以做到7*24不间断运行,即使运行数个月也不需要重新启动。你还能够不间断服务的情况下进行软件版本的升级。

Nginx代码完全用C语言从头写成。官方数据测试表明能够支持高达50,000个并发连接数的响应。

二、Nginx的作用

Http 代理,反向代理:作为web服务器最常用的功能之一,尤其是反向代理

1、正向代理:

代理客户端的,在本地上装

2、反向代理:

代理服务器端的,无感知的浏览一些服务器资源,让我们的服务更好的部署上线

3、负载均衡

Nginx 提供的负载均衡有两种:内置策略和扩展策略。内置策略为轮询,加权轮询,ip hash。扩展策略,就天马行空,只有你想不到的,没有它做不到的

3.1 轮询

依次循环向服务器发送请求

3.2 加权轮询

哪台服务器权重更高,接收的请求就更多

3.3 ip hash

对客户端请求的 ip 进行 hash 操作,然后根据 hash 结果将同一个客户端 ip 的请求分发给同一台服务器进行处理,可以解决 session 不共享的问题

4、动静分离

动静分离,在我们的软件开发中,有些请求时血药后台处理的,有些请求是不需要经过后台处理的(如:css、html、jpg、js 等文件),这些不需要经过后台处理的文件成为静态文件。让动态网站里的动态网页根据一定规则把不变的资源和经常变的资源区分开来,动静资源做好了拆分以后,我们就可以根据静态资源的特点将其做缓存操作,提高资源响应的速度。

目前,通过使用 Nginx 大大提高了我们网站的响应速度,优化了用户体验,让网站的健壮性更上一层楼。

三、Nginx 的安装

1、Windows下安装

1.1 下载

下载地址:http://nginx.org/en/download.html

下载稳定版

1.2 解压

1.3 启动

启动有两种方式

1)直接双击 nginx.exe ,会有个黑色窗口一闪而过

2)在 nginx 解压目录下打开 命令窗口 ,输入 niginx.exe ,回车启动,这样就算启动了,它没有日志,没报错就算成功

nginx.conf 配置文件中,它端口为80,可以修改,当我们修改了配置文件后,不需要重启 nginx ,只需要执行 nginx -s reload 命令即可

启动后在浏览器输入 http://localhost:80 进行测试是否启动成功,效果如下:

1.4 关闭

如果使用 cmd 命令窗口启动的,关闭窗口不能结束 nginx 进程,有两种关闭的方式

1)使用命令 nginx -s stop (快速停止),nginx -s quit (完整有序的停止)

2)taskkill /f /t /im nginx.exe

taskkill #终止进程
/f #强制终止
/t #终止指定的进程和任何由此启动的子进程
/im #指定的进程名称

2、Linux下载

1)下载

2)上传

把 nginx-1.20.1.tar.gz 文件上传到 linux 上

3)解压

  • 执行 tar -zxvf nginx-1.20.1.tar.gz 命令,对 nginx 进行解压

  • 进入文件,查看文件信息

4)编译

  • 执行 ./configure ,帮我们进行配置

  • 执行 ./configure 可能会报错,有两种,分别如下:

  • 解决办法:

    执行下面的命令,安装 pcre-devel

# 第一个
yum -y install pcre-deve#第二个
yum install -y zlib-devel

结尾出现这个算是成功

  • 执行 make 命令

  • 以防万一,可以再来个 make install

5)启动

  • 使用 whereis nginx 命令查看有没有 nginx

  • 进入 sbin 目录,启动 nginx,它没有日志,没报错就算成功

  • 打开浏览器,输入自己的服务器 ip:80 访问 nginx ,访问的时候注意 80 端口是否被占用,或者云服务器的 80 端口是否被放行

6)关闭

使用 ./nginx -s stop ,关闭nginx

3、Nginx 常用命令

./nginx # 启动
./nginx -s stop # 停止
./nginx -s quit # 安全退出
./nginx -s reload # 重新加载配置文件
ps aux|grep nginx # 查看 nginx 进程

谢谢观看

这个是根据b站 遇见狂神说 up主 的nginx 教学视频写的笔记,只是一些相关的理论和安装,Nginx 实战可以去看狂神的视频:https://www.bilibili.com/video/BV1F5411J7vK?p=7&spm_id_from=pageDriver

Nginx 基本理论和安装相关推荐

  1. zabbix nginx php postgresql,debian10安装zabbix4.2+nginx+postgresql

    最近在做zabbix监控,网上很多都是用centos+mariadb(mysql)搭建的,不适合我喜爱的debian系统,特意去bing搜索了一遍国外的教程,特此笔录 1.挑选部分依赖安装 sudo ...

  2. iis php mysql 一键安装_LNMP(Nginx服务,MySQL 服务,安装PHP服务 手动安装技术文档)

    文章目录 安装Nginx服务 1.关闭防火墙将nginx所需软件包到/opt目录下 2.安装依赖包 3. 创建运行用户 4.编译安装 5.优化路径 6.添加 Nginx 系统服务 二.安装 MySQL ...

  3. LNMP架构环境搭建之PHP、Nginx源码编译安装及其简单配置应用

    LNMP架构中的Mysql见上一篇博文"LNMP架构环境搭建之mysql源码编译安装" 一.PHP简介 PHP(外文名:PHP: Hypertext Preprocessor,中文 ...

  4. Linux 利用nginx源码编译安装nginx

    环境 1, CentOS 7 2, nginx 1.13.6 步骤 1,编译前准备 yum install pcre* openssl openssl-devel zlib zlib-devel 2, ...

  5. nginx 怎么重新编译安装mysql,centos 下 编译安装 nginx + mysql + php 服务

    centos 下编译安装nginx + mysql + php 服务 1.安装nginx 1.1.安装依赖包 yum install wget make gcc gcc-c++ pcre-devel ...

  6. 在Nginx/Tengine服务器上安装SSL证书

    在Nginx/Tengine服务器上安装SSL证书 阿里云SSL证书服务支持下载证书安装到Nginx/Tengine服务器上,本文介绍了证书安装的具体操作. 背景信息 本文档以CentOS 7.Ngi ...

  7. rethat linux安装nginx,nginx系列-00-编译安装-CentOS/RedHat

    [TOC] 1 yum源安装 这种方式安装比较简单,不在赘述,yum源如下.如果想在安装的时候定制选项请看下文 编译源码安装的方式. [nginx] name=nginx repo baseurl=h ...

  8. nginx php 源码安装,Nginx和php安装及配置一之编译安装nginx-1.8.0

    本篇文章给大家分享的内容是关于Nginx和php安装及配置一之编译安装nginx-1.8.0 ,有着一定的参考价值,有需要的朋友可以参考一下 一.编译安装nginx-1.8.0 1.创建放置安装包的目 ...

  9. nginx日志查看goaccess安装使用

    2019独角兽企业重金招聘Python工程师标准>>> nginx日志查看goaccess安装使用 准备工作: Linux CentOs 6.5 Nginx 1.8 1. 安装前准备 ...

最新文章

  1. 保证可见性_基于广告可见性的可见曝光数据建设实践
  2. 闪存普及推动技术进步!2016年存储行业五大热门技术回顾
  3. textedit怎么插入数据_还在手动插入Excel交叉空白行?这个小技巧10秒搞定
  4. java mathematica_用Java获取Mathematica图像
  5. mile for gallon 汽车省油
  6. linux内核的队列实现移植
  7. 全球最大语音识别公司Nuance的衰落与自我救赎
  8. stride padding_关于Padding实现的一些细节
  9. JIRA 饼图中文乱码
  10. 使用 Solr 构建企业级搜索服务器
  11. mysql设置远程登录
  12. hs8346v5联通 说明书_中兴Memo V5S说明书
  13. 记录一次生产环境偶发HTTP响应406报错问题
  14. Kali忘记root密码强制更改办法
  15. 【show me the code】Python练习题语法笔记 1
  16. 重新运行一次阿里云服务器.从零开始搭建.?log-换-服务器
  17. 大连理工大学计算机学院院长,谭国真
  18. 灰帽子python 读书笔记 1
  19. java excel导出并下载
  20. scipy csr_matrix和csc_matrix函数的用法(通俗易懂版)

热门文章

  1. 观后感 - stormzhang 跨年直播
  2. 通过需求条目的层次去解决问题
  3. 根据一段时间区间,按月份拆分成多个时间段
  4. 零基础如何快速入门微信小游戏开发?
  5. 2022年系统集成项目管理工程师考试,需要知道这些
  6. 好的中层管理者要兼顾公司和员工的利益
  7. 【崩坏星穹铁道】仙舟引航罗盘解密c++
  8. 未来的电子计算机作文300字,未来的校园科幻作文300字(精选3篇)
  9. C语言int类型数值溢出会怎么样
  10. (2022年12月最新)SpringBoot远程代码执行whitelabel error page SpEL RCE漏洞复现