如何运行dockerfile,dockerfile部署项目
序
Seafile是开源、专业、可靠的云存储平台;有了Seafile,我们可以构建自己的私有云,随时随地访问自己的文件。
海洋的最大优势:
直接通过本地驱动器访问云文件,不占用本地存储。为计算机提供服务器的海量存储空间。与操作系统的无缝集成,以及文件的离线修改。
SEA官方文件:https://cloud.seafile.com/published/seafile-manual-cn/home.md注意:7.0.x 版本之后,8000端口默认监听在127.0.0.1地址上,这意味着您无法直接通过8000端口访问Seafile服务。建议您配置nginx反向代理。
本文的安装环境是CentOS 7。
一、准备工作下载seafile-server Professional版:官方下载Python(2.7及以上)安装MySQL:菜鸟教程(数据库推荐MySQL,SQLite易错)安装Nginx:菜鸟教程(不需要,推荐7.0以上版本,推荐外网访问)公网IP:不需要,Frp:通过外网访问时需要Github地址(不需要,内网穿透工具,如果没有本地公网IP,就用有公网IP的服务器)。2.安装Seafile server (1)安装依赖项。1.安装epel yum -y安装epel-release。
2.安装pip yum -y安装python-pip 3。安装依赖于yum-y Install python-imaging MySQL-python python-memcached python-LDAP python-URL lib 3 fffmpeg ffmpeg-develpi P Pillow movie py(II)安装Seafile server 1。创建文件夹mkdir-p/usr/local/sea file-server 2。解压后解压tar-zxvf sea file-pro-server _ 7 . 0 . 9 _ x86-64 . tar . gz-c/usr/local/sea file-server/。
CD/usr/local/sea file-server/sea file-pro-server-7 . 0 . 9/3。执行安装脚本。/setup-seafile-mysql.sh初始化脚本会检查是否满足安装条件,然后回车继续。
脚本会依次问你一些问题,引导你一步一步配置Seafile的参数,直接回车使用默认配置。
输入服务器名称。
输入服务器ip或域名。
设置存储文件的目录,即要共享的主目录。这个目录以前一定不存在。
设置文件服务端口,可以使用默认设置。
选择如何创建数据库,通常选择1。
如果选择1,则需要提供root密码。该脚本将创建数据库和用户。如果您选择2,那么ccnet/seafile/seahub数据库应该已经由您(或其他人)提前创建好了。
输入数据库的地址。当数据库安装在此计算机上时,可以使用默认设置。
输入数据库端口号
输入数据库root用户的口令。
输入数据库seafile用户的用户名,如果该用户不存在,则创建该用户。您可以使用默认设置。
输入您刚才输入的用户密码。
设置数据库名称,您可以使用默认设置。
确认配置正确后,按Enter键继续。
稍等片刻,安装完成。
(三)Nginx的配置我们需要根据官方文件的配置做一些修改,以符合我们的实际情况。
1.打开Nginx配置文件vim/usr/local/web server/Nginx/conf/Nginx . conf 2。nginx配置文件可以参考配置:注意:中文注释地方是需要根据实际情况修改的地方。
#用户没有人用户www工作进程4;# error _ log日志/错误。日志;# error _ log日志/错误。日志通知;# error _ log日志/错误。日志信息;错误_日志/数据/日志/nginx/错误。日志暴击;PID/usr/local/web server/nginx/nginx。PID# PID日志/nginx。PID事件{ worker _ connections 1024}http {包含mime.typesdefault_type应用程序/八位字节流;# log _ format main $ remote _ addr-$ remote _ user[$ time _ local] $ request # $ status $ body _ bytes _ sent $ http _ referer # $ http _ user _ agent $ http _ x _ forwarded _ for ;# access _ log日志/访问。日志总管;在上发送文件;# TCP _ no push on # keepalive _ time out 0;keepalive _ time out 65 client _ max _ body _ size 0;send _ time out 180 # gzip onfastcgi _ send _ time out 300 fastcgi _ read _ time out 300 fastcgi _ connect _ time out 300 fastcgi _ buffer _ size 64 fastcgi _ busy _ buffers _ size 128 kfastcgi _ temp _ file _ write _ size 128k;代理连接超时18000代理发送超时18000代理读取超时18000服务器{监听80;服务器名称本地主机;proxy _ set _ header X-Forwarded-For $ remote _ addr;# charset锦鲤8-r;# access _ log日志/主机。访问。日志总管;位置/{ #seahub端口,根据实际情况设置,默认是8000 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;代理读取超时1200秒#用于通过office Online Server client _ max _ body _ size 0查看/编辑办公室文件;}位置/seafhttp {重写^/seafhttp(.*)$ $1破;#seafile的端口,根据实际情况设置,默认是8082 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 _ time out 36000s proxy _ read _ time out 36000s proxy _ send _ time out 36000s send _ time out 36000s代理请求缓冲关闭;}位置/媒体{ #静态文件路径,根据实际安装路径找到/seafile-server-latest/seahub的位置root/usr/local/sea文件-服务器/sea文件-服务器-最新/sea hub;} # error _ page 404/404。html#将服务器错误页重定向到静态页/50x。html # error _ page 500 502 503 504/50x。html位置=/50x。html {根html;} } } 3.检查Nginx配置文件正确性nginx -t这里我已经把服务器的目录添加到环境变量中了,所以可以直接使用服务器命令,如果没有设置环境变量需要进入服务器的目录执行2007/nginx-t
出现测试成功代表校验通过
4.让Nginx重新加载配置nginx -s重装(三)启动海洋文件-服务器进入sea文件服务器最新目录
激光唱片./seafile-server-latest/1 .启动seafile ./seafile.sh start
2.启动海洋中心/seahub.sh start第一次启动需要设置管理账户和密码
稍等片刻,启动成功
3.进入网页在浏览器输入http://ip:端口进入网页(ip为机器IP,端口为服务器监听端口)如果机器有防火墙,需要先开放nginx监听的端口
可以参考:linux防火墙查看状态防火墙、iptable
三、使用客户端访问
客户端下载
可以使用Windows操作系统操作系统挂载盘客户端挂载为本地硬盘使用
四、开启WebDAV一种基于HTTP 1.1协议的通信协议,开启后可以使用支持该协议的第三方客户端访问文件。
开启方法:官方文档以下为使用Nginx的教程
1.编辑seafdav.conf文件精力./conf/seafdav.conf端口为韦德夫监听端口,可自行设置
[webdav]enabled=true port=8080 fastcgi=true share _ name=/seafdav 2。修改Nginx配置,在服务器上添加以下内容(中文评论需要根据实际情况修改)
Location /seafdav {#此处端口号改为刚刚设置的WedDAV监听端口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请求方法$请求方法;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服务器名称$服务器名称;client _ max _ body _ size 0;proxy _ connect _ timeout 36000sproxy _ read _ timeout 36000sproxy _ send _ timeout 36000ssend _ timeout 36000s#此选项仅适用于Nginx=1.8.0。更多详情见下文。代理请求缓冲关闭;} 3.使Nginx配置有效nginx -tnginx -s重装4。重新启动seafile。/seafile.sh重新启动5。使用WebDAV在浏览器中输入http://ip:port/seafdav,登录后即可访问该文件。
您也可以使用其他支持WebDAV的第三方客户端。请放心自己做。
动词(verb的缩写)设置外网接入(1)情况分析通过外网接入需要公网IP,目前大致分为三种情况:
1.本机有公网IP应用场景:从VPS提供商(如阿里云等)购买VPS。)并使用这台机器构建SeafileServer。
解决方法:安装时,只需填写本机的公共IP即可。
2.路由器有公网IP应用场景:用运营商py获取公网IP后,构建SeafileServer的机器连接到路由器。
解决方法:安装时填写公网IP,路由器可以设置端口进行转发。
3.没有本地公有IP,但是有一个有公有IP的VPS应用场景:你从VPS提供商(比如阿里云等)购买VPS。),但是因为空间小或者其他原因,不想在VPS上搭建SeafileServer。
解决方案:使用内部网渗透将本地Nginx端口映射到带有公共IP的VPS。可以用玻璃钢,简单好用。请参考中文文件。
(2)系统设置按照上述方法设置好公网IP后,管理员需要登录网页,进入系统管理-设置,设置SERVICE_URL和FILE_SERVER_ROOT,否则无法上传和下载文件。
(3)局域网流量不流向远程服务器。如果使用内网穿透,按照上面的设置,即使在局域网内也是通过远程服务器访问,所以速度没有局域网直接访问快。这里有一个简单的解决方案:
在之前的设置中,SERVICE_URL和FILE_SERVER_ROOT仍然填写局域网中的地址,这样就可以正常访问局域网了。如果需要外部网络访问,可以通过支持WebDAV的客户端进行访问。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。