zoukankan      html  css  js  c++  java
  • 安装nginx

    1.下载nginx安装包和依赖包


    wget http://nginx.org/download/nginx-1.15.9.tar.gz
    wget http://ftp.pcre.org/pub/pcre/pcre-8.43.tar.gz
    wget http://www.zlib.net/fossils/zlib-1.2.11.tar.gz

    2.解压依赖包


    tar -xzvf pcre-8.43.tar.gz -C /usr/local/myapps
    tar -xzvf zlib-1.2.11.tar.gz -C /usr/local/myapps

    3.解压nginx安装包


    tar -xzvf nginx-1.15.9.tar.gz

    4.安装编译依赖环境


    yum -y install gcc-c++

    5.安装nginx


    cd nginx-1.15.9/
    ./configure --prefix=/usr/local/myapps/nginx --sbin-path=/usr/sbin/nginx --pid-path=/usr/local/myapps/nginx/logs/nginx.pid --error-log-path=/usr/local/myapps/nginx/logs/error.log --http-log-path=/usr/local/myapps/nginx/logs/access.log --with-pcre=/usr/local/myapps/pcre-8.43 --with-zlib=/usr/local/myapps/zlib-1.2.11 --with-http_stub_status_module --with-stream
    make && make install
    参数说明:
    --with-http_stub_status_module  加载性能统计模块
    --with-stream 加载四层负载均衡支持模块

    6.验证


    nginx -V

    7.创建nginx运行用户


    groupadd www
    useradd -M -g www -s /sbin/nologin www

    8.编写初始配置文件


    mv /usr/local/myapps/nginx/conf/nginx.conf /usr/local/myapps/nginx/conf/nginx.conf_bak
    mkdir /usr/local/myapps/nginx/conf/vhosts/
    cat << EOF >/usr/local/myapps/nginx/conf/nginx.conf
    user www www;
    worker_processes  1;
    events {
         worker_connections  1024;
    }
    http {
         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';
         sendfile        on;
         keepalive_timeout  65;
         include /usr/local/myapps/nginx/conf/vhosts/http*.conf;
    }
    stream {
    include /usr/local/myapps/nginx/conf/vhosts/tcp*.conf;
    }
    EOF
    9.检查配置文件的正确性
    nginx -t

    10.启动nginx


    nginx -c /usr/local/myapps/nginx/conf/nginx.conf

    11.停止nginx


    ps -ef | grep nginx | grep -v grep | awk '{print $2}' |xargs kill -9

    12.重载配置文件


    nginx -s reload

    nginx调优配置

    重启nginx生效
    ps -ef | grep nginx | grep -v grep | awk '{print $2}' |xargs kill -9
    nginx -c /usr/local/myapps/nginx/conf/nginx.conf

    1.查看正在运行的nginx进程的ulimit资源限制


    nginxpid=`ps -ef | grep nginx | awk '{if($3 == 1) print $2}'`
    cat /proc/${nginxpid}/limits

    2.配置任意用户最大可打开的文件句柄数


    cat << EOF >> /etc/security/limits.conf
    * soft nofile 204800
    * hard nofile 204800
    EOF

    3.配置任意用户最大可运行的线程数


    sed -i 's/^*/#&/' /etc/security/limits.d/20-nproc.conf
    cat << EOF >> /etc/security/limits.d/20-nproc.conf
    * soft nproc 204800
    * hard nproc 204800
    EOF

    4.nginx打开的进程数(与CPU核数一致)


    worker_processes 8;

    5.配置nginx打开的最多文件描述符数目(与ulimit -n的值保持一致)


    worker_rlimit_nofile 204800;

    6.使用epoll的I/O模型


    use epoll;

    7.配置每个进程允许的最多连接数


    worker_connections 204800;

    8.配置每个TCP连接请求处理完后保持不断开的最长时间


    #有些浏览器最多只保持60秒,所以可以设定为60秒
    keepalive_timeout 60s;

    9.根据系统分页大小来设置每个客户端请求头部占用的缓冲区大小


    #系统分页大小可以用命令getconf PAGESIZE取得
    client_header_buffer_size 4k;

    10.为打开的文件启用缓存


    #缓存数量配置与(ulimit -n)一致,设置经过20s缓存文件没被再次请求就删除。
    open_file_cache max=204800 inactive=20s;
    open_file_cache_min_uses 1;

    11.配置30s启动一次对缓存文件的有效性检查


    open_file_cache_valid 30s;

    一个简单的nginx优化配置文件内容


    user www www;
    worker_processes 8;
    error_log logs/error.log crit;
    pid  /usr/local/myapps/nginx/nginx.pid;
    worker_rlimit_nofile 204800;

    events
    {
         use epoll;
         worker_connections 204800;
    }
    http
    {
         include       mime.types;
         default_type  application/octet-stream;
         charset  utf-8;
         client_header_buffer_size 4k;
         sendfile on;
         keepalive_timeout 60s;
         open_file_cache max=204800 inactive=20s;
         open_file_cache_min_uses 1;
         open_file_cache_valid 30s;
         fastcgi_cache_path /usr/local/myapps/nginx/fastcgi_cache levels=1:2 keys_zone=TEST:10m inactive=5m;
           fastcgi_connect_timeout 300;
           fastcgi_send_timeout 300;
          fastcgi_read_timeout 300;
           fastcgi_buffer_size 16k;
          fastcgi_buffers 16 16k;
           fastcgi_busy_buffers_size 16k;
           fastcgi_temp_file_write_size 16k;
           fastcgi_cache TEST;
           fastcgi_cache_valid 200 302 1h;
           fastcgi_cache_valid 301 1d;
           fastcgi_cache_valid any 1m;
           fastcgi_cache_min_uses 1;
           fastcgi_cache_use_stale error timeout invalid_header http_500;

          log_format  access  '$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  access;
         include /usr/local/myapps/nginx/conf/vhosts/http*.conf;
    }
    stream {
    include /usr/local/myapps/nginx/conf/vhosts/tcp*.conf;
    }

  • 相关阅读:
    显示文件本地文件夹
    Select Dependencies选择依赖项
    搜索小技巧
    783. Minimum Distance Between BST Nodes BST节点之间的最小距离
    5. Longest Palindromic Substring 最长的回文子串
    12. Integer to Roman 整数转罗马数字
    3. Longest Substring Without Repeating Characters 最长的子串不重复字符
    539. Minimum Time Difference 最小时差
    43. Multiply Strings 字符串相乘
    445. Add Two Numbers II 两个数字相加2
  • 原文地址:https://www.cnblogs.com/jipinglong/p/11227651.html
Copyright © 2011-2022 走看看