Nginx 下配置 Seahub

2018-11-11 12:03 更新

Nginx 環(huán)境下部署 Seahub/SeafServer

Seahub 是 Seafile 服務(wù)器的網(wǎng)站界面. SeafServer 用來(lái)處理瀏覽器端文件的上傳與下載. 默認(rèn)情況下, 它在 8082 端口上監(jiān)聽(tīng) HTTP 請(qǐng)求.

這里我們通過(guò) fastcgi 部署 Seahub, 通過(guò)反向代理(Reverse Proxy)部署 SeafServer. 我們假設(shè)你已經(jīng)將 Seahub 綁定了域名"www.myseafile.com".

下面是一個(gè) Nginx 配置文件的例子。

Ubuntu 下你可以

  1. 創(chuàng)建文件 /etc/nginx/site-available/seafile.conf,并拷貝以下內(nèi)容
  2. 刪除 /etc/nginx/site-enabled/default: rm /etc/nginx/site-enabled/default
  3. 創(chuàng)建符號(hào)鏈接: ln -s /etc/nginx/sites-available/seafile.conf /etc/nginx/sites-enabled/seafile.conf
server {
    listen 80;
    server_name www.myseafile.com;

    proxy_set_header X-Forwarded-For $remote_addr;

    location / {
        fastcgi_pass    127.0.0.1:8000;
        fastcgi_param   SCRIPT_FILENAME     $document_root$fastcgi_script_name;
        fastcgi_param   PATH_INFO           $fastcgi_script_name;

        fastcgi_param    SERVER_PROTOCOL        $server_protocol;
        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    SERVER_ADDR         $server_addr;
        fastcgi_param    SERVER_PORT         $server_port;
        fastcgi_param    SERVER_NAME         $server_name;
        fastcgi_param   REMOTE_ADDR         $remote_addr;

        access_log      /var/log/nginx/seahub.access.log;
        error_log       /var/log/nginx/seahub.error.log;
    }

    location /seafhttp {
        rewrite ^/seafhttp(.*)$ $1 break;
        proxy_pass http://127.0.0.1:8082;
        client_max_body_size 0;
        proxy_connect_timeout  36000s;
        proxy_read_timeout  36000s;
    }

    location /media {
        root /home/user/haiwen/seafile-server-latest/seahub;
    }
}

Nginx 默認(rèn)設(shè)置 "client_max_body_size" 為 1M。如果上傳文件大于這個(gè)值的話,會(huì)報(bào)錯(cuò),相關(guān) HTTP 狀態(tài)碼為 423 ("Request Entity Too Large"). 你可以將值設(shè)為 0 以禁用此功能.

修改 SERVICE_URL 和 FILE_SERVER_ROOT

下面還需要更新 SERVICE_URL 和 FILE_SERVER_ROOT 這兩個(gè)配置項(xiàng)。否則無(wú)法通過(guò) Web 正常的上傳和下載文件。

5.0 版本開(kāi)始,您可以直接通過(guò)管理員 Web 界面來(lái)設(shè)置這兩個(gè)值 (注意,如果同時(shí)在 Web 界面和配置文件中設(shè)置了這個(gè)值,以 Web 界面的配置為準(zhǔn)。):

SERVICE_URL: http://www.myseafile.com
FILE_SERVER_ROOT: http://www.myseafile.com/seafhttp

5.0 版本之前需要修改 ccnet.conf 文件和 seahub_settings.py 文件

修改 ccnet.conf

SERVICE_URL = http://www.myseafile.com

修改 seahub_settings.py (增加一行,這是一個(gè) python 文件,注意引號(hào))

FILE_SERVER_ROOT = 'http://www.myseafile.com/seafhttp'

啟動(dòng) Seafile 和 Seahub

./seafile.sh start
./seahub.sh start-fastcgi
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)