【亚马逊云】基于Amazon EC2实例部署 NextCloud 云网盘并使用 Docker-compose 搭建 ONLYOFFICE 企业在线办公应用软件

文章目录

    • 1. 部署EC2实例
    • 2. 安装 Docker 服务
    • 3. 安装docker-compose
    • 4. 创建Docker-compose文件
    • 5. 创建nginx.conf文件
    • 6. 运行docker-compose命令开始部署
    • 7. 访问ONLYOFFICE插件
    • 8. 访问NextCloud云盘
    • 9. 下载并启用ONLYOFFICE插件
    • 10. 上传文件测试
    • 11. 所遇问题
    • 12. 参考链接

1. 部署EC2实例

[root@ecs-stwts nextcloud]# hostnamectl Static hostname: ecs-stwtsPretty hostname: ecs-sTWtSIcon name: computer-vmChassis: vmMachine ID: bc974da2acac413f8e7ac7ddf7891424Boot ID: fb58f5174f674d5da11502f4380988a9Virtualization: kvmOperating System: CentOS Linux 7 (Core)CPE OS Name: cpe:/o:centos:centos:7Kernel: Linux 3.10.0-957.12.2.el7.x86_64Architecture: x86-64
[root@ecs-stwts nextcloud]# df -Th
Filesystem              Type      Size  Used Avail Use% Mounted on
devtmpfs                devtmpfs  3.8G     0  3.8G   0% /dev
tmpfs                   tmpfs     3.8G     0  3.8G   0% /dev/shm
tmpfs                   tmpfs     3.8G   17M  3.8G   1% /run
tmpfs                   tmpfs     3.8G     0  3.8G   0% /sys/fs/cgroup
/dev/mapper/centos-root xfs        47G   13G   35G  27% /
/dev/vda1               xfs      1014M  219M  796M  22% /boot
overlay                 overlay    47G   13G   35G  27% /var/lib/docker/overlay2/a3ea784feaae33cd04f6bdea0af15ab2270d05767b5fededde1afc0a460b27ab/merged
overlay                 overlay    47G   13G   35G  27% /var/lib/docker/overlay2/65cd58479d46993b807e92bcb45969f932b05ac8d26eb90e1e39ea4e445f38d7/merged
overlay                 overlay    47G   13G   35G  27% /var/lib/docker/overlay2/de1095dd24a9f3d90007e26cde66a169f6265deb452e2a35cf9dd7de4afb0ede/merged
overlay                 overlay    47G   13G   35G  27% /var/lib/docker/overlay2/5669acb1a761a678860edb12498a49d2b793d2cb293e42b2c774792ec22db59b/merged
tmpfs                   tmpfs     764M     0  764M   0% /run/user/0
[root@ecs-stwts nextcloud]# free -gtotal        used        free      shared  buff/cache   available
Mem:              7           1           0           0           5           5
Swap:             0           0           0

2. 安装 Docker 服务

bash <(curl -sSL https://cdn.jsdelivr.net/gh/SuperManito/LinuxMirrors@main/DockerInstallation.sh)

image-20241031110733193

image-20241031110751799

image-20241031110829626

[root@ecs-stwts nextcloud]# docker version
Client: Docker Engine - CommunityVersion:           26.1.4API version:       1.45Go version:        go1.21.11Git commit:        5650f9bBuilt:             Wed Jun  5 11:32:04 2024OS/Arch:           linux/amd64Context:           defaultServer: Docker Engine - CommunityEngine:Version:          26.1.4API version:      1.45 (minimum version 1.24)Go version:       go1.21.11Git commit:       de5c9cfBuilt:            Wed Jun  5 11:31:02 2024OS/Arch:          linux/amd64Experimental:     falsecontainerd:Version:          1.6.33GitCommit:        d2d58213f83a351ca8f528a95fbd145f5654e957runc:Version:          1.1.12GitCommit:        v1.1.12-0-g51d5e94docker-init:Version:          0.19.0GitCommit:        de40ad0

image-20241031110926979

image-20241031110958107

3. 安装docker-compose

curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && chmod +x /usr/local/bin/docker-compose
[root@ecs-stwts nextcloud]# docker-compose version
Docker Compose version v2.29.1

4. 创建Docker-compose文件

[root@ecs-stwts nextcloud]# cat docker-compose.yml
services:app:container_name: app-serverimage: nextcloud:fpmstdin_open: truetty: truerestart: alwaysexpose:- '80'- '9000'networks:- onlyofficevolumes:- app_data:/var/www/htmlonlyoffice-document-server:container_name: onlyoffice-document-serverimage: onlyoffice/documentserver:lateststdin_open: truetty: truerestart: alwaysnetworks:- onlyofficeexpose:- '80'- '443'volumes:- document_data:/var/www/onlyoffice/Data- document_log:/var/log/onlyofficeports:- 2280:80     #此处是onlyoffice的端口:左侧的端口可以自定义- 4423:443environment:- JWT_ENABLED=true          #此处:是否打开秘钥认证- JWT_SECRET=xxxxxx     #此处:是onlyoffice的秘钥nginx:container_name: nginx-serverimage: nginxstdin_open: truetty: truerestart: alwaysports:- 2380:80          #此处:nextcloud的端口 左侧的端口可以自定义- 4433:443networks:- onlyofficevolumes:- ./nginx.conf:/etc/nginx/nginx.conf- app_data:/var/www/htmldb:container_name: mariadbimage: mariadbrestart: alwaysvolumes:- mysql_data:/var/lib/mysqlenvironment:- MYSQL_ROOT_PASSWORD=xxxxxx     #此处:初始化数据库信息- MYSQL_PASSWORD=xxxxxx          #此处:初始化数据库信息- MYSQL_DATABASE=nextcloud         #此处:初始化数据库信息- MYSQL_USER=nextcloud             #此处:初始化数据库信息networks:- onlyoffice
networks:onlyoffice:driver: 'bridge'
volumes:document_data:document_log:app_data:mysql_data:

5. 创建nginx.conf文件

[root@ecs-stwts nextcloud]# cat nginx.conf 
user  www-data;
worker_processes  1;error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;events {worker_connections  1024;
}http {upstream backend {server app-server:9000;}include       /etc/nginx/mime.types;default_type  application/octet-stream;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  /var/log/nginx/access.log  main;sendfile        on;#tcp_nopush     on;keepalive_timeout  65;map $http_host $this_host {"" $host;default $http_host;}map $http_x_forwarded_proto $the_scheme {default $http_x_forwarded_proto;"" $scheme;}map $http_x_forwarded_host $the_host {default $http_x_forwarded_host;"" $this_host;}server {listen 80;# Add headers to serve security related headersadd_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;";add_header X-Content-Type-Options nosniff;add_header X-XSS-Protection "1; mode=block";add_header X-Robots-Tag none;add_header X-Download-Options noopen;add_header X-Permitted-Cross-Domain-Policies none;root /var/www/html;client_max_body_size 10G; # 0=unlimited - set max upload sizefastcgi_buffers 64 4K;gzip off;index index.php;error_page 403 /core/templates/403.php;error_page 404 /core/templates/404.php;rewrite ^/.well-known/carddav /remote.php/dav/ permanent;rewrite ^/.well-known/caldav /remote.php/dav/ permanent;location = /robots.txt {allow all;log_not_found off;access_log off;}location ~ ^/(build|tests|config|lib|3rdparty|templates|data)/ {deny all;}location ~ ^/(?:\.|autotest|occ|issue|indie|db_|console) {deny all;}location / {rewrite ^/remote/(.*) /remote.php last;rewrite ^(/core/doc/[^\/]+/)$ $1/index.html;try_files $uri $uri/ =404;}location ~* ^/ds-vpath/ {rewrite /ds-vpath/(.*) /$1  break;proxy_pass http://onlyoffice-document-server;proxy_redirect     off;client_max_body_size 100m;proxy_http_version 1.1;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection "upgrade";proxy_set_header Host $http_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 $the_host/ds-vpath;proxy_set_header X-Forwarded-Proto $the_scheme;}location ~ \.php(?:$|/) {fastcgi_split_path_info ^(.+\.php)(/.+)$;include fastcgi_params;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;fastcgi_param PATH_INFO $fastcgi_path_info;fastcgi_param HTTPS off;fastcgi_param modHeadersAvailable true; #Avoid sending the security headers twicefastcgi_pass backend;fastcgi_intercept_errors on;}# Adding the cache control header for js and css files# Make sure it is BELOW the location ~ \.php(?:$|/) { blocklocation ~* \.(?:css|js)$ {add_header Cache-Control "public, max-age=7200";# Add headers to serve security related headersadd_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;";add_header X-Content-Type-Options nosniff;add_header X-Frame-Options "SAMEORIGIN";add_header X-XSS-Protection "1; mode=block";add_header X-Robots-Tag none;add_header X-Download-Options noopen;add_header X-Permitted-Cross-Domain-Policies none;# Optional: Don't log access to assetsaccess_log off;}# Optional: Don't log access to other assetslocation ~* \.(?:jpg|jpeg|gif|bmp|ico|png|swf)$ {access_log off;}}
}

6. 运行docker-compose命令开始部署

docker-compose up -d

image-20241031111329648

7. 访问ONLYOFFICE插件

成功以后需要打开自己相应的端口防火墙就可以web端访问了

http://ip:2280  #打开自己VPS的端口加ip进入web页面

image-20241031111624467

8. 访问NextCloud云盘

http://ip:2380  #打开自己VPS的端口加ip进入web页面

image-20240807204821496

image-20241031111856220

image-20240807204908942

image-20241031111950542

9. 下载并启用ONLYOFFICE插件

image-20241031112059029

image-20241031112201498

然后选择管理应用-ONLYOFFICE -填写如图信息即可。

image-20241031112347796

image-20241031112447696

10. 上传文件测试

image-20241031112624143

11. 所遇问题

通过不被信任的域名访问

请联系您的管理员。如果您就是管理员,请参照 config.sample.php 中的示例编辑 config/config.php 中的“trusted_domains”设置。

配置此项的详细内容请查阅 文档。

image-20241223172434247

[root@awsvstecs ~]# find / -name config.php
/var/lib/docker/volumes/nextcloud_app_data/_data/config/config.php

image-20241223165217984

12. 参考链接

1️⃣(つェ⊂)咦,又回来了! (ywsj365.com)

2️⃣cker搭建nextcloud网盘-配合onlyoffice使用-实现在线编辑office-协同办公

3️⃣国内服务器如何解决docker无法拉取镜像的问题 (ywsj365.com)

4️⃣nextcloud/nextcloud-onlyoffice-mysql-domain-ssl.md at master · chendong12/nextcloud (github.com)

5️⃣docker-onlyoffice-nextcloud-mysql/nginx.conf at master · tvollscw/docker-onlyoffice-nextcloud-mysql (github.com)

6️⃣Docker实战:Docker安装nginx并配置SSL_docker nginx 配置ssl-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/65719.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何在梯度计算中处理bf16精度损失:混合精度训练中的误差分析

如何在梯度计算中处理 bf16 精度损失&#xff1a;混合精度训练中的误差分析 在现代深度学习训练中&#xff0c;为了加速计算并节省内存&#xff0c;越来越多的训练任务采用混合精度&#xff08;Mixed Precision&#xff09;技术&#xff0c;其中常见的做法是使用低精度格式&am…

揭秘文件上传漏洞之操作原理(Thoughts on File Upload Vulnerabilities)

从上传到入侵&#xff1a;揭秘文件上传漏洞之操作原理 大家好&#xff0c;今天我们来聊一个"老而弥坚"的漏洞类型 —— 文件上传漏洞。虽然这个漏洞存在很多年了&#xff0c;但直到现在依然频频出现在各种漏洞报告中。今天我们就来深入了解一下它的原理和各种校验方…

《迁移学习与联邦学习:推动人工智能发展的关键力量》

在人工智能的发展历程中&#xff0c;数据和模型的学习方式不断演进。迁移学习和联邦学习作为两种重要的技术&#xff0c;正逐渐成为行业关注的焦点。 迁移学习&#xff1a;跨越边界的智慧 迁移学习旨在将从一个任务中学习到的知识迁移到另一个相关任务中。简单来说&#xff0…

哈夫曼编码(Huffman Coding)与哈夫曼树(Huffman Tree)

已知字符集{a,b,c,d,e,f}&#xff0c;若各字符出现的次数分别为6&#xff0c;3&#xff0c;8&#xff0c;2&#xff0c;10&#xff0c;4&#xff0c;则对应字符集中各字符的哈夫曼编码可能是&#xff08; &#xff09;。 A.00&#xff0c;1011&#xff0c;01&#xff0…

R语言入门笔记:第一节,快速了解R语言——文件与基础操作

关于 R 语言的简单介绍 上一期 R 语言入门笔记里面我简单介绍了 R 语言的安装和使用方法&#xff0c;以及各项避免踩坑的注意事项。我想把这个系列的笔记持续写下去。 这份笔记只是我的 R 语言入门学习笔记&#xff0c;而不是一套 R 语言教程。换句话说&#xff1a;这份笔记不…

创意思维与决策方法——SCAMPER:探索创新思维的利器

探索创新思维的利器&#xff1a;SCAMPER法 在面对复杂问题或需要突破性创意时&#xff0c;我们常常需要一些行之有效的工具来引导思考。SCAMPER法正是这样一个激发创新思维的利器&#xff0c;它通过七个步骤&#xff1a;替代&#xff08;Substitute&#xff09;、组合&#xf…

微信小程序调用 WebAssembly 烹饪指南

我们都是在夜里崩溃过的俗人&#xff0c;所幸终会天亮。明天就是新的开始&#xff0c;我们会变得与昨天不同。 一、Rust 导出 wasm 参考 wasm-bindgen 官方指南 https://wasm.rust-lang.net.cn/wasm-bindgen/introduction.html wasm-bindgen&#xff0c;这是一个 Rust 库和 CLI…

自动驾驶3D目标检测综述(六)

停更了好久终于回来了&#xff08;其实是因为博主去备考期末了hh&#xff09; 这一篇接着&#xff08;五&#xff09;的第七章开始讲述第八章的内容。第八章主要介绍的是三维目标检测的高效标签。 目录 第八章 三维目标检测高效标签 一、域适应 &#xff08;一&#xff09;…

计算机毕业设计hadoop+spark+hive图书推荐系统 豆瓣图书数据分析可视化大屏 豆瓣图书爬虫 知识图谱 图书大数据 大数据毕业设计 机器学习

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 作者简介&#xff1a;Java领…

极品飞车6的游戏手柄设置

极品飞车&#xff0c;既可以用键盘来控制车辆的前进、后退、左转、右转、加速与减速&#xff0c;也可以使用游戏手柄来操作车辆的运行。需要注意的是&#xff0c;极品飞车虽然支持手柄&#xff0c;但是仅支持常见的北通、罗技还有部分Xbox系列的手柄&#xff0c;至于其他的PS4手…

【VBA】EXCEL - VBA 创建 Sheet 表的 6 种方法,以及注意事项

目录 1. 创建一个新工作表&#xff0c;并将其添加到工作簿的末尾 2. 创建一个新工作表&#xff0c;并命名它 3. 创建一个新工作表&#xff0c;并将其插入到指定位置 4. 检查是否已有同名工作表&#xff0c;避免重复创建 5. 创建多个工作表 6. 基于现有模板创建新工作表 …

html文件通过script标签引入外部js文件,但没正确加载的原因

移动端H5应用&#xff0c;html文件通过script标签引入外部js文件&#xff0c;但没正确加载&#xff0c;在移动设备上难以排查。通过PC浏览器打开&#xff0c;发现js被阻止了&#xff1a;blocked:mixed-content。 原因在于&#xff1a; “blocked:mixed - content” 是浏览器的…

虚拟机Centos下安装Mysql完整过程(图文详解)

目录 一. 准备工作 1. 设置虚拟机静态IP 2. 卸载Mysql 3. 给CentOS添加rpm源 二. 安装MySQL 1. 安装mysql服务 2. 启动mysql服务 3. 开启MySQL开机自启动 4. 查看mysql服务状态 5. 查看mysql初始密码 6. 登录mysql &#xff0c;修改密码 7. 允许外部访问MySQL数据库…

ulimit命令与nginx的联系

华子目录 ulimit使用ulimit命令查看当前限制设置特定限制常用的资源类型临时和永久设置 ulimit与nginx的联系ulimit对Nginx的影响Nginx配置中的相关参数 ulimit 在Linux系统中&#xff0c;ulimit命令用于获取和设置用户级别的资源使用限制。这些限制可以控制诸如可以打开的文件…

初识具身智能

具身智能是智能科学的一个基础问题&#xff0c;在过去的5.4亿年以来&#xff0c;地球上所有生物都是通过身体和环境交互、进化逐步产生的。通俗地讲&#xff0c;具身智能体以第一人称视角身临其境地从环境交互中理解外部世界的本质概念&#xff0c;被认为是通向通用人工智能的重…

【机器人】机器人的数学模型:符号表示、位形空间、状态空间、工作空间

定义 机器人是一种可重复编程的多功能机械臂&#xff0c;他们通过可变程控运动来执行如移动材料、零件、工具或者特种设备等多种任务。 ——美国机器人协会&#xff08;RIA&#xff09; 1.1 机器人的数学模型 1.1.1 机器人的符号表示 机械臂&#xff1a;关节joint 连杆link …

VITUREMEIG | AR眼镜 算力增程

根据IDC发布的《2024年第三季度美国AR/VR市场报告》显示&#xff0c;美国市场AR/VR总出货量增长10.3%。其中&#xff0c;成立于2021年的VITURE增长速度令人惊艳&#xff0c;同比暴涨452.6%&#xff0c;成为历史上增长最快的AR/VR品牌。并在美国AR领域占据了超过50%的市场份额&a…

PY_11_01

前言 PY_11_01 抄就行了&#x1f47b; 一、代码步骤 抄就行了&#x1f47b; def fact(n):if n1:return 1else:return n*fact(n-1)while True:minput(请输入一个正整数m:)if not m.isdigit() or int(m)0:print(输入错误&#xff0c;请重新输入&#xff01;)else:mint(m)brea…

Richardson-Lucy (RL) 算法的卷积形式推导

Richardson-Lucy 算法从模糊图像中恢复原始图像。Richardson-Lucy 方法假设观测图像的噪声服从泊松分布&#xff0c;是一种极大似然估计方法。 1. 问题定义 假设我们有一个原始图像 f ( x , y ) f(x,y) f(x,y)&#xff0c;通过一个已知的点扩散函数 h ( x , y ) h(x,y) h(x,y…

网线直连模式下,ubuntu虚拟机与zynq开发板互ping

目的&#xff1a;想要使用网线将windows网口与zynq开发板网口直连&#xff0c;可以实现通过nfs&#xff08;network file system)挂载在ubuntu中的根文件系统&#xff0c;从而运行linux&#xff0c;方便linux的驱动开发。 参考文章&#xff1a; 领航者 ZYNQ 之嵌入式 Linux 开…