我是从 Linux 转向 freeBSD 的新手。
我读到有关 jail 的文章,该解决方案听起来非常适合服务器系统。 所以我对我的网络服务器的想法是创建 3 个 jail 。 mysql 一个jail,nginx 一个jail,php-fpm 一个jail。 现在 jail 必须相互通信。我该怎么做?
通过 IP?这将是一个很大的开销,但很安全。 这是一个例子:
- 客户
- -> TCP/IP -> NGINX
- -> TCP/IP -> PHP-FPM
- -> TCP/IP -> MYSQL
- -> TCP/IP -> PHP-FPM
- -> TCP/IP -> NGINX
- -> TCP/IP -> 客户端
使用套接字:那将是一个安全损失..
- 在主机系统上创建一个目录
- 在 jail 中创建一个目录
- 合并目录
您使用哪种解决方案?或者您有更好的解决方案?
最佳答案
我不会将 php-fpm 分开,但这是可能的。现在 IP 通信的开销不是那么大,考虑到数据库和 php 处理器需要进行的处理要大得多,也不是那么重要。特别是因为没有涉及实际的电线。数据包通过环回结构通过接口(interface)进行路由,不会命中线路。
分离的优势在于,如果需要,您可以将 jail 移动到另一台物理机器,并且移动 jail 是轻而易举的。
要澄清为什么不将 php-fpm 移到单独的 jail 中,是因为修改网站成为静态内容(图像)和动态内容(php 文件)的两个任务过程。优点是网络服务器软件的漏洞无法修改 php 代码。这也是为什么你不应该 nullfs如果您打算分开,您的 PHP 代码将被放到网络服务器 jail 中,因为它会破坏它的优势。
关于sockets - FreeBSD jail 和套接字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5951463/