Nginx配置文件

Nginx常用的命令

  • 启动

    	#配置环境变量
    nginx -c nginx配置文件地址
    #通过包管理器安装nginx,比如yum,apt-get
    service nginx start
    

    Nginx配置文件

  • 停止

    ps -ef | grep nginx
    #从容停止Nginx
    kill -QUIT 主进程号
    
    #快速停止Nginx
    kill -TERM 主进程号
    
    #强制停止Nginx
    pkill -9 nginx
    
  • 重启

    修改了nginx的配置文件,需要重启下nginx服务。

    nginx -s reload
    
  • 查看日志

    nginx -s reopen – 重新打开日志
    
  • 平滑重启

    如果更改了配置就要重启Nginx,要先关闭Nginx再打开?不是的,可以向Nginx发送信号,平滑重启!平滑重启命令:kill -HUP 主进程号或者进程号文件路径或者使用/usr/local/nginx/sbin/nginx -s reload

    注意:修改了配置文件后最好先检查一下修改过的配置文件是否正确,以免重启后Nginx出现错误影响服务器稳定运行。判断Nginx配置是否正确命令如下:

    #检查指定的nginx配置文件是否正确
    nginx -t -c /usr/local/nginx/conf/nginx.conf
    or
    nginx -t
    
    #检查默认的nginx配置文件
    /usr/nginx/sbin/nginx -t #-t就是检查是否配置正确
    

Nginx基本概念

master进程和worker进程概念

  • Master进程:主要用来管理worker进程,包含:接收来自外界的信号,向各worker进程发送信号,监控worker进程的运行状态,当worker进程退出后(异常情况下),会自动重新启动新的worker进程。
  • worker进程:基本的网络事件,则是放在worker进程中来处理了。多个worker进程之间是对等的,他们同等竞争来自客户端的请求,各进程互相之间是独立的。一个请求,只可能在一个worker进程中处理。worker进程的个数是可以设置的,一般我们会设置与机器cpu核数一致(更多的worker数,只会导致进程来竞争cpu资源了,从而带来不必要的上下文切换。与cpu核数一样,刚好利用好计算机的资源)

Nginx配置文件

Nginx文件目录结构及原理图

下图是nginx目录下的文件:

├── client_body_temp
├── conf                              #配置文件目录
│   ├── fastcgi.conf
│   ├── fastcgi.conf.default
│   ├── fastcgi_params
│   ├── fastcgi_params.default
│   ├── koi-utf
│   ├── koi-win
│   ├── mime.types
│   ├── mime.types.default
│   ├── nginx.conf                      #主配置文件
│   ├── nginx.conf.default
│   ├── scgi_params
│   ├── scgi_params.default
│   ├── uwsgi_params
│   ├── uwsgi_params.default
│   └── win-utf
├── fastcgi_temp
├── html                                #初始的静态页面存放目录
│   ├── 50x.html
│   └── index.html
├── logs                                #日志目录
│   ├── access.log
│   ├── error.log
│   └── nginx.pid
├── proxy_temp
├── sbin                                #启动目录
│   └── nginx
├── scgi_temp
└── uwsgi_temp

配置文件详解

Nginx配置文件结构

Nginx配置文件 - Java技术债务

配置文件实例讲解

# 运行用户
user  nobody;
#启动进程,通常设置成和cpu的数量相等
worker_processes  1;

#全局错误日志及PID文件及存放路径
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;

#工作模式及连接数上限
events {
   
   
    #单个后台work process进程的最大并发链接数
    worker_connections  1024;
}

#网页信息
http {
   
   
    #设定mine类型,类型由mine。type文件定义
    include       mime.types;
    default_type  application/octet-stream;

    #设定日志格式
    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #日志文件存储路径/usr/local/...(nginx的安装目录)
    #access_log  logs/access.log  main;
    #sendfile 指令指定 nginx 是否调用 sendfile 函数(zero copy 方式)来输出文件,
    #对于普通应用,必须设为 on,
    #如果用来进行下载等应用磁盘IO重负载应用,可设置为 off,
    #以平衡磁盘与网络I/O处理速度,降低系统的uptime.
    sendfile        on;
    #tcp_nopush     on;

    #连接超时时间
    #keepalive_timeout  0;
    keepalive_timeout  65;

    #开启gzip压缩 如果没有开启gzip,用户访问我们的时候就是以原图来访问。
    gzip  on;
    #小于1K的文件不适合压缩,下限是1k
    gzip_min_lenth 1k;
    #缓存的内存空间--4个16进制数据流
    gzip_buffers 4 16k;
    #http版本
    gzip_http_version 1.1
    #开启判断客户端和浏览器是否支持gzip
    gzip_vary on;
    #设定虚拟主机配置
    server {
   
   
        #监听80端口
        listen       80;
        #定义使用 访问的网址
        server_name  localhost;
        #设置字符编码
        #charset koi8-r;
        #设定本虚拟主机的访问日志
        #access_log  logs/host.access.log  main;
        #默认请求,优先级最低的配置
        location / {
   
   
            #定义服务器的默认网站根目录位置 这个root目录其实就是/usr/local目录
            root   html;
            # 匹配任何请求,因为所有请求都是以"/"开始
            # 但是更长字符匹配或者正则表达式匹配会优先匹配
            #定义首页索引文件的名称
            index  index.html index.htm;
        }

        #配置Nginx缓存
        location ~.*\\.(jpg|png|gif)$ {
   
   
          expires 30d; #缓存存放30天,然后自动清除
        }
        location ~.*\\.(css|js)? $ {
   
   
          expires 1h; #缓存存放1小时
        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #定义错误页面
        error_page   500 502 503 504  /50x.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Java技术债务

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值