Nginx全局配置

news2024/9/25 19:20:22

一、修改启动进程数 

worker_processes  1;   
#允许的启动工作进程数数量,和你真实的cpu数量有关   1

worker_processes auto;
#如果设置为auto  就是你真实的cpu数量

ps axo pid,cmd,psr,ni|grep nginx
#可以看到 nginx的  worker数量

 

 二、日制分割

[root@yuji ~]# vim /opt/rzfg.sh  

#!/bin/bash

 # Filename: rzfg.sh  

# nginx日志分割,按时间分割  ​

 #显示前一天的时间  

day=$(date -d "-1 day" "+%Y%m%d")  

#旧日志文件目录  

logs_path="/var/log/nginx"  

#nginx进程的PID  

pid_path="/usr/local/nginx/logs/nginx.pid"  ​  

#如果旧日志目录不存在,则创建日志文件目录  

[ -d $logs_path ] || mkdir -p $logs_path  

#将日志移动到旧日志目录,并重命名日志文件

 mv /usr/local/nginx/logs/access.log ${logs_path}/tt.com-access.log-$day  

#重建新日志文件

 kill -USR1 $(cat $pid_path)  

#删除30天之前的日志文件  

find $logs_path -mtime +30 -exec rm -rf {} ;  

 2. #赋予执行权限,执行脚本。查看日志文件目录。  

[root@yuji ~]# chmod +x /usr/local/nginx/nginx_log.sh  

[root@yuji ~]# /opt/fenge.sh  

[root@yuji ~]# ls /var/log/nginx/  

tt.com-access.log-20220516          

//旧日志文件已被移动到设置好的目录  

[root@yuji ~]# ls /usr/local/nginx/logs/     //已重建新日志文件  

access.log error.log nginx.pid  ​  3. #编写计划任务,每天定点执行  

[root@localhost nginx]#crontab -e

 0 1 * * * /opt/rzfg.sh

三、nginx进程的优先级(work进程的优先级)

nice的优先级是  -20 到 19

worker_priority 0; 
#工作进程优先级,-20~20(19)

 

四、http设置 

4.1http 协议配置说明

http {
   include       mime.types; #导入支持的文件类型,是相对于/apps/nginx/conf的目录
   default_type application/octet-stream; #除mime.types中文件类型外,设置其它文件默认类型,访问其它类型时会提示下载不匹配的类型文件
#日志配置部分
    #log_format main '$remote_addr - $remote_user [$time_local] "$request" '
    #                 '$status $body_bytes_sent "$http_referer" '
    #                 '"$http_user_agent" "$http_x_forwarded_for"';
    #access_log logs/access.log main;
#自定义优化参数
   sendfile       on; 
    #tcp_nopush     on; #在开启了sendfile的情况下,合并请求后统一发送给客户端。
    #tcp_nodelay   off; #在开启了keepalived模式下的连接是否启用TCP_NODELAY选项,当为off时,延迟0.2s发送,默认On时,不延迟发送,立即发送用户响应报文。
    #keepalive_timeout 0;
   keepalive_timeout  65 65; #设置会话保持时间,第二个值为响应首部:keepAlived:timeout=65,可以和第一个值不同
    #gzip on; #开启文件压缩
   server {
       listen       80; #设置监听地址和端口
       server_name localhost; #设置server name,可以以空格隔开写多个并支持正则表达式,如:*.kgc.com www.kgc.* ~^www\d+\.kgc\.com$ default_server 
        #charset koi8-r; #设置编码格式,默认是俄语格式,建议改为utf-8
        #access_log logs/host.access.log main;
       location / {
           root   html;
           index index.html index.htm;
       }
        #error_page 404             /404.html;
        # redirect server error pages to the static page /50x.html
        #
       error_page   500 502 503 504 /50x.html; #定义错误页面
       location = /50x.html {
           root   html;
       }
        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ { #以http的方式转发php请求到指定web服务器
        #   proxy_pass   http://127.0.0.1;
        #}
        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        #location ~ \.php$ { #以fastcgi的方式转发php请求到php处理
        #   root           html;
        #   fastcgi_pass   127.0.0.1:9000;
        #   fastcgi_index index.php;
        #   fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
        #   include       fastcgi_params;
        #}
        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /\.ht { #拒绝web形式访问指定文件,如很多的网站都是通过.htaccess文件
来改变自己的重定向等功能。
        #   deny all;
        #}
       location ~ /passwd.html {
           deny all;
       }
   }
    # another virtual host using mix of IP-, name-, and port-based configuration
    #
    #server { #自定义虚拟server
3.3.1 MIME
范例: 识别php文件为text/html
    #   listen       8000;
    #   listen       somename:8080;
    #   server_name somename alias another.alias;
    #   location / { 
    #       root   html;
    #       index index.html index.htm; #指定默认网页文件,此指令由
ngx_http_index_module模块提供
    #   }
    #}
    # HTTPS server
    #
    #server { #https服务器配置
    #   listen       443 ssl;
    #   server_name localhost;
    #   ssl_certificate     cert.pem;
    #   ssl_certificate_key cert.key;
    #   ssl_session_cache   shared:SSL:1m;
    #   ssl_session_timeout 5m;
    #   ssl_ciphers HIGH:!aNULL:!MD5;
    #   ssl_prefer_server_ciphers on;
    #   location / {
    #       root   html;
    #       index index.html index.htm;
    #   }
    #}

4.2mime

此项为支持的 文件格式,如果不支持的格式 会自动帮你下载,如果支持 就会显示在网页上

[root@localhost ~]#vim  /etc/nginx/mime.types
types {
    text/html                                        html htm shtml;
    .....................................................................
    image/png                                        png;
    image/svg+xml                                    svg svgz;
    image/tiff                                       tif tiff;
    image/vnd.wap.wbmp                               wbmp;
    image/webp                                       webp;
    image/x-icon                                     ico;
    image/x-jng                                      jng;
    image/x-ms-bmp                                   bmp;
 

4.3 server块构建虚拟主机

 

 

 

 

去第二台机器修改/etc/hosts 文件

 

4.4 location

在一个server中location配置段可存在多个,用于实现从uri到文件系统的路径映射;ngnix会根据用户请求的URI来检查定义的所有location,按一定的优化级找出一个最佳匹配,而后应用其配置在没有使用正则表达式的时候,nginx会先在server中的多个location选取匹配度最高的一个uri,uri是用户请求的字符串,即域名后面的web文件路径,然后使用该location模块中的正则url和字符串,如果匹配成功就结束搜索,并使用此location处理此请求。

#语法规则:
location [ = | ~ | ~* | ^~ ] uri { ... }

=                  #用于标准uri前,需要请求字串与uri精确匹配,大小敏感,如果匹配成功就停止向下匹配并立即处理请求
^~                #用于标准uri前,表示包含正则表达式,并且匹配以指定的正则表达式开头,对URI的最左边部分做匹配检查,不区分字符大小写
~                  #用于标准uri前,表示包含正则表达式,并且区分大小写
~*                #用于标准uri前,表示包含正则表达式,并且不区分大写
不带符号              #匹配起始于此uri的所有的uri
 \                 #用于标准uri前,表示包含正则表达式并且转义字符。可以将 . * ?等转义为普通符号

#匹配优先级从高到低:
=, ^~, ~/~*, 不带符号

不区分大小写-案例

#正则表达式匹配:
 location ~* /A.?\.jpg {
  #匹配 已A后面一个或没有字符,已.jpg结尾的图片
   root /opt/nginx/html/image;
 }
 
 
只要是图片就去 images中找
server{
location ~* \.(gif|jpg|jpeg|bmp|png|tiff|tif|ico|wmf|js|css)$ {
        root /data/nginx/images/;
 }
}

#####匹配优先级#########
此处的优先级有小问题
server{
        listen 80;
        server_name  www.pc.com;
     location = / {
        root   /data/nginx/pc;
        }
        location / {
        root   /mnt/nginx/news;
        }


}
 

生产案例

#直接匹配网站根会加速Nginx访问处理
location = /index.html {
   ......;
}
location / {
   ......;
}
#静态资源配置方法1
location ^~ /static/ {
   ......;
}
#静态资源配置方法2,应用较多
location ~* \.(gif|jpg|jpeg|png|css|js|ico)$ {
   ......;
}
#多应用配置
location ~* /app1 {
     ......;
}
location ~* /app2 {
     ......;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/934922.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C语言小练习(五)

🌞 忘掉那些“不可能”的借口吧,去坚持一个“可能”的理由,请给时间一点时间,让开始开始,只要肯努力,总会成功的! Day05 📝 选择题 📝 选择题 🎈1、如下程序…

IA-YOLO项目中DIP模块的初级解读

IA-YOLO项目源自论文Image-Adaptive YOLO for Object Detection in Adverse Weather Conditions,其提出端到端方式联合学习CNN-PP和YOLOv3,这确保了CNN-PP可以学习适当的DIP,以弱监督的方式增强图像检测。IA-YOLO方法可以自适应地处理正常和不…

构建数据可视化(基于Echarts,python)

构建数据可视化(基于Echarts,python) 本文目录: 一、写在前面的题外话 二、数据可视化概念 三、用Python matplotlib库绘制数据可视化图 四、基于Echarts构建大数据可视化 4.1、安装echarts.js 4.2、数据可视化折线图制作 4.2.1、基础折线图 4.2…

安全开发-JS应用NodeJS指南原型链污染Express框架功能实现审计WebPack打包器第三方库JQuery安装使用安全检测

文章内容 环境搭建-NodeJS-解析安装&库安装安全问题-NodeJS-注入&RCE&原型链案例分析-NodeJS-CTF题目&源码审计打包器-WebPack-使用&安全第三方库-JQuery-使用&安全 环境搭建-NodeJS-解析安装&库安装 Node.js是运行在服务端的JavaScript 文档参考…

3张图打造个人写真照,你也可以AIGC

前阵子,妙鸭相机的出现,9.9的价格,让大家过了一把写真照的瘾。 最近自己也开始关注一些大数据模型相关的内容,有时会想想,有没哪些比较好的模型,能够运用在手机移动端。然后我们实际生活中又会有哪些应用需…

【C++】map的奇葩用法:和函数结合

2023年8月26日&#xff0c;周六下午 今天才发现map居然还能这样用... #include <iostream> #include <map> #include <functional>void printOne() {std::cout << "已经打印出1" << std::endl; }void printTwo() {std::cout <<…

Vue2向Vue3过度核心技术指令补充

目录 1 指令修饰符1.1 什么是指令修饰符&#xff1f;1.2 按键修饰符1.3 v-model修饰符1.4 事件修饰符 2 v-bind对样式控制的增强-操作class2.1 语法&#xff1a;2.2 对象语法2.3 数组语法2.4 代码练习 3 京东秒杀-tab栏切换导航高亮3.1 需求&#xff1a;3.2 准备代码:3.3 思路&…

算法通关村第十一关——搞清位运算

源码、反码和补码 很多人都记不清源码、反码和补码的区分&#xff0c;都是二进制&#xff0c;其实记忆起来很简单&#xff0c;分为正数和负数来记。正数的原码、反码和补码都是一样的&#xff0c;负数的原码符号位为1&#xff0c;反码是在原码的基础上进行改变&#xff1a;保持…

Redis全局命令与数据结构

"那篝火在银河尽头~" Redis-cli命令启动 现如今&#xff0c;我们已经启动了Redis服务&#xff0c;下⾯将介绍如何使⽤redis-cli连接、操作Redis服务。客户端与服务端交互的方式有两种: ● 第⼀种是交互式⽅式: 后续所有的操作都是通过交互式的⽅式实现&#xff0c;…

分享一个vue-slott

需求再现 <el-table-column align"center" label"状态" prop"mitStatus" show-overflow-tooltip />在这里&#xff0c;我想对于状态进行一个三目判断&#xff0c;如果为0那就是进行中&#xff0c;否则就是已完成&#xff0c;期初我是这样写…

抖店适合全职还是兼职?兼职去做收入怎么样?找副业的建议看完

我是王路飞。 普通人如今做抖音&#xff0c;相比较拍短视频、直播带货&#xff0c;在抖音开店正在成为多数人的第一选择。 就是因为抖店的门槛比较低&#xff0c;也没有粉丝数的要求&#xff0c;所以比较适合普通人去做。 可能在大多数新手的认知里&#xff0c;抖店只适合那…

HoudiniVex笔记_P26_RecursionBasics递归基础

原视频&#xff1a;https://www.youtube.com/playlist?listPLzRzqTjuGIDhiXsP0hN3qBxAZ6lkVfGDI Bili&#xff1a;Houdini最强VEX算法教程 - VEX for Algorithmic Design_哔哩哔哩_bilibili Houdini版本&#xff1a;19.5 1、概述 递归是一种直接或者间接地调用自身的算法&a…

HTML总结2 [转]

以下转载和参考自&#xff1a;HTML 表单。 1、表格 可以通过 CSS 设置表格的样式&#xff1a; 如下为将上面table.lamp th,td样式中的padding注释掉&#xff0c;开启table.lamp中的padding的效果&#xff1a; 2、列表 3、表单 表单用于收集用户的输入&#xff0c;如下图所…

【⑬MySQL | 数据类型(一)】简介 | 整数 | 浮点 | 定点 | 时间/日期类型

前言 ✨欢迎来到小K的MySQL专栏&#xff0c;本节将为大家带来MySQL数据类型简介 | 整数 | 浮点 | 定点 | 时间/日期类型的分享✨ 目录 前言0.数据类型简介1 整数类型2 浮点类型3 定点类型4 日期/时间类型总结 0.数据类型简介 数据类型&#xff08;data_type&#xff09;是指系…

《C和指针》笔记11: external和internal链接属性

当组成一个程序的各个源文件分别被编译之后&#xff0c;所有的目标文件以及那些从一个或多个函数库中引用的函数链接在一起&#xff0c;形成可执行程序。然而&#xff0c;如果相同的标识符出现在几个不同的源文件中时&#xff0c;它们是像Pascal那样表示同一个实体&#xff1f;…

专业设计必备:Zeplin for Mac免费下载,打造独具特色的作品

Zeplin是一款高效制图软件&#xff0c;可以帮助用户更好的设计及制作图片&#xff0c;为用户提供了标注、Style Guide、备注文档与简单的团队协作功能&#xff0c;还可以自动生成尺码标注、CSS 样式代码、导出图片等。 功能介绍 量身定制的资源&#xff0c;在一个位置 Zepli…

Rabbitmq的Shovel

Federation 具备的数据转发功能类似&#xff0c; Shovel 够可靠、持续地从一个 Broker 中的队列 ( 作为源端&#xff0c;即source)拉取数据并转发至另一个 Broker 中的交换器 ( 作为目的端&#xff0c;即 destination) 。作为源端的队列和作为目的端的交换器可以同时位于…

Python通过matplotlib动态绘图实现中美GDP历年对比趋势动图

随着中国的各种实力的提高&#xff0c;经常在各种媒体上看到中国与各个国家历年的各种指标数据的对比&#xff0c;为了更清楚的展示历年的发展趋势&#xff0c;有的还做成了动图&#xff0c;看到中国各种指标数据的近年的不断逆袭&#xff0c;心中的自豪感油然而生。今天通过Py…

2023.8.27 碎碎念

碎碎念系列更新 离上次更新快一个月了 随便写写 一、关于工作 公司项目应用端开发&#xff08;了解了shell&#xff0c;awk等&#xff09;公司自研APP维护 后续计划写一篇shell相关的博客 二、关于学习 最近把算法也捡起来了&#xff0c;虽然还是很菜&#xff0c;今天周赛…

回归预测 | MATLAB实现GWO-ELM灰狼算法优化极限学习机多输入单输出回归预测(多指标,多图)

回归预测 | MATLAB实现GWO-ELM灰狼算法优化极限学习机多输入单输出回归预测&#xff08;多指标&#xff0c;多图&#xff09; 目录 回归预测 | MATLAB实现GWO-ELM灰狼算法优化极限学习机多输入单输出回归预测&#xff08;多指标&#xff0c;多图&#xff09;效果一览基本介绍程…