CentOS 8.2 安装 nginx-1.18.0

1、下载

bash 复制代码
wget http://nginx.org/download/nginx-1.18.0.tar.gz

2、安装依赖包

bash 复制代码
yum install gcc -y 
yum install pcre pcre-devel -y
yum install zlib zlib-devel -y
yum install openssl openssl-devel -y

3、编译&安装

bash 复制代码
./configure --prefix=/opt/nginx
make && make install

4、配置文件

nginx.conf

bash 复制代码
worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server {
        listen       8080;
        server_name  localhost;
        location / {
            root   html;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

5、启停

bash 复制代码
sbin/nginx			# 启动
sbin/nginx -s stop	# 停止
sbin/nginx -V		# 查看版本
bash 复制代码
# 验证
curl -i http://XXXXXX:8080

6、nginx.conf详解

6.1 Log_format

参数 描述
$remote_addr 客户端地址
$remote_user 客户端用户名称
$time_local 访问时间和时区
$request 请求的URI和HTTP协议
$status HTTP请求状态
$body_bytes_sent 发送给客户端文件内容大小
$http_referer url跳转来源
$http_user_agent 用户终端浏览器等信息
$http_x_forwarded_for
$upstream_status upstream状态
$upstream_addr 后台upstream的地址
$request_time 整个请求的总时间
$upstream_response_time 请求过程中,upstream响应时间
bash 复制代码
    log_format  main  '$remote_addr|$remote_user|[$time_local]|"$request"'
                      '|$status|$request_time|$body_bytes_sent|"$http_referer"'
                      '|"$http_user_agent"|"$http_x_forwarded_for"';

6.2 Location

参数 说明
= 表示精确匹配
^~ 表示匹配URL路径,以xx开头
~ 正则匹配,区分大小写,以xx结尾
~* 正则匹配,不区分大小写,以xx结尾
!~和!~* 正则不匹配,区分大小写和不区分大小写,以xx结尾
/ 通用匹配,任何请求都会匹配到。

【匹配顺序】:

  1. 首先精确匹配 =

  2. 其次以xx开头匹配^~

  3. 然后是按文件中顺序的正则匹配

  4. 最后是交给 / 通用匹配。

【1】alias是一个目录别名的定义,root则是最上层目录的定义。

bash 复制代码
        location /check/ {
        	# 访问/check/目录下文件,nginx去html目录下找文件
            alias   html;
            index  index.html;
        }
bash 复制代码
        location /check/ {
        	# 访问/check/目录下文件,nginx去html/check/目录下找文件
            root   html;
            index  index.html;
        }

【2】代理

bash 复制代码
        location / {
            proxy_set_header Host $host;
            proxy_set_header   X-Real-IP        $remote_addr;
            proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
            proxy_pass http://10.207.28.134:5061;
            root   html;
            index  index.html index.htm;
        }
相关推荐
春风霓裳14 分钟前
ubuntu磁盘管理、磁盘扩容
linux·运维·ubuntu
直有两条腿42 分钟前
【操作系统】非连续内存分配
linux
---学无止境---1 小时前
Linux交换缓存深度解析:从条目编码到缓存管理的完整机制
linux
---学无止境---2 小时前
Linux内存回收与TLB管理:高效释放与缓存刷新的精密协作
linux
亮子AI2 小时前
【Nginx】怎样清除 Nginx 的缓存?
运维·nginx·缓存
硬核子牙2 小时前
硬盘第一关:MBR VS GPT
linux
LCG元2 小时前
Linux 日志分析全攻略:快速从海量日志中定位问题
linux
_Power_Y2 小时前
Linux&git入门&设计模式(常考点)
linux·git·设计模式
海蓝可知天湛2 小时前
Ubuntu24.10禁用该源...+vmware无法复制黏贴“天坑闭环”——从 DNS 诡异解析到 Ubuntu EOL 引发的 apt 404排除折腾记
linux·服务器·安全·ubuntu·aigc·bug
vvw&2 小时前
如何在 Ubuntu 24.04 上安装和使用 AdGuard
linux·运维·服务器·ubuntu·adguard