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;
        }
相关推荐
傲世仙尊几秒前
从.o到ELF-静态库动态库与可执行文件的生命周期
linux
指尖的爷1 分钟前
【地狱级难度】ubuntu系统GOCV编译安装
linux·运维·ubuntu
xx~t2 分钟前
嵌入式——ARM——汇编2
linux·汇编·arm开发·嵌入式硬件·启动代码
智购科技自动贩卖机8 分钟前
自动售货机嵌入式系统时钟同步与时间管理实战:从RTC校准到断网时间保持的工程实践
大数据·linux·数据库·人工智能·yolo
BizzZ_14 分钟前
Linux(2)——权限
linux
j7~16 分钟前
【C++微服务项目开发脚手架】(环境篇)虚拟机 + Docker + MySQL/Redis/RabbitMQ/ES/etcd/FastDFS 全套配齐
linux·c++·ubuntu·docker·vmware·项目开发·微服务脚手架
Biomamba生信基地24 分钟前
安全访问:FutureTerminal之Jupyter配置及Linux终端、Python与R环境访问
linux·远程连接·生物信息学
M78佐菲25 分钟前
ARM学习笔记(三)
linux·arm开发·笔记·嵌入式硬件·学习
邪修king27 分钟前
Re:Linux 系统篇(三十一):库的制作与原理Chapter2:静态链接与程序加载 —— 从磁盘 ELF 到运行中进程的完整旅程
android·linux·运维·开发语言
新时代农民工~33 分钟前
【双机高可用部署方案-前后端部署】
java·nginx·springboot