Centos8 环境下安装nginx 1.22,了解Nginx

目录

前言

一. 下载安装

二. 了解目录结构

三. 一些简单命令

四. Nginx配置文件(conf/nginx.conf)结构

五. Nginx具体应用

1. 部署静态资源

2. 反向代理

- 正向代理

- 反向代理

- 配置反向代理

3. 负载均衡

负载均衡策略


前言

Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,

Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。

一. 下载安装

1. 下载nginx安装包,网址:nginx: download

linux下安装:

wegt https://nginx.org/download/nginx-1.22.0.tar.gz

2.  下载nginx依赖包:

yum -y install gcc pcre-devel zlib-devel openssl openssl-devel

3. 解压 

cd /usr/local
tar -zxvf nginx-1.22.0.tar.gz

4. 指定安装路径

cd nginx-1.22.0/
./configure --prefix=/usr/local/nginx

5. 编译安装

make && make install

二. 了解目录结构

先跳转到安装目录

# 可以用whereis nginx查找安装路径
cd /usr/local/nginx
ll  # 查看
# 以下是结果
total 4
drwxr-xr-x. 2 root root 4096 Jul 16 05:28 conf
drwxr-xr-x. 2 root root   40 Jul 16 05:28 html
drwxr-xr-x. 2 root root    6 Jul 16 05:28 logs
drwxr-xr-x. 2 root root   19 Jul 16 05:28 sbin

        · conf/nginx.conf          nginx配置文件

        · html                            存放静态文件(html,css,js

        ` logs                                日志目录,存放日志文件

        · sbin/nginx                        二进制文件,用于启动,停止Nginx服务

三. 一些简单命令

对nginx.conf文件进行语法检查

cd /usr/local/nginx/sbin
# 对配置文件进行语法检查
./nginx -t
# 执行结果
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

查看nginx版本

./nginx -v
# nginx version: nginx/1.22.0

开启nginx服务,查看进程是否执行

./nginx
ps -ef | grep nginx

# 结果 ,默认两个进程,master和worker
root        9595       1  0 06:05 ?        00:00:00 nginx: master process ./nginx
nobody      9596    9595  0 06:05 ?        00:00:00 nginx: worker process

关闭防火墙,登录nginx页面

systemctl stop firewalld
# 在浏览器上输入虚拟机IP即可查看nginx登录页面,默认展示index.html

停止nginx服务

./nginx -s stop

修改配置文件后,需重新加载nginx服务

./nginx -s reload

配置系统环境变量,使得nginx命令能够在其它目录下执行

vim /etc/profile

# 在Path变量上追加sbin目录路径,用:分隔其它变量
PATH=/usr/local/nginx/sbin:$JAVA_HOME/bin:$PATH

# 保存退出后执行,使得修改生效
source /etc/profile

四. Nginx配置文件(conf/nginx.conf)结构

1. 全局块 —— 和Nginx运行相关的全局配置

# 从文件开始到events模块都是全局块
#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;

2. events块 —— 和网络连接相关的配置

events {
    worker_connections  1024;
}

3. http块 —— 代理,缓存,日志记录,虚拟主机配置

        - http全局块

        - Server块

                - Server全局块

                - location块

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;

   server {
        listen       80; # 监听端口
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   html;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

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

五. Nginx具体应用

1. 部署静态资源

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

相对于Tomcat,Nginx处理静态资源的能力更加高效,所以在生产环境下,一般都会将静态资源部署到Nginx中,将静态资源部署到Nginx非常简单,只需要将文件复制到Nginx安装目录下的html目录中即可。

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

部署简单页面到nginx中,使用xftp上传页面

#在浏览器上输入IP加端口可以直接访问,端口为80时可以省略
192.168.88.128/1.jpg

2. 反向代理

- 正向代理

是一个位于客户端和原始服务器之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。

正向代理的典型用途是为在防火墙内的局域网客户端提供访问Internet的途径。

正向代理一般是在客户端设置代理服务器,通过代理服务器转发请求,最终访问到目标服务器。

Centos8 环境下安装nginx 1.22,了解Nginx_第1张图片

 

- 反向代理

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

反向代理服务器提供一个唯一的入口,可以访问多个web服务器。而且很多web服务器在内网中,局域网外无法访问。

用户不需要知道目标服务器的地址,也无须在用户端作任何设定。

Centos8 环境下安装nginx 1.22,了解Nginx_第2张图片

- 配置反向代理

 

server{
    listen 82;
    server_name localhost; # 192.168.138.100
    location / {
        proxy_pass http://192.168.138.101:8080;# 反向代理配置,将请求转发到指定服务
    }
]

Centos8 环境下安装nginx 1.22,了解Nginx_第3张图片 

3. 负载均衡

单台服务器的性能及单点故障问题在大流量和复杂的业务逻辑下十分明显,因此需要多台服务器组成应用集群,进行性能的水平扩展以及避免单点故障出现。

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

- 负载均衡器:将用户请求根据对应的负载均衡算法分发到应用集群中的一台服务器进行处理。

upstream targetserver{      # upstream指令可以定义一组服务器
    server 192.168.138.101:8080 [添加负载均衡策略:如weight=10,默认轮询策略];
    server 192.168.138.101:8081;
}
server{
    listen 8080;
    server_name localhost;
    location / {
        proxy_pass http://targetserver;
    }
}

Centos8 环境下安装nginx 1.22,了解Nginx_第4张图片

负载均衡策略

Centos8 环境下安装nginx 1.22,了解Nginx_第5张图片

你可能感兴趣的:(linux,nginx)