我的编程空间,编程开发者的网络收藏夹
学习永远不晚

4. Nginx

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

4. Nginx

用处

Nginx是一款高性能的http服务器,反向代理服务器,电子邮件(IMAP/POP3)代理服务器。
nginx能支持5万高并发链接,免费开源,cpu、内存等资源消耗非常低,运行稳定。
应用场景:
1、http服务器。能独立提供http服务,nginx可以作为服务器部署静态资源网站。
2、虚拟主机。一台服务器虚拟出多个网站,例如个人网站使用的虚拟机。
3、反向代理,负载均衡。nginx可以做反向代理,使用服务器集群避免单个服务器的超负载,而nginx可以把请求转发到不同的服务器,而负载均衡就是可以使多台服务器平均分担压力,不会一台服务器宕机,另一台空闲。
在这里插入图片描述

安装

安装gcc环境,nginx是c语言开发的,因此安装nginx需要安装gcc环境。
yun install gcc-c++
2、安装pcre库,nginx的http模块需要pcre来解析正则表达式,而pcre-devel是pcre开发的一个二次开发库。
yum install -y pcre pcre-devel
3、安装zlib库,zlib库提供了很多种压缩和解压缩的方式,nginx使用zlib对http包的内容进行gzip。
yum install -y zlib zlib-devel
4、安装openSSL,nginx不仅支持http协议,还支持https协议(在ssl协议上传输http),openSSL是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能以及SSL协议,并提供丰富的应用程序供测试或其他目的使用。
yum install -y openssl openssl-devel
5、上传nginx的源码包tar.gz到linux(我上传到了/usr/local目录)
6、解压缩(local目录下出现一个 nginx-1.8.0目录)
tar -xvf nginx-1.8.0.tar.gz
7、 进入nginx-1.8.0目录,需要用configure命令创建一个makefile文件

./configure \--prefix=/usr/local/nginx \--pid-path=/var/run/nginx/nginx.pid \--lock-path=/var/lock/nginx.lock \--error-log-path=/var/log/nginx/error.log \--http-log-path=/var/log/nginx/access.log \--with-http_gzip_static_module \--http-client-body-temp-path=/var/temp/nginx/client \--http-proxy-temp-path=/var/temp/nginx/proxy \--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \--http-scgi-temp-path=/var/temp/nginx/scgi

执行后在nginx-1.8.0目录下多一个Makefile文件
8、nginx-1.8.0目录下,编译
make
9、nginx-1.8.0目录下,安装(local目录下出现一个nginx目录)
make install
10、因为在上面把临时文件目录指定为了/var/temp/nginx/client,而此文件不存在,因此需要创建此目录
mkdir /var/temp/nginx/client -p
11、进入nginx目录下的sbin目录
cd /usr/local/nginx/sbin
12、启动nginx
./nginx
13、访问虚拟机ip(默认端口为80)
在这里插入图片描述
14、nginx的关闭有两种:
方式一(非正常退出):./nginx -s stop
方式二(正常退出,保存配置再退出):./nginx -s quit
15、重新加载配置文件
./nginx -s reload

静态资源部署到nginx

认识nginx目录

进入nginx目录
在这里插入图片描述
查看sbin目录:
在这里插入图片描述
在sbin目录下用./nginx命令启动nginx,或./nginx -s reload重启。
查看html目录:
在这里插入图片描述
其中index.html页面对应的是默认nginx启动页面:
在这里插入图片描述
50x.html页面对应的是:
在这里插入图片描述
查看conf目录:
在这里插入图片描述
查看nginx.conf配置文件:
在这里插入图片描述

部署静态资源

index文件里面是准备好的静态资源,先将index文件夹上传到linux上
用fileZilla工具上传index文件夹到linux的/usr/local/nginx目录下
在这里插入图片描述
修改/usr/local/nginx/conf目录下的nginx.conf配置文件
在这里插入图片描述
修改完配置文件,重启nginx

在这里插入图片描述
访问
在这里插入图片描述

配置虚拟主机

就是把一台物理服务器划分出多个虚拟服务器。

端口绑定

regist文件里面是准备好的静态资源,先将regist文件夹上传到linux上。
用fileZilla工具上传regist文件夹到linux的/usr/local/nginx目录下。
修改/usr/local/nginx/conf目录下的nginx.conf配置文件,配置两个server
(除了上面配置了访问index目录的server,再配置一个server访问regist目录资源,端口号不一样)
在这里插入图片描述
访问:
80端口:
在这里插入图片描述
81端口:
在这里插入图片描述

域名绑定

域名是ip的对应,访问时输入ip地址+端口号,但ip不好记忆,便有了域名的出现。
baidu.com一级域名,map.baidu.com二级域名。。
dns解析过程:
一个域名对应一个ip,访问baidu.com—>去本地的host文件找有没有baidu.com对应的ip地址—>如果有,则通过80端口访问这个ip,如果没有,通过dns服务器去找域名和ip的对应关系。
总之,配置域名和 ip 的映射关系,如果 hosts 文件中配置了域名和 ip 的对应关系,不需要走dns 服务器。
1、在/etc/hosts文件中设置域名ip映射关系
在这里插入图片描述
2、在nginx配置文件中修改ip为域名(/usr/local/nginx/conf/nginx.conf
在这里插入图片描述
3、刷新配置
在/usr/local/nginx/sbin下执行 ./nginx -s reload
4、访问
在这里插入图片描述
在这里插入图片描述

nginx反向代理与负载均衡

反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。
在这里插入图片描述

在tomcat上部署一个项目

将一个项目打成war包部署到tomcat。
打成war包,打包后文件名为ROOT
在这里插入图片描述
2、把war包上传到tomcat目录的webapp目录下,/usr/local/apache-tomcat-8.5.83/webapps,webapps目录下原本里面的东西可以都删除,我把他们放在了副本文件夹里,把ROOT.war放到webapps目录下。
只所以设置打包后文件名为ROOT,因为/webapps/ROOT目录是tomcat默认目录,tomcat启动后默认加载webapps目录下的应用程序,它可以是文件夹,war包,jar包等形式。
3、启动tomcat
在/usr/local/apache-tomcat-8.5.83/bin下执行 ./startup.sh
4、访问,默认端口是8080,/usr/local/apache-tomcat-8.5.83/conf/server.xml可修改端口。
在这里插入图片描述

配置反向代理

在上面的基础上,修改nginx配置文件/usr/local/nginx/conf/nginx.conf
之前的:
在这里插入图片描述
修改后:
在这里插入图片描述
2、nginx/sbin下刷新 ./nginx -s reload
3、启动tomcat和nginx后,访问www.htmltravel.com,nginx会作为代理,将请求再转发给tomcat服务器,访问192.168.93.129:8080。

配置负载均衡

负载均衡,负载均衡的前提是实现了集群,负载均衡提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。
负载均衡,就是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。
1、把刚才的tomcat复制三份,相当于三个tomcat服务器,修改端口号。
在这里插入图片描述
2、在tomcat1,2,3目录/conf/server.xml中分贝修改端口号为8081,8082,8083。
在这里插入图片描述
3、在tomcat1,2,3目录/bin下执行./startup.sh分别启动这个三个项目
在这里插入图片描述
4、为了能够区分是访问哪个服务器的网站,可以在首页标题加上标记以便区分。
在这里插入图片描述
5、修改nginx的配置文件 /usr/local/nginx/conf/nginx.conf
在这里插入图片描述
6、访问www.htmltravel.com,nginx代理可能访问192.168.93.129:8081,也可能访问192.168.93.129:8082和192.168.93.129:8083,三台服务器出现的概率各为33.3333333%。
7、可以修改概率的比重,例如2:1:1
在这里插入图片描述

来源地址:https://blog.csdn.net/xxx072655/article/details/127603722

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

4. Nginx

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

2023-09-10

3-4 文件读写例子(4)

///         /*******************************************************        **方法 名:ReadTextFile        **输入参数:f
2023-01-31

设置服务器安全环境的4个Nginx小技巧分别是什么

这篇文章给大家介绍设置服务器安全环境的4个Nginx小技巧分别是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。分享我们常用的WEB环境安全技巧,一般我们使用NGINX比较多的,对于一般的安全我们很少有去其他的操作,
2023-06-05

python 4

while true 做成死循环。for 循环:for 比 while 要快。 range 直接生成一个序列。xrange 不直接生成序列,是用一个,再生成一个。(省内存) zip 可以在两个序列(len()相等)中。组成配对。------
2023-01-31

oracle internals3-4

Oracle instance 的redo thread产生的最近的日志条目可以通过RBA(redo byte address)来寻址,一个RBA包括如下的三部分:Ø         Log file sequence number 4 b
2023-01-31

tkinter -- Canvas(4)

绘制弧形代码;#绘制弧形importtkinterastkroot=tk.Tk()#创建一个Canvas,设置其背景色为白色cv=tk.Canvas(root,bg=white)cv.create_arc((10,10,110,110),)
2023-01-30
2023-09-02

esproc vs python 4

esprocA1=now()2=file("C:\\Users\\Sean\\Desktop\\kaggle_data\\music_project_data\\sales.csv").import@t()3=A2.groups(year(
2023-01-31

【MySQL】笔记(4)-

8.7、索引的实现原理:通过B Tree缩小扫描范围,底层索引进行了排序,分区,索引会携带数据在表中的“物理地址”,最终通过索引检索到数据之后,获取到关联的物理地址,通过物理地址定位表中的数据,效率是最高的...... 一.创建表:1.1 建表语句的语法
【MySQL】笔记(4)-
2022-02-11

【JDBC】笔记(4)-

但是在实际的业务中,通常是多条 DML语句 联合完成的,那么就必须保证这些 DML语句 在同一个事务中同时成功或失败...... 楔子:   JDBC 的事务默认是自动提交的:   只要执行一条 DML语句,则自动提交一次。但是在实际的业务中,通常是多条
【JDBC】笔记(4)-
2021-09-15

python第4天

1.while通过except实现可迭代2.2range在py3和py2的区别3.凡是带有yield的函数就一个生成器函数4.生成器函数执行的条件next5.使用生成器监听文件操作6.生成器触发需要先next再send7.如何从生成器中取值
2023-01-31

4.RDD操作

目录一、 RDD创建从本地文件系统中加载数据创建RDD从HDFS加载数据创建RDD通过并行集合(列表)创建RDD二、 RDD操作转换操作filter(func)map(func)flatMap(func)reduceByKey()groupByKey()sor
4.RDD操作
2017-07-29

4.DBus学习

1、什么是DBus DBus(数据总线)项目为了统一数据采集需求而生, 专注于数据的收集及实时数据流计算,通过简单灵活的配置,以无侵入的方式对源端数据进行采集,采用高可用的流式计算框架,对公司各个IT系统在业务流程中产生的数据进行汇聚,经过转换处理后成为统一J
4.DBus学习
2015-07-22

索引上(4)

索引作用:提高数据查询的效率常用索引模型哈希表有序数组搜索树哈希表以键值对的形式存储,适合于只有等值查询的场景。用一个哈希函数把key换算成一个确定的位置,然后把value这个位置的数组中。一个key会对应一个数组,数组中会有多个value,value并不是有
索引上(4)
2016-01-08

编程热搜

目录