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;
        }
相关推荐
米优4 分钟前
linux下获取崩溃程序的core文件
linux·运维·服务器
qeen8710 分钟前
【Linux】动静态库的制作使用及ELF文件的宏观理解
linux·运维·库
YYRAN_ZZU1 小时前
FlameGraph 火焰图介绍和使用
linux·嵌入式硬件
正在走向自律1 小时前
Linux 服务器部署 DeepSeek 大模型完全指南(2026 版)
linux·运维·服务器·deepseek·部署deepseek·安装ollama·配置api服务
夜雪一千2 小时前
Linux 管道、重定向命令介绍
linux·运维·chrome
江华森2 小时前
数据中心网络技术基础 —— 从原理到实操
linux·运维
骑着蜗牛撵大象3272 小时前
手写一个 HTTP 服务器:从 socket 到 epoll,Linux 上到底怎么把请求变成响应
linux·服务器·网络·http·epoll·socket编程·并发模型
程序员初一2 小时前
我在 1C1G 的服务器上装了个桌面环境,然后用 VNC 连它,然后我后悔了
linux·ssh
星恒随风3 小时前
Linux Socket TCP编程(二):逐文件重构多进程、多线程与线程池服务器,深入fork、pthread_create、popen和std::bind
linux·服务器·笔记·学习·tcp/ip
晚风叙码3 小时前
Linux 进程概念(下):程序地址空间与虚拟内存
linux·服务器·算法