zoukankan      html  css  js  c++  java
  • CentOS7 nginx安装并负载mysql

    #1.安装依赖项目:PCRE
    链接: https://pan.baidu.com/s/1JA-Tifch8ftM32znQO1csQ 提取码: svgw
    ./configure
    make && make install
    
    #2.安装依赖项目:libtool 
    链接: https://pan.baidu.com/s/18UohgCRggfhlwcAoVOlkvw 提取码: dnd6
    ./configure
    make && make install
    
    #3.安装nginx
    wget http://nginx.org/download/nginx-1.18.0.tar.gz
    tar -xvf nginx-1.18.0.tar.gz
    cd nginx-1.18.0
    ./configure --with-stream
    make && make install
    
    #4.直接启动
    /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
    /usr/local/nginx/sbin/nginx -s stop (quit)   #停止nginx
    /usr/local/nginx/sbin/nginx -s reload        #重启nginx
    
    #5.将nginx设置为服务并开机启动
    cat > /usr/lib/systemd/system/nginx.service <<EOF
    [Unit]
    Description=nginx - high performance web server
    Documentation=http://nginx.org/en/docs/
    After=network.target remote-fs.target nss-lookup.target
    
    [Service]
    Type=forking
    PIDFile=/usr/local/nginx/logs/nginx.pid
    ExecStartPre=/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
    ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
    ExecReload=/bin/kill -s HUP $MAINPID
    ExecStop=/bin/kill -s QUIT $MAINPID
    PrivateTmp=true
    
    [Install]
    WantedBy=multi-user.target
    EOF
    
    systemctl daemon-reload
    systemctl enable nginx
    systemctl start nginx
    
    定期清理日志
    
    cat > /usr/local/nginx/clean_nginx_logs.sh <<"EOF"
    
    #!/bin/bash
    
    base_path='/usr/local/nginx/logs'
    log_path=$(date -d yesterday +"%Y%m")
    day=$(date -d yesterday +"%Y%m%d")
    
    mkdir -p $base_path/$log_path
    mv $base_path/access.log $base_path/$log_path/access_$day.log
    mv $base_path/error.log $base_path/$log_path/error_$day.log
    
    
    kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`
    EOF
    
    chmod +x /usr/local/nginx/clean_nginx_logs.sh
    
    加入crontab 定期执行日志清理
    执行crontab -e,加入一行
    0 0 * * * /bin/bash /usr/local/nginx/clean_nginx_logs.sh
    
    
    默认配置文件
    
    worker_processes auto;
    worker_rlimit_nofile 100000;
    
    events {
        worker_connections 2048;
        multi_accept on;
        use epoll;
    }
    
    stream{
        upstream mysql {
           hash $remote_addr consistent;
           server 192.168.6.117:3306 weight=5 max_fails=3 fail_timeout=30s;
           server 192.168.6.118:3306 weight=5 max_fails=3 fail_timeout=30s;
        }
        
        server {
           listen 23306;
           proxy_connect_timeout 1s;
           proxy_timeout 3s;
           proxy_pass mysql;
        }
    }
    
    
    http {
    include mime.types;
        default_type application/octet-stream;
    
        log_format main '$time_iso8601, status: $status, request: $http_host $request, spent: $request_time, upstreamAaddr: $upstream_addr, clientIp: $remote_addr, agent: $http_user_agent';
        access_log /var/log/nginx/access.log main;
    
        sendfile on;
        proxy_ignore_client_abort on;
    
        #for upload
        client_max_body_size 60M;
        client_body_buffer_size 128k;
    
        client_header_buffer_size 128k;
        large_client_header_buffers 4 128k;
    
        keepalive_timeout 65;
        send_timeout 60;
        fastcgi_buffers 8 128k;
        proxy_connect_timeout 180;
        proxy_send_timeout 180;
        proxy_read_timeout 640;
        gzip on;
    
        server {
            listen       80;
            server_name  localhost;
            location / {
                root   html;
                index  index.html index.htm;
            }
        }
    
    
    
        # HTTPS server
        #
        #server {
        #    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;
        #    }
        #}
    
    }
  • 相关阅读:
    图数据库查询语言
    深入探索Spring Data JPA, 从Repository 到 Specifications 和 Querydsl
    axios 浏览器内存泄露问题解决
    给Swagger换一套皮肤 Knife4j集成记录
    根据经纬度和半径计算经纬度范围
    最火 Web 前端组态软件 (可视化)
    Python-----删除给定目录下的所有文件
    Python----发送邮件yagmail
    python------将"["1","2"]"类型是字符串,转换为["1","2"]类型为列表,即eval()用法
    python----自动生成requirements.txt与导入requirements.txt中的库
  • 原文地址:https://www.cnblogs.com/xiaochangwei/p/nginx-install.html
Copyright © 2011-2022 走看看