질문
PHP(PHP-FPM)와 Nginx를 서로 다른 감옥으로 분리하고 싶습니다. 한 감옥은 Nginx를 사용하고 다른 감옥은 PHP-FPM/PHP/Wordpress를 사용합니다.
Nginx는 정적 자산을 제공하는 데 능숙하므로 Nginx를 사용하여 직접 제공하고 싶었습니다. 한 감옥에서 다른 감옥으로 폴더를 마운트하는 방법(읽기 전용)?
또한 다른 감옥에 Nodejs 애플리케이션이 있으므로 Nginx를 사용하여 정적 리소스를 직접 제공하고 싶습니다.
부가 질문: 동일한 서버에서 여러 PHP 사이트를 호스팅하는 경우. 모든 감옥에 모든 웹 애플리케이션을 설치하려면 모든 감옥에 PHP/PHP-FPM을 설치해야 합니까?
정보
- 버전: FreeBSD 10.2
- 파일 시스템: ZFS의 루트
원천
mount_nullfs 사용에 대한 블로그를 찾았습니다. 하지만 호스트와 감옥 사이가 아닌 감옥 사이에서 사용할 수 있습니까?
답변1
nullfs
감옥에 호스트 파일 시스템의 일부에 대한 읽기 전용 액세스 권한을 부여하는 데 사용할 수 있습니다. 모든 감옥은 호스트의 파일 시스템 내에 위치하므로 감옥 간 액세스에 대한 아이디어는 논쟁의 여지가 있습니다.
내 시스템에는 (어려운 방법으로 감옥에 갇혔습니다) 다음 지침이 있습니다 /etc/jails.conf
.
mount.fstab = "/etc/fstab.${name}";
이는 fstab
다음과 같은 내용을 포함하는 각 감옥에 대해 별도의 s가 있음을 의미합니다.
/jail/base /jail/somejail/base nullfs ro 0 0
분명히 감옥, 프로세스 및 응용 프로그램의 묘사에 관한 일련의 논쟁이 있습니다. 개인적으로 저는 애플리케이션을 단일 Jail에 보관한 다음 (다른) nginx
Jail을 사용하여 모든 애플리케이션 Jail을 역프록시하는 것을 좋아합니다. ZFS와 감옥당 하나의 응용 프로그램을 사용하면 여러 버전의 스택을 동시에 관리하고, 새 버전을 테스트하고, 필요한 경우 롤백하는 것이 매우 쉽습니다. 결론적으로 나는 모든 애플리케이션 감옥(정적 및 동적 콘텐츠 모두 포함) nginx
과 .php-fpm