nginx+php+mysql安装 三

六、安装Nginx 0.7.61
  1.
安装Nginx所需的pcre库:
    tar zxvf pcre-7.9.tar.gz
    cd pcre-7.9/
    ./configure
    make && make install
    cd ../
   
  2.
安装Nginx
    tar zxvf nginx-0.7.61.tar.gz
    cd nginx-0.7.61/
    ./configure --user=www --group=www --prefix=/data/nginx-0.7.61 --with-http_stub_status_module --with-http_ssl_module
    make && make install
    cd ../
   
  5.
创建Nginx日志目录
    mkdir -p /usr/local /nginx/logs
    chmod +w /usr/local /nginx /logs
    chown -R www:www /usr/local /nginx /nginx/logs

 

4. 创建Nginx配置文件
   
/data/nginx-0.7.61/conf/目录中创建nginx.conf文件:
    rm -f /data/nginx-0.7.61/conf/nginx.conf
    vi /data/nginx-0.7.61/conf/nginx.conf
   
输入以下内容:
      user  www www;
      worker_processes 8;
      error_log  /data/nginx-0.7.61/logsnginx_error.log  crit;
      pid        /data/nginx-0.7.61/nginx.pid;
      #Specifies the value for maximum file descriptors that can be opened by this process.
      worker_rlimit_nofile 10240;
      events
      {
        use epoll;
        worker_connections 10240;
      }
      http
      {
        include       mime.types;
        default_type  application/octet-stream;
        #charset  gb2312;
        server_names_hash_bucket_size 128;
        client_header_buffer_size 32k;
        large_client_header_buffers 4 32k;
        client_max_body_size 8m;
        sendfile on;
        tcp_nopush     on;
        keepalive_timeout 60;
        tcp_nodelay on;
        ####
        fastcgi_connect_timeout 300;
        fastcgi_send_timeout 300;
        fastcgi_read_timeout 300;
        fastcgi_buffer_size 64k;
        fastcgi_buffers 4 64k;
        fastcgi_busy_buffers_size 128k;
        fastcgi_temp_file_write_size 128k;
        ####
        gzip on;
        gzip_min_length  1k;
        gzip_buffers     4 16k;
        gzip_http_version 1.0;
        gzip_comp_level 2;
        gzip_types       text/plain application/x-javascript text/css application/xml;
        gzip_vary on;
        #limit_zone  crawler  $binary_remote_addr  10m;
        server
        {
          listen       80;
          server_name  xiaonei.mowhere.net;
          index index.html index.htm index.php;
          root  /data/webapps/xiaonei;
          #limit_conn   crawler  20;  
          location ~ .*\.(php|php5)?$
          {    
            #fastcgi_pass  unix:/tmp/php-cgi.sock;
            fastcgi_pass  127.0.0.1:9000;
            fastcgi_index index.php;
            include fcgi.conf;
          }
          location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
          {
            expires      365d;
          }
          location ~ .*\.(js|css)?$
          {
            expires      365d;
          }  
          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  /data/nginx-0.7.61/logs/access.log  access;
        }
        server
        {
          listen       80;
          server_name  i1.mwcdn.com;
          index index.html index.htm index.php;
          root  /data/webapps/mwcdn;
          #limit_conn   crawler  20;  
          location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
          {
            expires      365d;
          }
          location ~ .*\.(js|css)?$
          {
            expires      365d;
          }  
          access_log  off;
        }
      }
     
  5.
/data/nginx-0.7.61/conf/目录中创建fcgi.conf文件:
    vi /data/nginx-0.7.61/conf/fcgi.conf
  输入以下内容:
      fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
      fastcgi_param  SERVER_SOFTWARE    nginx;
      fastcgi_param  QUERY_STRING       $query_string;
      fastcgi_param  REQUEST_METHOD     $request_method;
      fastcgi_param  CONTENT_TYPE       $content_type;
      fastcgi_param  CONTENT_LENGTH     $content_length;
      fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
      fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
      fastcgi_param  REQUEST_URI        $request_uri;
      fastcgi_param  DOCUMENT_URI       $document_uri;
      fastcgi_param  DOCUMENT_ROOT      $document_root;
      fastcgi_param  SERVER_PROTOCOL    $server_protocol;
      fastcgi_param  REMOTE_ADDR        $remote_addr;
      fastcgi_param  REMOTE_PORT        $remote_port;
      fastcgi_param  SERVER_ADDR        $server_addr;
      fastcgi_param  SERVER_PORT        $server_port;
      fastcgi_param  SERVER_NAME        $server_name;
      # PHP only, required if PHP was built with --enable-force-cgi-redirect
      fastcgi_param  REDIRECT_STATUS    200;
     
  6.
启动Nginx
    ulimit -SHn 51200
    /data/nginx-0.7.61/sbin/nginx
   
  7.
配置开机启动
    vi /etc/rc.local:
      ulimit -SHn 51200
      /data/php-5.2.10/sbin/php-fpm start
      /data/nginx-0.7.61/sbin/nginx
     
  8.
优化系统参数
    vi /etc/sysctl.conf
      net.ipv4.tcp_max_syn_backlog = 65536
      net.core.netdev_max_backlog =  32768
      net.core.somaxconn = 32768
      net.core.wmem_default = 8388608
      net.core.rmem_default = 8388608
      net.core.rmem_max = 16777216
      net.core.wmem_max = 16777216
      net.ipv4.tcp_timestamps = 0
      net.ipv4.tcp_synack_retries = 2
      net.ipv4.tcp_syn_retries = 2
      net.ipv4.tcp_tw_recycle = 1
      #net.ipv4.tcp_tw_len = 1
      net.ipv4.tcp_tw_reuse = 1
      net.ipv4.tcp_mem = 94500000 915000000 927000000
      net.ipv4.tcp_max_orphans = 3276800
      #net.ipv4.tcp_fin_timeout = 30
      #net.ipv4.tcp_keepalive_time = 120
      net.ipv4.ip_local_port_range = 1024  65535
   
执行sysctl -p 使之生效
   
  9.
平滑变更Nginx配置
    i.
修改nginx.conf后,检查配置文件:/data/nginx0.7.61/sbin/nginx -t
    ii.
找到Nginx主进程号:ps -ef | grep "nginx: master process" | grep -v "grep" | awk -F ' ' '{print $2}'
    iii. kill -HUP Nginx
主进程号
    iv.
或者找到NginxPid文件:kill -HUP `cat /data/nginx-0.7.61/nginx.pid`
   
  10.
截断Nginx日志
    i.
创建脚本/data/nginx-0.7.61/sbin/cut_nginx_log.sh vi /data/nginx-0.7.61/sbin/cut_nginx_log.sh
      #!/bin/bash
      # This script run at 00:00
      # The Nginx logs path
      logs_path="/data/nginx-0.7.61/logs/"
      mkdir -p ${logs_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")/
      mv ${logs_path}access.log ${logs_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")/access_$(date -d "yesterday" +"%Y%m%d").log
      kill -USR1 `cat /data/nginx-0.7.61/nginx.pid`


    ii.
设置crontab,每天凌晨00:00切割nginx访问日志:crontab -e
      00 00 * * * /bin/bash  /data/nginx-0.7.61/sbin/cut_nginx_log.sh

 

安装时有可能会出现:

error: the HTTP cache module requires md5 functions from OpenSSL library

此报错是因为没有安装opensslopenssl-devel

Yum install openssl openssl-devel

安装完成即可.

usr/local/nginx/sbin/nginx -t  //Debug 配置文件的关键命令需要重点撑握.

 

你可能感兴趣的:(nginx,mysql,PHP,数据库,休闲)