< TL;DR >
\n我正在基于当前的 Debian 10 Buster 和内核 ntfsd 调整仅限 NFSv4 的文件服务器;系统 v241。该nfs-kernel-server发行版中的软件包的 systemd 脚本让我觉得有点奇怪。根据 systemd.service(5),一些服务定义文件(包括其nfs-server.service本身)附带设置DefaultDependencies=no,以便该单元不会自动获取依赖项:Conflicts=shutdown.target
\n\n[使用
\nDefaultDependencies=yes][s]服务单元将具有类型Conflicts=和Before=上的依赖性[...]shutdown.target。这些确保在系统关闭之前正常服务单元被彻底终止。
与我在其他 systemd 自己的软件包中看到的不同,这些都没有明确提供。命令
\nsystemctl show nfs-server.service | egrep '^(Want|Requ|Bind|Bound|Before|After|Confl)'\nRun Code Online (Sandbox Code Playgroud)\n证实这实际上是正确的:不存在这样的依赖关系。手册继续,
\n\n\n只有涉及早期启动或延迟系统关闭的服务才应禁用此选项。
\n
NFS 服务器恰恰不是这样,因为在网络完全启动之前它无法开始提供服务,并且一旦系统开始关闭,它就应该停止接受新请求并在负载下停止。
\n这不是软件包中具有类似设置的单个服务,但这一项是我最担心的。我正在云设置中推出单一用途的虚拟机,文件服务器可能拥有大量的 RAM (64-128G),所有这些都被文件系统缓存塞满了,如 htop(1) 所示。由于这是一台文件存储机器,我无法用言语来表达我多么希望服务器,引用手册, \xe2\x80\x9c 在系统关闭之前干净地终止,\xe2\x80\x9d 特别是鉴于我用导出文件系统的 ext4 挂载选项data=writeback和\xc2\xb9牺牲了一点可靠性来换取性能nobarrier。
\n</ TL;DR >
所以我的问题归结为一句话是:
\n当系统实际上关闭时,不具有Conflicts=和 …
我有一台服务器运行由 Gunicorn 和 Celery 任务队列提供服务的 Django 应用程序。
Gunicorn文档建议(2 x $num_cores) + 1 作为默认的工作线程数。
Celery 文档显示 Celery 工作线程的数量默认为 1 x $num_cores。
两者都建议尝试找到合适的数字。
我的问题是,在同一台机器上运行 Gunicorn 和 Celery 的良好经验法则是什么?在八核机器上,我应该从 17 个 Gunicorn 和 8 个 Celery 工人开始吗?或者从 9 个 Gunicorn 和 4 个 Celery 工人开始有意义吗?
系统受 CPU 限制,如果有帮助的话。
我正在尝试使用 linux 盒子(运行 ubuntu 18.04)和 nginx、gunincorn、letsencrypt 和 docker 来提供 python-django web 应用程序。在学习了许多在线教程之后,我按照本教程http://pawamoy.github.io/2018/02/01/docker-compose-django-postgres-nginx 成功通过端口 80 通过 http 提供了应用程序服务。 html。
然而,我现在真的很难通过端口 443 通过 https 进行部署。我想也许我不理解基本的 docker 概念。我运行时遇到的错误sudo docker-compose up如下。
NGINX 错误:
nginx_1 | nginx: [emerg] open() "/etc/letsencrypt/options-ssl-nginx.conf" failed (2: No such file or directory) in /etc/nginx/conf.d/local_ssl.conf:28
我相信这是因为我没有链接 docker-compose.yml 文件中的 options-ssl-nginx.conf 文件,也许是通过卷?我不知道这是否正确。我的 docker-compose.yml 文件和 nginx.conf 文件的相关部分如下:
docker-compose.yml:
version: '3'
services:
# database containers
database1:
...
# web container
djangoapp:
...
# reverse proxy container (nginx)
nginx:
image: …Run Code Online (Sandbox Code Playgroud) 我的预算非常有限,对此知之甚少,所以请耐心等待。
我们有一个主要的和备份的 Hyper-V 服务器。复制正在从主服务器运行到辅助服务器。我需要在不中断该虚拟机提供的服务的情况下将主虚拟机之一故障转移到辅助虚拟机。
这个虚拟机是一个网络服务器,有一个公共网站。
此 VM 的存储中不会写入任何数据更改 - 还有另一个托管数据库的 VM。网络服务器 VM 需要在 Windows 更新后重新启动,而辅助 Hyper-V 运行最新的复制映像。
在主虚拟机上重新启动后,主虚拟机上的虚拟机应该再次处于活动状态,然后 WindowsUpdates 复制到(再次休眠)辅助 Hyper-V。
简而言之 - 拥有 2 个 Hyper-V 服务器(非集群 - 没有 Active Directory),如何让虚拟机在辅助服务器上运行(没有提供服务的停机时间),并在主服务器上重新启动虚拟机,并切换所有用户' 会话返回到主虚拟机上?
aws s3 sync /WordProcessing/DOCUMENTS s3://mybigbucket --delete --include "*" --exclude ".DS_Store"
Run Code Online (Sandbox Code Playgroud)
如果 .DS_Store 以某种方式到达 AWS S3 mybigbucket(从之前的备份),则使用上述命令不会从目标中删除 .DS_Store 文件,即使我手动执行:
rm /WordProcessing/DOCUMENTS/.DS_Store
Run Code Online (Sandbox Code Playgroud)
在文件服务器上。
我是否缺少 aws s3 同步工作原理的逻辑?在我看来,如果 .DS_Store 已从文件服务器上的源中删除,则应该从 S3 存储桶上的目标中删除它。
如果我取消 --exclude 并再次运行该命令,当 .DS_Store 从文件服务器中删除时,它会从目标中删除它。这似乎不对。
我采取了错误的方法吗?我想要做的是每晚同步文件服务器,并让它不将数千个 .DS_Store 文件传输到 S3 存储桶。
问题:
我正在部署一个 appengine 标准服务 - nodejsv10。但是,在将流量迁移到新版本后,旧版本仍在运行,实例计数被列为 2 或 1。对于过去一周内未收到流量超过 24 次的多次部署,情况仍然如此小时(所以我认为这不是控制台延迟刷新问题)。
我不想为这些实例付费,因为我不需要它们。手动删除这些旧版本似乎是一种愚蠢的用户体验。
部署命令: gcloud beta app deploy
应用程序.yaml
env: standard
instance_class: F4
inbound_services:
- warmup
automatic_scaling:
min_idle_instances: 1
max_idle_instances: 1
min_pending_latency: automatic
max_pending_latency: automatic
max_concurrent_requests: 15
min_instances: 1
Run Code Online (Sandbox Code Playgroud) 由于我最近买了一台新的 Mac Pro(运行 Catalina 10.15.2),我使用 10 GBit 以太网将它连接到我的 Debian 10 / Proxmox 服务器。
但是,当连接到共享时,我只能获得 150-300 MB/s 的读/写性能。
这是我当前的 smb.conf:
[global]
netbios name = server
realm = MY.DOMAIN
security = ADS
workgroup = MYDOMAIN
wins server = my.domain.test
winbind enum users = Yes
winbind enum groups = Yes
winbind use default domain = Yes
winbind refresh tickets = Yes
winbind nested groups = No
idmap config MYDOMAIN:backend = ad
idmap config MYDOMAIN:schema_mode = rfc2307
idmap config MYDOMAIN:range = 10000-20000
log file …Run Code Online (Sandbox Code Playgroud) MariaDB 有一个参数--character-set-client-handshake,它可以允许您指定服务器应忽略客户端连接指定的字符集。
在RDS上,当您为MariaDB v10.1实例创建参数组时,该参数可供自定义。但在 v10.2 和 v10.3 参数组上,它不存在。
MariaDB 不支持的 MariaDB 参数的 RDS 列表中也不存在此参数。
对此的搜索没有产生任何信息..我可以成为唯一一个在 RDS 上寻找 MariaDB v10.2 的字符集客户端握手参数的人吗?
我有一个托管在 aws EC2 上的网站。如果实例失败,我是否需要备份,或者亚马逊方面是否已经有足够的冗余?
我想让正在从另一个网站自动迁移网站的脚本能够将 Includes 附加到 /etc/httpd/conf.d/vhosts.conf 文件。
但是,当我尝试使用 echo 将字符串附加到文件末尾时,我得到了这个:
$ sudo echo "Include thing" >> /etc/httpd/conf.d/vhosts.conf
-bash: /etc/httpd/conf.d/vhosts.conf: Permission denied
Run Code Online (Sandbox Code Playgroud)
但我可以 vi /etc/httpd/conf.d/vhosts.conf,添加该行和 :wq 文件以保存并关闭它。
我错过了什么?
amazon-ec2 ×1
amazon-rds ×1
amazon-s3 ×1
aws-cli ×1
celery ×1
debian ×1
django ×1
docker ×1
gunicorn ×1
lets-encrypt ×1
linux ×1
mac-osx ×1
mariadb ×1
multi-core ×1
nginx ×1
redirection ×1
samba ×1
sudo ×1
systemd ×1