Nginx RedHat 5 설치 과정

7837 단어 redhat
1.Nginx 관련 자료
  홈 페이지:http://www.nginx.org/
  Nginx 중국어 위 키:http://wiki.nginx.org/NginxChs
  Nginx 중국어 자료:http://blog.s135.com/index.php
                          http://www.51nginx.net/
 
 
2.ww 사용자 와 그룹 만 들 기
 
/usr/sbin/groupadd www/usr/sbin/useradd -g www wwwmkdir -p /data0/htdocs/blogchmod +w /data0/htdocs/blogchown -R www:www /data0/htdocs/blogmkdir -p /data0/htdocs/wwwchmod +w /data0/htdocs/wwwchown -R www:www /data0/htdocs/www
 
3.nginx-1.0.4 1 을 설치 하고 Nginx 를 설치 하 는 데 필요 한 pcre 라 이브 러 리:
wget
ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/
pcre-8.12.tar.gz


tar zxvf pcre-8.12.tar.gz
cd pcre-8.12/
./configure
make && make install
    필요 한 라 이브 러 리:
     x86_64 시스템
wget
http://blog.s135.com/soft/linux/nginx_php/rpm/x86_64/libjpeg-devel-6b-33.x86_64.rpm
rpm -ivh libjpeg-devel-6b-33.x86_64.rpm
wget
http://blog.s135.com/soft/linux/nginx_php/rpm/x86_64/freetype-devel-2.1.9-1.x86_64.rpm
rpm -ivh freetype-devel-2.1.9-1.x86_64.rpm
wget
http://blog.s135.com/soft/linux/nginx_php/rpm/x86_64/libpng-devel-1.2.7-1.x86_64.rpm
rpm -ivh libpng-devel-1.2.7-1.x86_64.rpm
 
2.Nginx 설치
tar zxvf nginx-1.0.4.tar.gz
cd nginx-1.0.4/
./configure --user=www --group=www --prefix=/usr/local/webserver/nginx --with-http_stub_status_module --with-http_ssl_module
make && make install
3.Nginx 로그 디 렉 터 리 만 들 기
mkdir -p /data1/logs
chmod +w /data1/logs
chown -R www:www /data1/logs
4.Nginx 프로필 만 들 기 ①,/usr/local/webserver/nginx/conf/디 렉 터 리 에 nginx.conf 파일 만 들 기:
rm -f /usr/local/webserver/nginx/conf/nginx.conf
vi /usr/local/webserver/nginx/conf/nginx.conf
내용 은 다음 과 같다.
user  www www;
worker_processes  4;

error_log  /usr/local/loadbalancer/logs/nginx_error.log  crit;

pid       /usr/local/loadbalancer/nginx/nginx.pid;

#Specifies the value for maximum file descriptors that can be opened by this process. 
worker_rlimit_nofile 1024;


events {
     use epoll;
    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"';

    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;

    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;

    
    server {
        listen       80;
        server_name  www.xxx.com xxx.com *.xxx.com;

        location / {
           proxy_pass  http://www.xxx.com:8080;
        }

        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  /usr/local/loadbalancer/logs/xxx_access.log  access;
    }

    server {
        listen       80;
        server_name  www.ffff.com ffff.com *.ffff.com;

        location / {
           proxy_pass  http://www.fff.com:8082;
        }

        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  /usr/local/loadbalancer/logs/fff_access.log  access;
    }
}

 ②、/usr/local/webserver/nginx/conf/디 렉 터 리 에 fcgi.conf 파일 만 들 기:
vi /usr/local/webserver/nginx/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;
5.Nginx 시작
ulimit -SHn 65535
/usr/local/webserver/nginx/sbin/nginx
  
6.Nginx 서 비 스 를 중단 하지 않 고 부 드 럽 게 Nginx 설정 변경
1./usr/local/webserver/nginx/conf/nginx.conf 설정 파일 을 수정 한 후 다음 명령 을 실행 하여 설정 파일 이 올 바른 지 확인 하 십시오.
/usr/local/webserver/nginx/sbin/nginx -t
화면 에 다음 두 줄 의 정 보 를 표시 하면 설정 파일 이 정확 하 다 는 것 을 설명 합 니 다.
  
the configuration file /usr/local/webserver/nginx/conf/nginx.conf syntax is ok  the configuration file /usr/local/webserver/nginx/conf/nginx.conf was tested successfully
2.부 드 럽 게 다시 시작:
①,Nginx 0.8.x 버 전에 대해 서 는 현재 Nginx 설정 을 부 드 럽 게 다시 시작 하 는 것 이 매우 간단 합 니 다.다음 명령 을 실행 하면 됩 니 다.
/usr/local/webserver/nginx/sbin/nginx -s reload
  
7.매일 정시 에 Nginx 로 그 를 자 르 는 스 크 립 트 작성
1.스 크 립 트/usr/local/webserver/nginx/sbin/cut 생 성nginx_log.sh
vi /usr/local/webserver/nginx/sbin/cut_nginx_log.sh
다음 내용 을 입력 하 십시오:
인용 하 다.
#!/bin/bash
# This script run at 00:00
# The Nginx logs path
logs_path="/usr/local/webserver/nginx/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 /usr/local/webserver/nginx/nginx.pid`
2.crontab 설정,매일 새벽 00:00 nginx 접근 로그 절단
crontab -e
다음 내용 을 입력 하 십시오:
인용 하 다.
00 00 * * * /bin/bash  /usr/local/webserver/nginx/sbin/cut_nginx_log.sh

좋은 웹페이지 즐겨찾기