在CENTOS7上如何配置NGINX,用nginx作为seahub的web服务器?官网上只有Ubuntu的,centos7是一样配置么?但官网帮助中的这两条,创建文件 /etc/nginx/site-available/seafile.conf,并拷贝以下内容
删除 /etc/nginx/site-enabled/default: rm /etc/nginx/site-enabled/default
在centos7上是没有这两个目录的?该如何配置呢?谢谢
配置NGINX主要是因为升级到了6.2.7版本,官方建议从6.2开始,在Seahub和Nginx / Apache之间使用代理模式进行通信。如果您想切换到WSGI模式,需要执行两个步骤:
更改Nginx / Apache的配置文件。
重新启动Seahub ./seahub.sh start而不是./seahub.sh start-fastcgi
我是在腾讯云centos7.4部署好了nginx反代seahub等下回到公司贴个配置文件给你看看
首先,我把/etc/nginx/nginx.conf 默认配置文件作了如下修改注意红色箭头
最后的红色箭头是包括/etc/nginx/conf.d/下的所有配置文件
然后我在/etc/nginx/conf.d/下新增了seafile.conf配置文件
server_name Your IP or domain name;
rewrite ^ https://$http_host$request_uri? permanent;
server_tokens off;
}
server {
listen 443 ssl;
ssl on;
ssl_certificate /home/seafilecloud/cert/seafile.pem;
ssl_certificate_key /home/seafilecloud/cert/seafile.key;
server_name Your IP or domain name;
server_tokens off;
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 /home/seafilecloud/haiwen/logs/nginx_logs/seahub.access.log;
error_log /home/seafilecloud/haiwen/logs/nginx_logs/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;
proxy_send_timeout 36000s;
send_timeout 36000s;
}
location /media {
root /home/seafilecloud/haiwen/seafile-server-latest/seahub;
}
}
这个问题已经解决,解决方法如下:
因为是centos7系统,seafile部署用的是一键脚本方式安装的,服务启动方式用的是系统服务启动,即service seafile start和service seahub start,升级到6.2.7后,需要修改为wsgi模式通信。
只需要做如下3个步骤:
1、关闭所有seafile服务后,修改/etc/nginx/conf.d/目录下的seafile.conf配置文件,将location中的内容替换为官网所需要的内容即
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;
}
2、修改centos7中的seahub.service系统启动脚本文件,此文件在目录/etc/systemd/system/中,将启动方式中的-fastcgi 8000去掉,保存后,使用systemctl daemon-reload重载。
3、重新使用系统服务启动命令:service seafile start,service seahub start,启动seafile相关服务,完成。
这样新版本的seafile就使用WSGI通信模式了。