今天学习了狂神的nginx快速入门,整理了一下笔记

Nginx

文章目录

  • Nginx
    • 1. 什么是nginx
    • 2. Nginx作用?
    • 3. Nginx的安装
      • 3.1 windows下安装nginx
      • 3.2 linux下安装nginx

1. 什么是nginx

  • Nginx (engine x) 是一个高性能HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。
  • Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。2011年6月1日,nginx 1.0.4发布。
  • 其特点是占有内存少并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。在全球活跃的网站中有12.18%的使用比率,大约为2220万个网站。
  • Nginx 是一个安装非常的简单、配置文件非常简洁(还能够支持perl语法)、Bug非常少的服务。Nginx 启动特别容易,并且几乎可以做到7*24不间断运行,即使运行数个月也不需要重新启动。你还能够不间断服务的情况下进行软件版本的升级。
  • Nginx代码完全用C语言从头写成。官方数据测试表明能够支持高达 50,000 个并发连接数的响应。

2. Nginx作用?

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

    • 正向代理

    • 反向代理

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

    • 轮询

    • 加权轮询

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

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

3. Nginx的安装

3.1 windows下安装nginx

  1. http://nginx.org/en/download.html 下载稳定版本。

  1. 解压(安装的目录不能有中文)

  2. 启动nginx

    • 直接双击nginx.exe,双击后一个黑色的弹窗一闪而过
    • 打开cmd命令窗口,切换到nginx解压目录下,输入命令 nginx.exe ,回车即可
  3. 测试nginx是否启动成功,输入http://localhost:80网址,出现如下的页面则nginx启动成功

  4. 配置监听:nginx的配置文件是conf目录下的nginx.conf,默认配置的nginx监听的端口为80,如果80端口被占用可以修改为未被占用的端口即可。

    当我们修改了nginx的配置文件nginx.conf 时,不需要关闭nginx后重新启动nginx,只需要执行命令nginx -s reload(快速重新加载)即可让改动生效。

    • nginx -s reload命令非常常用,每次修改配置文件后都需要重新加载nginx.conf配置文件
  5. 关闭nginx

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

    • 输入nginx命令 nginx -s stop(快速停止nginx)或 nginx -s quit(完整有序的停止nginx)
    • 使用taskkill /f /t /im nginx.exe
      • taskkill是用来终止进程的
      • /f是强制终止
      • /t终止指定的进程和任何由此启动的子进程
      • /im示指定的进程名称

3.2 linux下安装nginx

  1. 安装gcc:

    安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装

    yum install gcc-c++
    
  2. PCRE pcre-devel 安装

    PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括perl兼容的正则表达式库。nginx的http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库,pcre-devel 是使用 pcre 开发的一个二次开发库。nginx也需要此库。命令:

    yum install -y pcre pcre-devel
    
  3. zlib 安装:

    zlib 库提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip ,所以需要在 CentOS 上安装 zlib 库

    yum install -y zlib zlib-devel
    
  4. OpenSSL安装:

    OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。
    nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要在 Centos 安装 OpenSSL 库。

    yum install -y openssl openssl-devel
    
  5. 下载安装包

    手动下载.tar.gz安装包,地址:https://nginx.org/en/download.html

  6. 将nginx的tar包传到linux系统中(Xftp7)

  7. 解压

    tar -zxvf nginx-1.22.0.tar.gz
    cd nginx-1.22.0
    
  8. 配置:使用默认配置,在nginx根目录下执行

    ./configure
    make
    make install
    

    查找安装路径:

    whereis nginx
    

  9. Nginx常用命令

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

    启动成功访问 服务器ip:80

注意:如何连接不上,检查阿里云安全组是否开放端口,或者服务器防火墙是否开放端口!
防火墙相关命令:

# 开启
service firewalld start
# 重启
service firewalld restart
# 关闭
service firewalld stop
# 查看防火墙规则
firewall-cmd --list-all
# 查询端口是否开放
firewall-cmd --query-port=8080/tcp
# 开放80端口
firewall-cmd --permanent --add-port=80/tcp
# 移除端口
firewall-cmd --permanent --remove-port=8080/tcp
#重启防火墙(修改配置后要重启防火墙)
firewall-cmd --reload
# 参数解释
1、firwall-cmd:是Linux提供的操作firewall的一个工具;
2、--permanent:表示设置为持久;
3、--add-port:标识添加的端口;
演示
upstream lb{server 127.0.0.1:8080 weight=1;server 127.0.0.1:8081 weight=1;
}
location / {proxy_pass http://lb;
}

Nginx入门及笔记相关推荐

  1. Nginx入门学习笔记

    个人博客原文链接 以在Linux上发布项目网上商城为例,主要详细介绍如何在Linux下搭建Nginx+TomCat集群,顺便介绍在window下搭建Nginx+TomCat集群,统一开发环境为32位避 ...

  2. Docker快速入门总结笔记

    文章目录 1. Docker概述 2. 虚拟化技术和容器化技术 3. Docker的基本组成 4. Docker的安装 5. Docker的卸载 6. 配置阿里云镜像加速 8. Docker容器运行流 ...

  3. linux常见命令以及shell入门编程(笔记总结记录)

    linux常见命令以及shell入门编程(笔记总结记录) 文章目录 linux常见命令以及shell入门编程(笔记总结记录) 一.linux常见命令 1.不常用 2.常用 3.数据查找处理相关 1.g ...

  4. Nginx基础学习笔记(正向/反向代理,Nginx均衡负载和配置)

    目录 1. 正向代理和反向代理 1.1 正向代理 (1)什么是正向代理? (2)正向代理的特点 (3)正向代理的用途 1.2 反向代理 (1)什么是反向代理? (2)反向代理的特点 (3)反向代理的用 ...

  5. RHEL8.0快速入门系列笔记--软件包管理(十一)

    RHEL8.0快速入门系列笔记–软件包管理(十一) 一.软件包管理 1.Linux系统中软件包管理 (一)软件包类型 [1] 二进制包 什么是二进制包?有什么特点? 1.二进制包,指的是已经编译好的软 ...

  6. 嵌入式Linux入门经典笔记

    史上最牛的Linux内核学习方法论     点击下载 我的arm_linux移植笔记     点击下载 S3C2440完全开发流程     点击下载 Linux系统命令及其使用详解完整版     点击 ...

  7. dubbo入门学习笔记之入门demo(基于普通maven项目)

    注:本笔记接dubbo入门学习笔记之环境准备继续记录; (四)开发服务提供者和消费者并让他们在启动时分别向注册中心注册和订阅服务 需求:订单服务中初始化订单功能需要调用用户服务的获取用户信息的接口(订 ...

  8. Crypto++入门学习笔记(DES、AES、RSA、SHA-256)

    Crypto++入门学习笔记(DES.AES.RSA.SHA-256) 背景(只是个人感想,技术上不对后面的内容构成知识性障碍,可以skip): 最近,基于某些原因和需要,笔者需要去了解一下Crypt ...

  9. Linux之nginx入门

    nginx入门 详见可参考:https://www.cnblogs.com/tiger666/p/10239307.html?tdsourcetag=s_pctim_aiomsg 1. 常用的WEB框 ...

最新文章

  1. MFC的exe启动时提示应用程序配置不正确,应用程序未能启动错误
  2. JavaScript对UNIX时间戳的转换
  3. java 方法执行结束局部变量释放_Java方法执行的内存模型
  4. [css] body{height:100%}和html,body{height:100%}有什么区别?为什么html要设置height:100%呢,html不就是整个窗口吗?
  5. php计算单价乘数量,数量单价怎么算出金额
  6. 请问孩子厌学的话该怎么办?
  7. 云服务器上传文件到哪个文件夹,云服务器上传到那个文件夹
  8. php基础:变量命名、传值、检测、类型转换、动态变量名
  9. 显示器屏幕尺寸及分辨率
  10. Android本地音乐播放器的制作
  11. 女孩起名取名字:聪明美丽、好听委婉的女孩名字
  12. Unsupported OS Version In Xcode
  13. opencv矩形轮廓查找
  14. 怎样下载安装python编程软件3.85_【Python下载】Python安装 v3.8.1 官方版-七喜软件园...
  15. 惊叹!前NASA员工绘大型精美地面立体画(高清组图)
  16. Python数据分析与可视化(基础知识)Python基础
  17. 佛寺风飘飘,塔上幡摇摇
  18. 联盟链系列 - RootCA颁发证书
  19. 视频(图像)质量检测
  20. 考研政治(一)马克思原理

热门文章

  1. docker容器重启策略
  2. 国内3G网络技术基础篇(概念与现状分析)
  3. Harris角点检测算法
  4. WIN7频繁提示资源管理器已停止正确解决办法
  5. Tainted canvases may not be exported
  6. elementui 校验不可以输入空格
  7. 董明珠透露择偶观;小霸王宣布回归游戏机市场;苹果将提高股东回报规模丨价值早报
  8. B2B网站排名 慧聪网超越环球紧追阿里
  9. 计算机应用基础知识doc,计算机应用基础知识.docx
  10. 25个故事性网页设计,轻松讲述网页独有的故事!!!