Linux基础学习六:Nginx的使用教程
Nginx (发音:engine x) 是一个高性能的HTTP和反向代理web服务器。它有2个常见的应用场景:
反向代理Tomcat集群并实现负载均衡
充当静态资源(html、js、css、图片)服务器
Nginx的安装
下载并安装nginx的yum源
[root@localhost bin]# wget -P /tmp http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm [root@localhost bin]# cd /tmp [root@localhost tmp]# rpm -ivh nginx-release-centos-7-0.el7.ngx.noarch.rpm
使用yum安装nginx
[root@localhost tmp]# yum install -y nginx
启动nginx
[root@localhost tmp]# systemctl start nginx [root@localhost tmp]# systemctl status nginx ● nginx.service - nginx - high performance web serverLoaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)Active: active (running) since 五 2020-05-29 02:23:00 CST; 6s agoDocs: http://nginx.org/en/docs/Process: 40706 ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf (code=exited, status=0/SUCCESS)Main PID: 40707 (nginx)CGroup: /system.slice/nginx.service├─40707 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf└─40708 nginx: worker process
关闭防火墙和selinux
[root@localhost tmp]# systemctl stop firewalld 关闭防火墙开机自启动 systemctl disable firewalld [root@localhost tmp]# getenforce [root@localhost tmp]# setenforce 0 永久关闭selinux:编辑 vi /etc/selinux/config SELINUX=disabled
访问
http://ip:80
nginx默认占用80端口
注意:如果nginx访问出错,可以查看 /var/log/nginx/error.log
文件获取错误日志
反向代理
代理其实就是一个中介,A和B本来可以直连,中间插入一个C,A借助C和B连接,C就是代理。刚开始的时候,代理多数是帮助client访问server端,也就是正向代理。后来又有了帮助server端响应client请求的反向代理。
正向代理
正向代理用在client无法直接访问server端时。可以为client配置一个能访问server的代理,当client发送对server的请求时,实际上由代理发起对server的请求。
特点:
代理的是client
虽不直接建立连接,但server对client是可见的
client访问时,直接输入server的地址。
反向代理
反向代理常用于需要向client屏蔽server端的复杂设计时。
特点:
代理的是server端
server端对client是透明的不可见的
client访问时,输入的是代理的地址
Tomcat集群:
当接收大量的请求时,单一服务器终究无法满足需要处理的负荷量。可以组建多台Tomcat服务器提供相同的服务,均衡负载分摊请求,提高系统的扩展性和高可用性。
集群可以提高应用性能,但是增加了服务端设计的复杂性,解决方案:nginx的反向代理。
Nginx反向代理Tomcat集群:
克隆3台虚拟机,分别启动tomcat搭建集群
配置
/etc/nginx/conf.d/default.conf
启动nginx
3.启动nginx
通过nginx可以访问到tomcat集群中的服务。
vi /etc/sysconfig/network-scripts/ifcfg-ens33
负载均衡
负载均衡(Load balancing),意思是将负载(工作任务,访问请求)进行平衡,用来在多个计算机(计算机集群)中分配负载,以达到集群系统整体的最优化资源使用、最大化吞吐率、最小化响应时间、同时避免过载的目的。
Nginx的负载均衡策略:
轮询(默认)
优点:实现简单
缺点:不考虑每台服务器的处理能力
配置示例如下:
upstream 集群名 { # 需要负载的server列表 server ip1:port; server ip2:port; server ip3:port; }
权重(使用较多)
优点:考虑了每台服务器处理能力的不同,哪台机器性能高就给哪台机器的权重高一些
配置示例如下:
upstream 集群名 { # 需要负载的server列表,weight表示权重 server ip1:port weight=1; server ip2:port weight=2; server ip3:port weight=4; }
ip hash
优点:能实现同一个用户始终访问同一个服务器
缺点:根据 ip hash 不一定平均
配置示例如下:
upstream 集群名 { ip_hash; # 需要负载的server列表 server ip1:port; server ip2:port; server ip3:port; }
静态资源服务器(了解)
传统的web项目,一般都将静态资源存放在web应用中,这样做很方便获取静态资源。但是当web项目很大,用户很多,静态资源也很多时,应用服务器的性能就会很低下了。这种情况下一般都会需要一个静态资源的服务器。
Nginx作为静态资源服务器的搭建过程:
在linux服务器中创建文件夹,并上传静态资源
示例: mkdir -p /var/static
编辑
/etc/nginx/conf.d/default.conf
Linux基础学习六:Nginx的使用教程相关推荐
- 鸟哥的linux 实训教程,鸟哥的Linux基础学习实训教程
1.理想的Linux上机实践课程 每周一次.每次三小时的学与练 本书所有例题讲解,均经过鸟哥在大专院校实施多年来的测试,对于学生的理解具有相当满意的效果. 2. 提供一致性教学环境 让学习者不再有陌生 ...
- Linux基础学习(十七)--- wiki,jira 搭建、公司面试常见问题
Linux基础学习(十七) wiki,jira 搭建.公司面试常见问题 mysql中 utf8 支持中文字符 du -sh * 查看当前目录所有文件大小 wiki 企业多人协作系统–>企业级文档 ...
- linux基础学习——linux的文件权限和目录配置
linux基础学习--linux的文件权限和目录配置 1.用户和用户组和其他人概念: 三个概念的前提宗旨:linux是一个多人多任务的系统环境.如果不对文件作出一个权限限制的话.任何人都能操作这份文件 ...
- 最全的linux基础学习视频
最全的linux基础学习视频,千锋教育的Linux视频课程免费下载地址: http://pan.baidu.com/s/1c13ddvE,更多精彩的视频在不断的更新中,OpenStack覆盖了网络.虚 ...
- Linux基础学习之Day7-2-LVM管理
Linux基础学习之从入门到精通Day7-2 LVM管理 在线扩容 online 数据迁移 online 创建LVM LVM叫逻辑卷管理 VG扩展/缩小 LV扩容 文件系统扩容 在线扩容及在生产中 3 ...
- 鸟哥私房菜linux基础学习笔记 1
linux基础学习笔记 计算机:辅劣人脑的好工具 1.计算机硬件癿五大单元 输入单元:包括键盘.鼠标.卡片阅读机.手写板.触控屏幕等等一堆: 主机部分:这个就是系统单元,被主机机壳保护住了,里面有 C ...
- Linux基础学习之Day12-网络管理基础
Linux基础学习之从入门到精通Day12 网络管理基础 使用NetworkManager管理网络 网络管理器(NetworkManager)是一个动态网络的控制器与配置系统,它用于当网络设备可用时保 ...
- Linux基础学习之Day7-6-Mount 挂载详解
Linux基础学习之从入门到精通Day7-6 Mount 挂载详解 常用挂载选项详解 挂载设备文件.卷标.UUID ISO文件创建及挂载 挂载选项 -t 文件系统类型 -o 选项1,选项2- 示例: ...
- Linux绝对权限和相对权限法,Linux基础学习笔记
8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? 学习计划里有一些关于Linux的知识,所以今后一段时间用来学习Linux的基础知识和服务器架设知识,平时一直在用,但是一 ...
最新文章
- 程序员第一次相亲,因请女方吃肯德基而被怒删!
- 【Android开发】之编译脚本Makefile编写
- web myeclipse为什么连接不上css_Web技巧 (03)
- [软件更新]迅雷v5.9.8.1084发布
- 39.伪造重定向ICMP数据包
- 一行代码查看电脑Wifi密码
- 微博文摘——女人与ITIL
- oracle dbms_lob trim,DBMS_LOB包基础应用
- The power input for PSU 2 is lost
- html+显示平方米,平方米符号怎么打【四种方法】
- jQuery获取或设置元素的属性值prop/attr
- jQuery实现五星好评
- SQL server 2000 标准版、企业版、开发版、个人版各版本之间的区别
- 前端学习之路---CSS
- 一键即可实现图片翻译成中文,多国语言任意选
- 大数据之linux网络,主机名配置
- HEVC率失真优化方法
- 中国菜刀(chopper)官网原版下载!强烈鄙视那些发布所谓过狗菜刀的人!
- HDU - 2147 巴什博弈(必败点和必胜点)
- AWS OutPosts