首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有nginx和Plesk的Seafile 6.0.5404 WebUI

带有nginx和Plesk的Seafile 6.0.5404 WebUI
EN

Stack Overflow用户
提问于 2016-11-03 08:30:59
回答 1查看 585关注 0票数 1

最后几天,我尝试在安装了Plesk 17的VPS上使用MySQL运行当前Seafile 6.0.5。

如果我遵循seafile.com官方手册=> nginx.html

我可以从: http:IP_ADRESS:8000打开webui。

但是,当我添加NGINX配置并以快速was模式启动海藻中心以到达Seafile下面:https://seafile.mydomain.com (让我们加密https)时,我只看到左上角的海员徽标,右上角的一个非工作语言选择器,以及一个文本,上面写着:“对不起,但是没有找到所请求的页面”。

我的日志/海藻中心_django_request.log:

代码语言:javascript
复制
2016-11-03q 04:51:11,438 [WARNING] django.request:170 get_response Not Found: /index.html
2016-11-03 04:51:13,204 [WARNING] django.request:170 get_response Not Found: /index.html
2016-11-03 04:58:06,150 [WARNING] django.request:170 get_response Not Found: /index.html
...

我的ccnet.conf:

代码语言:javascript
复制
[General]
USER_NAME = PrivateSeafile
ID = id
NAME = PrivateSeafile
SERVICE_URL = https://seafile.mydomain.com

[Database]
ENGINE = mysql
HOST = 127.0.0.1
PORT = 3306
USER = seafile
PASSWD = pass
DB = ccnet-db
CONNECTION_CHARSET = utf8

我的seahub_settings.py:

代码语言:javascript
复制
SECRET_KEY = "secret"

FILE_SERVER_ROOT = 'https://seafile.mydomain.com/seafhttp'
#SITE_BASE = 'https://seafile.mydomain.com'
#SITE_ROOT = '/'

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'seahub-db',
        'USER': 'seafile',
        'PASSWORD': 'pw',
        'HOST': '127.0.0.1',
        'PORT': '3306'
    }
}

我在Plesk中的其他nginx设置如下:

代码语言:javascript
复制
server_tokens off;
proxy_set_header X-Forwarded-For $remote_addr;
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains";

location ~ / {
    if ($scheme = http) {
        return 301 https://$http_host$request_uri?;
    }
    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   HTTPS               on;
    fastcgi_param   HTTP_SCHEME         https;

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

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

location /seafdav {
    fastcgi_pass    127.0.0.1:8080;
    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   HTTPS               on;
    client_max_body_size 0;
    proxy_request_buffering off;

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

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

location /.well-known/acme-challenge {
    root /var/www/vhosts/mydomain.com/seafile.mydomain.com;
}

我希望有人知道怎么解决这个问题。我知道普列斯克也是这样,因为我多次用生的nginx部署了seafile,并且工作得很完美。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-09 09:31:05

因此,我通过为Plesk创建一个定制的nginx虚拟域-主机配置来解决这个问题。

为此:

代码语言:javascript
复制
mkdir /usr/local/psa/admin/conf/templates/custom
mkdir /usr/local/psa/admin/conf/templates/custom/domain
cd /usr/local/psa/admin/conf/templates/custom/domain
cp /usr/local/psa/admin/conf/templates/default/domain/nginxDomainVirtualHost.php ./

vim nginxDomainVirtualHost.php

删除或注释以下内容:

代码语言:javascript
复制
location ~ /$ {
    <?php echo $VAR->domain->physicalHosting->proxySettings['directoryIndex'] ?>
}

普列斯克文件说:

生成新的配置文件: via:

代码语言:javascript
复制
httpdmng --reconfigure-domain YOUR_DOMAIN

但是在控制台上

命令httpdmng未找到

因此,只需在Plesk中打开您的域Apace & nginx设置,然后单击okay。

其他额外的nginx配置的小问题中断了与本地客户端的同步:

代码语言:javascript
复制
location /seafhttp {
    rewrite ^/seafhttp(.*)$ $1 break;
    proxy_pass https://127.0.0.1:8082;

必须:

代码语言:javascript
复制
location /seafhttp {
    rewrite ^/seafhttp(.*)$ $1 break;
    proxy_pass http://127.0.0.1:8082;

所以只有http而不是https。

希望这能帮助到其他人;)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40396854

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档