Seahub 是 Seafile 服务器的网站界面. SeafServer 用来处理浏览器端文件的上传与下载. 默认情况下, 它在 8082 端口上监听 HTTP 请求.
这里我们通过反向代理(Reverse Proxy)部署 SeafServer. 我们假设你已经将 Seahub 绑定了域名"yun.xianmoyi.com".
一、 修改Nginx 配置文件(可以在conf目录中增加虚拟站点)
erver {
listen 80;
server_name yun.xianmoyi.com;
proxy_set_header X-Forwarded-For $remote_addr;
location / {
proxy_pass http://127.0.0.1:8000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
proxy_read_timeout 1200s;
# used for view/edit office file via Office Online Server
client_max_body_size 0;
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_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_connect_timeout 36000s;
proxy_read_timeout 36000s;
proxy_send_timeout 36000s;
proxy_request_buffering off;
send_timeout 36000s;
}
location /media {
root /home/seafile/seafile-server-latest/seahub;
}
}
二、修改 SERVICE_URL 和 FILE_SERVER_ROOT
直接通过管理员 Web 界面来设置这两个值(系统设置中) :
SERVICE_URL: http://www.myseafile.com
FILE_SERVER_ROOT: http://www.myseafile.com/seafhttp
三、注意事项
通过实际部署发现,在centos7本机下通过nginx进行代理会报502错误,通过另一台centos6.5的nginx进行代理则访问正常
因为nginx配置文件中
location /media {
root /home/seafile/seafile-server-latest/seahub;
}
的内容是在本地,nginx代理服务器中并无此目录,所以
1.要利用nfs将网站服务器中的 /home/seafile/seafile-server-latest/seahub 目录挂载到nginx代理服务器中
2.同时/home/seafile/seafile-server-latest/seahub/media 目录下avatars、custom 是两个链接文件,指向/home/seafile/seahub-data。所以 seahub-data 目录也要挂载到nginx代理服务器中