제작 의뢰

XE 공식사이트에 개설된 제작의뢰/제작지원 게시판을 통한 거래시 피해나 분쟁이 발생했을 경우, XE 운영팀은 관여를 하지 않으며 모든 책임은 거래 당사자들에게 있습니다.

거래시 [피해/분쟁 예방] 좋은 거래를 위한 제작/의뢰 가이드를 숙지하여 의뢰자와 제작자 모두가 분쟁 없이 좋은 결과물을 얻을 수 있기를 바랍니다.

안녕하세요,.
워낙이 초짜라 헤매네요.. 도와주시기 바랍니다.. 부탁드려요..
그동안 윈서버에서 apm으로 돌리다가 서버부하 문제로 nginx로 교체를 했답니다..
여기저기 주워들은 정보를 토대로 구축을 하기는 했고 근 몇달은 별탈없이 잘 써왔는데 요 몇일부터 이유도 없이 php-cgi.exe가 서버를 키면 몇시간을 못버티고 오류를 뿜어내고 죽습니다.. 멀 건드린게 있어야 원인을 알텐데 알길이 없네요.. ㅡ,ㅡ
이벤트로그에서는 php5ts.dll에서 오류가 났다고만 나옵니다..

정황상으로는 fastcgi 문제인거 같은데 당췌 알수가 없네요..

서버를 원격 또는 팁제공으로 도와주시는 분에게 해결이 되면 사례하도록 하겠습니다.

네이트온 주소 : star8083@lycos.co.kr
서버 실행용 스크립트는 아래와 같이 짰습니다..
SET PHP_FCGI_MAX_REQUESTS=0
SET OPENSSL_CONF=%cd%\bin\openssl\openssl.cnf
%cd%\bin\core\hidec.exe %cd%\bin\php52\php-cgi.exe -b 127.0.0.1:9000 -c %cd%\bin\php.ini

아래는 nginx.conf 설정 내용이구요..
#user  nobody;

# CPU개수
worker_processes  1;

error_log  logs/error.log crit;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;
pid        logs/nginx.pid;

#이 프로세스를 지정하여 열 수있는 최대 파일에 대한 값.
#worker_rlimit_nofile 51200;

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"';

    #access_log  logs/access.log  main;
    access_log off;

    client_body_temp_path  temp/client_body_temp;
    fastcgi_temp_path      temp/fastcgi_temp;
    proxy_temp_path        temp/proxy_temp;
    uwsgi_temp_path        temp/wsgi_temp;
    scgi_temp_path        temp/scgi_temp;

    # 일반 옵션
    ignore_invalid_headers  on;
    recursive_error_pages  on;
    sendfile                on;
    server_name_in_redirect off;
    server_tokens          off;
    # 추가
    #limit_zone gulag $binary_remote_addr 1m;
    reset_timedout_connection on;
    server_names_hash_bucket_size 128;
    #aio on;
    directio 64m;
    # TCP 옵션
    tcp_nodelay            on;
    tcp_nopush              on;

    # 크기 제한
    client_body_buffer_size  5m;
    client_header_buffer_size 5m;
    client_max_body_size      5m;
    # 추가
    #server_names_hash_bucket_size 5m;
    large_client_header_buffers 8 8m;
   
    # 시간 초과
    client_body_timeout  5;
    client_header_timeout 5;
    keepalive_timeout    0;
    send_timeout          5;
    # 추가
    keepalive_requests    5;

    # 압축
    gzip on;
    gzip_vary          on;
    gzip_static        on;
    gzip_buffers    16 1m;
    gzip_http_version 1.1;
    gzip_min_length    0;
    gzip_comp_level 9;
    gzip_types      text/css text/xml application/x-javascript application/atom+xml application/rss+xml text/plain image/x-icon application/java-archive application/msword application/pdf application/vnd.ms-excel application/vnd.ms-powerpoint application/vnd.wap.xhtml+xml application/x-xpinstall;

    # 기타
    fastcgi_param HTTPS on;
    fastcgi_intercept_errors    on;
    fastcgi_ignore_client_abort  off;
    fastcgi_connect_timeout 70;
    fastcgi_send_timeout 70;
    fastcgi_read_timeout 70;
    fastcgi_buffer_size 5m;
    fastcgi_buffers 8 8m;
    fastcgi_busy_buffers_size 8m;
    fastcgi_temp_file_write_size 8m;

    server {
        # 포트
        listen      80;
        # 도메인
        server_name localhost;
        # 홈 디렉토리
        root        www;

        #charset koi8-r;
        #access_log  logs/host.access.log  main;
       
        # Index 파일
        location / {
            index  index.html index.htm index.php;
        }

        # add expire headers
        #location ~* ^.+.(gif|ico|jpg|jpeg|png|flv|swf|pdf|mp3|mp4|xml|txt|js|css)$ {
        #    expires 30d;
        #}
        # etc 대체
        include etc.conf;

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        # php 설정
        location ~ .*\.php$ {

            # do not pass non-existent files for security reasons
            if (!-f $document_root$fastcgi_script_name){ return 404; }

            fastcgi_pass  127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }

        # only allow these request methods
        #if ($request_method !~ ^(GET|HEAD|POST)$ ){ return 405; }

        # deny access to .htaccess files
        location ~ /\.ht { deny all; }

        # 상태 확인
        location = /stat {
        stub_status on;
        access_log  off;
        allow 아이피;
        deny all;
        }
    }



사용하는 서버 환경버전은 아래와 같습니다.
  * Nginx 1.0.0
  * PHP 5.2.17
    + Custom MySQL extension (for MySQL v5.1)
    + Ioncube Loader 4.0.7
    + NuSphere PhpExpress 3.0.1
    + Suhosin 0.9.32.1
    + ZendOptimizer 3.3.3
  * PHP 5.3.7-dev
    + Ioncube Loader 4.0.7
    + NuSphere PhpExpress 3.0.1
    + Suhosin 0.9.32.1
  * MySQL 5.1.56
  * Memcached 1.4.5
  * OpenSSL 0.9.8r
  * PhpMyAdmin 3.3.11-dev
  * Sendmail version 31