在决定是独立运行 Jenkins 还是在 Tomcat 中运行时,应该考虑哪些因素?我们宁愿不必使用 Tomcat,因为在这台服务器机器上没有其他需要 Tomcat 的应用程序,所以我们将为 Jenkins 设置和维护另一个应用程序。
但是在 Tomcat 中运行 Jenkins 肯定有一些优势,否则为什么不是每个人都选择独立运行它(因为它更容易设置和维护),那么这些优势是什么?独立运行而不使用 Tomcat 会丢失什么?
Jenkins 安装的大小是否会影响决策?即在一定数量的作业/构建或加载后是否有必要从一个移动到另一个,或者小型和大型 Jenkins 安装对于这两种选择是否同样有效?
Jenkins 独立使用 Winstone servlet 引擎,所以在某些方面这个问题也是关于 Winstone vs Tomcat。
安全原则说,如果其他人可以物理访问一台机器,那么就没有安全/隐私。我想知道在我想要一个带有全盘加密的托管虚拟专用服务器 (VPS) 的情况下的一些示例。在安装 Ubuntu 时,您可以选择设置这种加密,其中您的每个分区(root、home、swap 等)都在一个大的 LUKS 加密卷中。
假设您没有在此 VPS 上设置自动输入 LUKS 密码(而是在每次重新启动时通过 SSH 手动输入,使用创造性的解决方案,如https://unix.stackexchange.com/questions/5017/ssh-to -decrypt-encrypted-lvm-during-headless-server-boot),以便其他人尝试重新启动您的系统必须知道密码。
这种解决方案有哪些安全或隐私风险?VPS 托管公司的员工或某些中间人能否以某种方式访问您的数据?当然他们可以随时拍摄整个服务器的快照,但是为了启动它,他们需要密码,那么他们如何访问图像中的内容?
他们能以某种方式窥探 SSH 密钥或加密密码吗?
因为他们在托管 VPS 实例的物理机器上拥有 root 权限,所以他们怎么可能在我的 VPS 上获取 root 权限?
他们可以记录通过 SSH 发送到 VPS 的击键吗?如果 SSH 只保护通信,直到它在服务器上被解密,那么他们能看到您实际发送到服务器的内容吗?
我假设您的服务器正在运行时可能会损坏,而不是在服务器关闭时,对吗?那么当服务器运行时(在你已经输入了 LUKS 密码之后),他们能做什么?如果他们拍摄了您的系统的快照,他们可以用它做什么?
只是试图通过在其他人可以物理访问的服务器(即 VPS)上进行全盘加密来了解我获得的安全/隐私与我没有获得的安全/隐私。
我有一个 syslog 服务器localhost:514
作为 UDP监听,并想在该端口上向它写入消息。(使用 Ubuntu 14.04)
如果我从 bash 运行这些命令中的任何一个,它会每 2 秒将日期打印到 syslog
# Using netcat
while true; do sleep 2; date; done | nc -u localhost 514
# Using /dev/udp
while true; do sleep 2; date; done > /dev/udp/localhost/514
Run Code Online (Sandbox Code Playgroud)
现在只是为了测试一些东西,我杀死了系统日志服务器,然后在几秒钟后启动它。
当 syslog 进程停止时,该/dev/udp
命令每 2 秒向控制台打印一条错误消息,因此它识别出没有localhost:514
可写入的内容。
date: write error: Connection refused
Run Code Online (Sandbox Code Playgroud)
一旦 syslog 返回,这些连接被拒绝的消息就会停止,并继续将日期写入 syslog。这正如预期的那样。
但是 netcat 命令不会这样做。当 syslog 进程停止时,它不会将任何输出打印到控制台。当 syslog 返回时,它不会继续将日期写入 syslog。
为什么重新启动 syslog 时 netcat 不会继续写入 localhost:514?我怎样才能让 netcat 像/dev/udp
这个例子中那样表现?
对于使用 nginx 作为缓存代理,有没有一种方法可以配置 2 个上游服务器,使其始终尝试第一个上游服务器,除非该服务器返回 404,并且只有在这种情况下它才会尝试第二个上游服务器?
我知道backup
上游配置块中的选项,但只有在第一个服务器不可用时才尝试该服务器。我说的是第一台服务器是否可用,但只是特定请求的文件返回 404。
我通过 SSH 管理了大约 10 个远程服务器,我通常只是通过 SSH 连接到每个服务器来执行远程管理任务。这要求我在每台服务器上复制我的许多点文件(如 .zshrc、.vimrc),以便我在每个服务器上都有统一的体验。因此,对这些文件之一进行更改意味着将其分发到所有服务器(最坏的情况是手动,最好的情况是使用诸如 Ansible 之类的配置工具)。
但是,如果我要使用 NFS、SSHFS、Samba 或其他东西将所有这些服务器的根文件系统挂载到我的本地工作站上(例如 /mnt/servers/server1/、/mnt/servers/server2/ 等) ,那么这会消除在这些服务器中的每一个之间共享和复制点文件的需要吗?
因为我使用的是本地 shell 和 Vim,所以只使用了本地 .zshrc 和 .vimrc。如果我需要在 server3 上编辑 /etc/hosts,我会从我的本地工作站 'vi /mnt/servers/server3/etc/hosts' 编辑主机文件。
这会消除在我管理的所有服务器之间同步我的点文件的需要吗?