当前位置: 首页 > news >正文

Nginx从入门到入土(二): 学习内容与安装

Nginx学习内容

1.理解Nginx在实际项目中的应用场景

2.理解正向代理和反向代理

3.Nginx在Linux和Windows上的安装

4.Nginx的运行模型概念与日志管理

5.Nginx.config核心配置文件与配置HTTPS证书

6.基于Nginx解决跨域,实现防盗链,缓存,压缩等问题

7.Nginx+Keepalived服务之间的实现高可用(负载均衡)

8.Nginx+lua+OpenResty实现亿级别商品详情页(限流等场景运用)

Nginx概述

  • Nginx是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务,第一个公开版本0.1.0发布于2004年10月4日。
  • 其将源代码以类BSD许可证的形式发布,因它的稳定性,丰富的功能集、示例配置文件和低系统资源的消耗而闻名。
  • Nginx是一款轻量级的Web服务器/反向代理服务器以及电子邮件(IMAP/POP3)代理服务器,在BSD-like协议下发行。其特点是占有内存少,并发能力强。

相较于一般网关,nginx的优势是用c语言编写的,性能好些。 

网关是对一系列服务进行拦截,nginx则调控网关 

Nginx实际应用场景

 1.反向代理:客户端发送请求达到Nginx服务器,Nginx转发到真实服务器访问,从而保证真实服务安全性。保护的是服务端的信息。(正向代理保护的是用户的信息)

2.负载均衡: 能够对集群的节点实现负载均衡和故障转移。。负载均衡算法(轮询、权重、随机、hash等)

3.微服务网关入口:可以对微服务网关实现集群

4.静态服务器:比Tomcat性能高很多,可以存放静态资源

5.保护网站:使用Nginx+lua实现对请求实现服务限流

Nginx安装 

Windows

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

我下的是稳定版本,其他版本可自行尝试

 

2. 解压到你想要的目录

3.各个目录的功能

4.双击nginx.exe启动

可能会出现闪退,打开任务管理器,查看后台有没有运行

默认端口为80

在浏览器地址栏输入127.0.0.1:80

成功的界面:

失败的界面:

如果你想修改端口的话,可以在conf文件夹下面的nginx.conf配置文件中进行修改 

找到server下面的listen监听端口设置成你想要的。

到此安装结束

Linux

1.下载相关软件压缩包

2.拖入相关文件夹(小编放在了 /usr/local/src,可以根据自己喜好安装)

拖动下载文件夹内的压缩包进入src目录,等待上传(Linux系统下的压缩包后缀是.tar.gz)

3. 输入指令  tar -zxvf XXXX.tar.gz 进行解压

这里是

tar -zxvf nginx-1.26.2.tar.gz

解压后会出现nginx-1.26.2

4.执行配置脚本,查看是否出错

命令:(/usr/local/src/nginx-1.26.2是安装目录)

./configure --prefix=/usr/local/src/nginx-1.26.2

正常情况:(没有报错) 

 网上看到有这样的报错:

给出解决方法

5.编译安装nginx 

命令:

make &make install 

6.启动nginx

启动命令:

/usr/local/src/nginx-1.26.2/sbin/nginx -c /usr/local/src/nginx-1.26.2/conf/nginx.conf

 然后在浏览器输入自己的公网IP+端口号即可(默认80)

小编这里是已经在8088端口创建过一个实例了,所以nginx会报错

在Linux系统中可以使用以下命令来查看Nginx服务正在使用的端口

sudo netstat -tulnp | grep nginx

7.如果想换成自己想要的端口号

1)找到conf文件夹并输入vim nginx.conf进入

修改成自己想要的端口: 

i是输入,esc  :wq 是保存退出 ,esc  :q! 是不保存直接退出 

这个时候还要确保服务器允许监听你想要的端口和防火墙设置,否则会出现无法访问的情况 

设置服务器规则

还有防火墙操作一并给到大家

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • LeetCode 面试经典150题 190.颠倒二进制位
  • 微服务Docker相关指令
  • 第三章 Smart X超融合测试历程第三天
  • 边缘计算网关在工业中的应用
  • ⭐ Unity + OpenCV 实现实时图像识别与叠加效果
  • MySQL---创建数据库(基于SQLyog)
  • MySQL系列—11.Redo log
  • 深度学习速通系列:如何使用文本标注工具进行命名实体识别?
  • 关于http的206状态码和416状态码的意义、断点续传以及CORS使用Access-Control-Allow-Origin来允许跨域请求
  • SpringCloud Alibaba之Seata处理分布式事务
  • Git 推送更改到远程仓库
  • 双虚拟机部署php项目
  • AUTOSAR UDS NRC
  • 反病毒技术和反病毒软件(网络安全小知识)
  • DBeaverEE:专业级数据库管理工具,让数据管理更高效
  • 0x05 Python数据分析,Anaconda八斩刀
  • 4月23日世界读书日 网络营销论坛推荐《正在爆发的营销革命》
  • CoolViewPager:即刻刷新,自定义边缘效果颜色,双向自动循环,内置垂直切换效果,想要的都在这里...
  • CSS3 变换
  • JavaScript中的对象个人分享
  • Rancher-k8s加速安装文档
  • React中的“虫洞”——Context
  • Ruby 2.x 源代码分析:扩展 概述
  • Solarized Scheme
  • Spark in action on Kubernetes - Playground搭建与架构浅析
  • yii2权限控制rbac之rule详细讲解
  • 规范化安全开发 KOA 手脚架
  • 回顾2016
  • 基于Javascript, Springboot的管理系统报表查询页面代码设计
  • 快速体验 Sentinel 集群限流功能,只需简单几步
  • 手写一个CommonJS打包工具(一)
  • 用quicker-worker.js轻松跑一个大数据遍历
  • 在 Chrome DevTools 中调试 JavaScript 入门
  • MyCAT水平分库
  • shell使用lftp连接ftp和sftp,并可以指定私钥
  • ​​​​​​​GitLab 之 GitLab-Runner 安装,配置与问题汇总
  • ​flutter 代码混淆
  • # 达梦数据库知识点
  • ###C语言程序设计-----C语言学习(6)#
  • #进阶:轻量级ORM框架Dapper的使用教程与原理详解
  • ${factoryList }后面有空格不影响
  • (52)只出现一次的数字III
  • (k8s)kubernetes 部署Promehteus学习之路
  • (k8s)Kubernetes 从0到1容器编排之旅
  • (SERIES10)DM逻辑备份还原
  • (zt)基于Facebook和Flash平台的应用架构解析
  • (二)构建dubbo分布式平台-平台功能导图
  • (回溯) LeetCode 46. 全排列
  • (九十四)函数和二维数组
  • (三)c52学习之旅-点亮LED灯
  • (十二)devops持续集成开发——jenkins的全局工具配置之sonar qube环境安装及配置
  • (转)利用ant在Mac 下自动化打包签名Android程序
  • .[hudsonL@cock.li].mkp勒索加密数据库完美恢复---惜分飞
  • .apk 成为历史!
  • .class文件转换.java_从一个class文件深入理解Java字节码结构