Linux下Nginx的安装教程

本文介绍了Nginx,它是高性能的http服务器/反向代理服务器,可用于http服务、虚拟主机、反向代理和负载均衡。还给出了Nginx的安装教程,以及配置虚拟主机、反向代理、负载均衡的方法。最后讲解了用Keepalived+Nginx实现主备,保障Nginx高可用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、什么是Nginx

nginx是一款高性能的http服务器/反向代理服务器。

(一)应用场景

(1)http服务器,nginx是一个http服务可以独立提供http服务,可以做静态服务器,

(2)虚拟主机,可以实现在一台服务器虚拟多个网站,

(3)反向代理、负载均衡

(二)反向代理

反向代理应该是Nginx做的最多的一件事了,什么是反向代理呢,以下是百度百科的说法:反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。简单来说就是真实的服务器不能直接被外部网络访问,所以需要一台代理服务器,而代理服务器能被外部网络访问的同时又跟真实服务器在同一个网络环境,当然也可能是同一台服务器,端口不同而已。

(三)负载均衡

负载均衡也是Nginx常用的一个功能,负载均衡其意思就是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。简单而言就是当有2台或以上服务器时,根据规则随机的将请求分发到指定的服务器上处理,负载均衡配置一般都需要同时配置反向代理,通过反向代理跳转到负载均衡。而Nginx目前支持自带3种负载均衡策略,还有2种常用的第三方策略。

(四)负载均衡采用的策略

(1)RR(默认)

每个请求按照时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除;

配置如下:

upstream test {

server localhost:8080;

server localhost:8081;

}

server {

listen 81;

server_name localhost;

client_max_body_size 1024M;

location / {

    proxy_pass http://test;

    proxy_test_header Host $host:$server_port;
   }
}

(2)权重

指定轮询几率,weight与访问率成正比,用于后端服务器性能不均的情况,配置如下:

upstream test {

    server localhost:8080 weight=9;

    server localhost:8081 weight=1;

}

(3)ip_hash

上面的2种方式都有一个问题,那就是下一个请求来的时候请求可能分发到另外一个服务器,当我们的程序不是无状态的时候(采用了session保存数据),这时候就有一个很大的很问题了,比如把登录信息保存到了session中,那么跳转到另外一台服务器的时候就需要重新登录了,所以很多时候我们需要一个客户只访问一个服务器,那么就需要用iphash了,iphash的每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。

upstream test {

    ip_hash;

    server localhost:8080;

    server localhost:8081;

}

(4)fail(第三方)

按后端服务器响应时间长短来分配请求,响应时间短的优先分配

upstream backend {

    fail;

    server localhost:8080;

    server localhost:8081;

}

(5)url_hash(第三方)

按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,后端服务器为缓存时比较有效。 在upstream中加入hash语句,server语句中不能写入weight等其他的参数,hash_method是使用的hash算法。

upstream test {

    hash $request_uri;

    hash_method crc32;

    server localhost:8080;

    server localhost:8081;

}

二、Nginx安装教程 

(1)安装C语言环境,yum install gcc-c++;

(2)需要一些第三方的包

yum install -y pcre pcre-devel

yum install -y zlib zlib-devel;

yum install -y openssl openssl-devel;

(3)上传nginx的压缩包并解压,make编译;

(4)创建makefile文件,使用configure创建

./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

(5)之后进行make;

(6)make install 安装即可;

[root@localhost sbin]# ./nginx

nginx: [emerg] mkdir() "/var/temp/nginx/client" failed (2: No such file or directory)

解决报错:

创建多级目录: mkdir /var/temp/nginx/client -p

启动:./nginx

关闭:kill 正常关闭

./nginx -s stop

./nginx -s reload 启动

三、nginx配置虚拟主机

nginx.conf配置文件

配置其他虚拟主机:

通过nginx配置Https的服务。

vi环境下,shirft+v(V)进行复制,上下箭头选择复制的行,p选择已选复制的行,

小写的y复制,小写的t粘贴;

什么是域名以及host文件的作用:

host文件的作用:

如果配置本地host文件,再不走DNS域名解析服务了。

一个域名对应一个pi地址,一个ip可以绑定多个

server {

listen 80;

server_name localhost;

    location / {

    root html;

    index index.html index.htm;

}

error_page 500 502 503 504 /50x.html;

    location = /50x.html {

    root html;

    }

}

四、nginx反向代理

正向代理:访问另一台服务器代理到禁止访问的那一台服务器。

反向打理:很多台服务器,网站入口只有一个,访问百度,百度入口只有一个,一个域名绑定一个IP地址。

 

 

配置nginx的请求转发:

nginx实现服务的请求转发功能。

五、nginx实现负载均衡

(一)nginx采用轮询的方式实现负载均衡

(二)通过调服务器的权重来实现负载均衡

 

 

六、nginx高可用 keepalived+nginx实现主备

不管什么情况下,nginx不可挂掉。

增加备份机

Keepalived是一个基于VRRP协议来实现的服务高可用方案,可以利用其来避免IP单点故障,类似的工具还有heartbeat、corosync、pacemaker。但是它一般不会单独出现,而是与其它负载均衡技术(如lvs、haproxy、nginx)一起工作来达到集群的高可用。  

  Keepalived的作用是检测服务器的状态,如果有一台web服务器死机,或工作出现故障,Keepalived将检测到,并将有故障的服务器从系统中剔除,同时使用其他服务器代替该服务器的工作;当服务器工作正常后Keepalived自动将服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的服务器。

  健康检查和失败切换是keepalived的两大核心功能。 所谓的健康检查, 就是采用tcp三次握手, icmp请求, http请求, udp echo请求等方式对负载均衡器后面的实际的服务器(通常是承载真实业务的服务器)进行保活;而失败切换主要是应用于配置了主备模式的负载均衡器, 利用VRRP(虚拟路由冗余协议, 可参考RFC文档http://tools.ietf.org/html/rfc5798) 维持主备负载均衡器的心跳, 当主负载均衡器出现问题时, 由备负载均衡器承载对应的业务, 从而在最大限度上减少流量损失, 并提供服务的稳定性。

内容概要:本文详细探讨了基于MATLAB/SIMULINK的多载波无线通信系统仿真及性能分析,重点研究了以OFDM为代表的多载波技术。文章首先介绍了OFDM的基本原理和系统组成,随后通过仿真平台分析了不同调制方式的抗干扰性能、信道估计算法对系统性能的影响以及同步技术的实现与分析。文中提供了详细的MATLAB代码实现,涵盖OFDM系统的基本仿真、信道估计算法比较、同步算法实现和不同调制方式的性能比较。此外,还讨论了信道特征、OFDM关键技术、信道估计、同步技术和系统级仿真架构,并提出了未来的改进方向,如深度学习增强、混合波形设计和硬件加速方案。; 适合人群:具备无线通信基础知识,尤其是对OFDM技术有一定了解的研究人员和技术人员;从事无线通信系统设计与开发的工程师;高校通信工程专业的高年级本科生和研究生。; 使用场景及目标:①理解OFDM系统的工作原理及其在多径信道环境下的性能表现;②掌握MATLAB/SIMULINK在无线通信系统仿真中的应用;③评估不同调制方式、信道估计算法和同步算法的优劣;④为实际OFDM系统的设计和优化提供理论依据和技术支持。; 其他说明:本文不仅提供了详细的理论分析,还附带了大量的MATLAB代码示例,便于读者动手实践。建议读者在学习过程中结合代码进行调试和实验,以加深对OFDM技术的理解。此外,文中还涉及了一些最新的研究方向和技术趋势,如AI增强和毫米波通信,为读者提供了更广阔的视野。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sunshineAndAlways

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值