2012-08-24 15 views
6

Tôi có một máy chủ nginx chạy trên debian wheezy. Tôi đã làm việc OTRS cài đặt. Nhưng perl-fcgi cũ của chúng tôi wrapper được interferring với một số quá trình quan trọng khác vì vậy chúng tôi desided để lựa chọn fcgiwrap gói: http://www.haschmi.de/de/otrs/otrs-on-nginx.htmlLỗi trả lời CGI trên máy chủ nginx sử dụng fcgiwrap

Vì vậy, tôi loại bỏ các wrapper cũ và cài đặt mới. Các wrapper cũ đã

fastcgi_pass 127.0.0.1:8999; 

và mới một

fastcgi_pass unix:/var/run/fcgiwrap.socket; 

Đây là cấu hình hoàn chỉnh

server { 
    listen ip:80; 

    server_name support.test.com; 

    root /opt/otrs/var/httpd/htdocs; 

    index index.html; 
    location /otrs-web { 
     gzip on; 
     alias /opt/otrs/var/httpd/htdocs; 
    } 

    location ~ ^/otrs/(.*\.pl)(/.*)?$ { 
    #try_files $uri =404; 
    gzip off; 
    fastcgi_pass unix:/var/run/fcgiwrap.socket; 
    fastcgi_index index.pl; 
    fastcgi_param SCRIPT_FILENAME /opt/otrs/bin/fcgi-bin/$1; 


    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 GATEWAY_INTERFACE CGI/1.1; 
    fastcgi_param SERVER_SOFTWARE nginx; 
    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; 
    } 
} 

Khi tôi đến thăm tất cả mọi thứ OTRS của chúng tôi hoạt động. Nhưng khi con trai tôi gửi mẫu đăng nhập, tôi nhận được

An error occurred while reading CGI reply (no response received) 

Bất kỳ ý tưởng gì là sai? Làm sao tôi có thể giải quyết việc này?

+1

Bạn có kiểm tra lỗi trong của bạn nhật ký lỗi nginx? Trình bao bọc fcgi mới đang chạy với cùng một người dùng cũ hơn hoặc với một người dùng khác? Nếu người dùng khác, thì đó có thể là vấn đề về quyền. –

+0

Có cùng lỗi, cùng một người dùng. Chúng tôi mong muốn chống lại otrs và cho một hệ thống vé tùy chỉnh ngay bây giờ. –

Trả lời

7

Phiên bản Ubuntu hiện tại (12.04) không bao gồm phiên bản fcgiwrap thích hợp.

Bạn cần biên dịch fcgiwrap trực tiếp từ https://github.com/gnosek/fcgiwrap và sử dụng tùy chọn -f để chạy trình bao bọc. Nó sẽ gây ra err_log được chuyển hướng đến server error.log. Để thay đổi fcgiwrap tùy chọn khởi động chỉnh sửa /etc/init.d/fcgiwrap và bỏ ghi chú/sửa đổi dòng sau:

DAEMON_OPTS="-f" 

Restart fcgiwrap sau này:

service fcgiwrap restart 
+0

Tôi cũng phải gỡ bỏ phiên bản cũ. ls -l $ (định vị fcgiwrap | grep bin) -rwxr-xr-x 1 gốc gốc 135483 Aug 8 20:43/usr/local/sbin/fcgiwrap -rwxr-xr-x 1 gốc gốc 19064 ngày 1 tháng 5 năm 2011/usr/sbin/fcgiwrap mv/usr/sbin/fcgiwrap /usr/sbin/fcgiwrap.20110501 cp/usr/local/sbin/fcgiwrap/usr/sbin/fcgiwrap –

Các vấn đề liên quan