Nginx的安装&-服务器代理

本文详细介绍了Nginx的下载安装、目录结构、命令操作,以及配置文件结构和具体应用场景,包括部署静态资源、服务器代理和负载均衡。Nginx以其高性能、稳定性及低资源消耗著称,常用于处理静态内容和反向代理服务。
摘要由CSDN通过智能技术生成

目录

概述

1.介绍

2.下载和安装

3.目录结构

命令

1.查看版本

2.检查配置文件

3.启动与停止

​编辑

4.重新加载配置文件

5.配置Nginx环境变量

配置文件结构

具体应用

1.部署静态资源

2.服务器代理

3.负载均衡


概述

1.介绍

        Nginx (engine x) 是一个高性能的HTTP反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,公开版本1.19.6发布于2020年12月15日。

        其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、简单的配置文件和低系统资源的消耗而闻名。2022年01月25日,nginx 1.21.6发布。

        Nginx是一款轻量级Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好。

2.下载和安装

安装过程:
1、安装依赖包 yum -y install gcc pcre-devel zlib-devel openssl openssl-devel
2、下载Nginx安装包wgethttps://nginx.org/download/nginx-1.16.1.tar.gz
3、解压 tar -zxvf nginx-1.16.1.tar.gz
4、cd nginx-1.16.1
5、./configure --prefix=/usr/local/nginx
6、make && make install

3.目录结构

重点目录/文件:

  • conf/nginx.conf  nginx配置文件
  • html  存放静态文件(html、CSS、Js等)
  • logs  日志目录,存放日志文件
  • sbin/nginx  二进制文件,用于启动、停止Nginx服务

后缀_temp为临时文件


命令

以下均需要在sbin目录下

1.查看版本

./nginx -v

2.检查配置文件

./nginx -t

 显示OK和successful即可

3.启动与停止

./nginx                     #启动

ps -ef | grep nginx   #检查是否打开

./nginx -s stop         #停止

 

4.重新加载配置文件

./nginx -s reload        #修改配置文件后,重新加载

5.配置Nginx环境变量

修改 /etc/profile 文件

vim /etc/profile          #配置全局变量

第一种:变量PATH=后添加(:起分隔并列作用)

PATH=/usr/local/nginx/sbin:$PATH

第二种:变量export  PATH=后添加(:起分隔并列作用)

export PATH=/usr/local/nginx/sbin:$PATH

source /etc/profile

./nginx -s reload

此时nginx相关指令就无需在sbin中执行。

如果出现如下错误

nginx: [error] open() “/usr/local/nginx/logs/nginx.pid” failed (2: No such file or directory)

请进入/usr/local/nginx/conf,修改nginx.conf,

将前面的         #pid        logs/nginx.pid; 注释取消掉

vim  /usr/local/nginx/conf/nginx.conf


配置文件结构

Nginx配置文件(conf/nginx.conf)整体分为三部分:

  1. 全局块  和Nginx运行相关的全局配置
  2. events块  和网络连接相关的配置
  3. http块  代理、缓存、日志记录、虚拟主机配置
  • http全局块
  • Server块
  • Server全局块
  • location

server {
    listen 80;	#监听端口	
    server_name localhost;	服务器名称
    location / {	#匹配客户端请求url
        root html;	#指定静态资源根目录
        index index.html;	#指定默认首页
    }
}

http块中可以配置多个Server块,每个Server块中可以配置多个location块。


具体应用

1.部署静态资源

        Nginx可以作为静态web服务器来部署静态资源。静态资源指在服务端真实存在并且能够直接展示的一些文件,比如常见的html页面、css文件、js文件、图片、视频等资源。

        相对于TomcatNginx处理静态资源的能力更加高效,所以在生产环境下,一般都会将静态资源部署到Nginx中。

        将静态资源部署到Nginx非常简单,只需要将静态文件打包复制到Nginx安装目录下的html目录中即可。

2.服务器代理

(1)正向代理

        正向代理一般是在客户端设置代理服务器,通过代理服务器转发请求,最终访问到目标服务器。虽然有许多优点,但对目标服务器压力较大。

 

(2)反向代理

        反向代理服务器位于用户与目标服务器之间,但是对于用户而言,反向代理服务器就相当于目标服务器,即用户直接访问反向代理服务器就可以获得目标服务器的资源,反向代理服务器负责将请求转发给目标服务器。

 

反向代理配置

server {

         listen 82; server_name localhost;

        location / {

                proxy_pass http://192.168.140.128:8080;  #反向代理配置,请求转发

        }

}

3.负载均衡

        早期的网站流量和业务功能都比较简单,单台服务器就可以满足基本需求,但是随着互联网的发展,业务流量越来越大并且业务逻辑也越来越复杂,单台服务器的性能及单点故障问题就凸显出来了,因此需要多台服务器组成应用集群,进行性能的水平扩展以及避免单点故障出现。

  • 应用集群:将同一应用部署到多台机器上,组成应用集群,接收负载均衡器分发的请求,进行业务处理并返回响应数据
  • 负载均衡器:将用户请求根据对应的负载均衡算法分发到应用集群中的一台服务器进行处理

在nginx.conf中定义

upstream targetserver{          #upstream指令可以定义一组服务器

    server 192.168.138.101:8080 weight=10;

    server 192.168.138.101:8081 weight=5;

server {

    listen       80;

    server_name  localhost;

    location / {

        proxy_pass http://targetserver;

    }

}

负载均衡策略(这里就不多赘述):

        轮询:                  默认方式

        weight:              权重方式

        ip_hash:            依据ip分配方式

        least_conn:       依据最少连接方式

        url_hash:           依据url分配方式

        fair:                     依据响应时间方式

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值