zoukankan      html  css  js  c++  java
  • Nginx安装配置

    Nginx

    安装nginx环境是在linux下面(centos7.6)

    cat /etc/redhat-release

    安装依赖

    yum -y install make zlib zlib-devel gcc-c++ libtool  openssl openssl-devel pcre pcre-devel

    安装nginx

    wget http://nginx.org/download/nginx-1.16.1.tar.gz
    tar zxf nginx-1.16.1.tar.gz
    cd nginx-1.16.1
    ./configure --prefix=/usr/local/nginx --with-http_stub_status_module
    make && make install

    启动ngin

    # 启动 nginx 服务  
    /usr/local/nginx/sbin/nginx
    注:启动时一定要确保80端口没有被占用
    netstat -tunpl

    /usr/local/nginx/sbin/nginx -s reload           # 重新载入配置文件
    /usr/local/nginx/sbin/nginx -s stop             # 停止 Nginx

    # 设置开机启动
    vi /etc/rc.local
    # 添加如下命令
    /usr/local/nginx/sbin/nginx

    安装php-fpm和启动

    # 搜索
    yum search fpm|grep ^php
    # 安装
    yum install -y php71w-fpm.x86_64
    # 启动
    /usr/sbin/php-fpm
    默认端口号为 9000

    配置nginx支持php

    # http节点
    # 指定连接到后端Fastcgi的超时时间(单位:秒)
    fastcgi_connect_timeout 300;
    # 向Fastcgi传送请求的超时时间,这个值是指已经完成两次握手后向Fastcgi传送请求的超时时间(单位:秒)
    fastcgi_send_timeout 300;
    # 指定接收Fastcgi应答的超时时间,这个值是指已经完成两次握手后接收Fastcgi应答超时时间(单位:秒)
    fastcgi_read_timeout 300;

    # server节点
    location ~ .php$ {
      fastcgi_pass   127.0.0.1:9000;
      # 非必须 默认索引页
      #fastcgi_index index.php;
      fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
      include         fastcgi_params;
    }

    开启gzip

    ## http 节点中设置

    # 开启gzip
    gzip           on;
    # 设置将被gzip压缩的响应的最小长度
    gzip_min_length 200;
    # 压缩级别 1-9
    gzip_comp_level 6;
    # 压缩在缓冲区块数和每块大小
    gzip_buffers 32 4k;   # | 16 8k;
    # 设置压缩响应所需的最低HTTP请求版本
    gzip_http_version 1.0;
    gzip_types       text/plain text/css text/xml application/xml application/json application/javascript;

    检查是否出错

    /usr/local/nginx/sbin/nginx

    浏览器缓存

    ## 设置在 server 中的 location 节点
    # expires 1s 秒
    # expires 2m 分
    # expires 3h 时
    # expires 6d 天
    # ~* 不区分大小写
    location ~* .(jpg|jpeg|gif|bmp|png|ico|svg|mp4|mp3){
      expires 7d; # 缓存1天
    }
    location ~* .(css|js){
      expires 1d; # 缓存1天
    }

     

    日志管理

     vi /usr/local/nginx/conf/nginx.conf

    通过配置虚拟主机可以指定日志目录和文件名称

    access_log  logs/access.log  main; # 日志
    http中
    log_format main '$remote_addr - $remote_user [$time_local] "$request" '
                        '$status $body_bytes_sent "$http_referer" '
                        '"$http_user_agent" "$http_x_forwarded_for" "$request_time"';
    server中
    access_log logs/success.log main;

    日志分割

    nginx运行时会产生大量的日志,为了方便查询日志,所以有是时候需要将日志文件进行分割。

    新建shell脚本

    mkdir /sh

    新建shell文件

    vi nginx log.sh
    #!/bin/bash
    #日志家目录
    log_home="/usr/local/nginx/logs"
    #备份日志目录
    log_path=${log_home}/$(date +"%Y")/$(date +"%m")
    #创建目录
    mkdir -p $log_path
    #重命名
    mv $log_home/access.log $log_path/access_$(date -d yesterday +"%Y%m%d").log
    #重载生成新的目志
    /usr/local/ngin/sbin/nginx -s reload

    给shell脚本添加可执行权限

    chmod +x nginx_log.sh

    把此脚本添加到计划任务

     crontab -e
    写入
    0 0 * * * /sh/nginx_log.sh

     

  • 相关阅读:
    IE无法打开internet网站已终止操作的解决的方法
    欢乐暑假-高校俱乐部暑期线上编程竞赛奖励机制
    pojAGTC(LCS,DP)
    ExtJs自学教程(1):一切从API開始
    Java实现BASE64编解码
    IOS框架概览
    DeviceIoControl的使用说明
    strcpy_s与strcpy的比較
    第三章 引擎的核心:渲染框架
    具体解释VB中连接access数据库的几种方法
  • 原文地址:https://www.cnblogs.com/wjw9/p/11540011.html
Copyright © 2011-2022 走看看