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;
        }
相关推荐
Xの哲學39 分钟前
Linux Tasklet 深度剖析: 从设计思想到底层实现
linux·网络·算法·架构·边缘计算
dog25044 分钟前
Linux 6.19 TCP 的两个极限拉扯
linux·运维·tcp/ip
新兴AI民工1 小时前
【Linux内核九】进程管理模块:list_head钩子构造双向列表和一些宏定义
linux·运维·list·linux内核
小周学学学1 小时前
ESXI故障处理-重启后数据存储丢失
linux·运维·服务器
哎哟喂呢哈1 小时前
ddns 免费 ipv6
linux
Flash.kkl1 小时前
Linux——线程的同步和互斥
linux·开发语言·c++
sunfove1 小时前
Python 面向对象编程:从过程式思维到对象模型
linux·开发语言·python
云和数据.ChenGuang2 小时前
达梦数据库安装服务故障四
linux·服务器·数据库·达梦数据库·达梦数据
PPPPPaPeR.2 小时前
使用vim实现进度条(初级)
linux·编辑器·vim
纵有疾風起2 小时前
【Linux 系统开发】基础开发工具详解:自动化构建、版本控制与调试器开发实战
linux·服务器·开发语言·c++·经验分享·开源·bash