데비안에는 여러 버전의 Nginx가 있습니다

데비안에는 여러 버전의 Nginx가 있습니다

apt-get내 프로덕션 환경(Debian Jessie)을 실행하는 표준 버전의 Nginx(설치를 통해)가 있습니다 .

이제 소스에서 최신 버전의 Nginx를 컴파일하고 테스트용 추가 모듈을 추가하고 싶습니다. 실행 파일은 어디에나 있을 수 있지만 실수로 프로덕션 버전을 덮어쓰지 않도록 하고 싶습니다.

알아요:cdnginx 소스 디렉터리로 이동하여 다음을 실행 해야 합니다 .

./configure --add-module=/path/to/some/module
make
make install

내가 모르는 것은:프로덕션 버전 위에 테스트 버전이 설치되지 않았는지 확인하는 방법 또는 내가 지정한 특정 위치에 설치하는 방법.

(make의 매뉴얼 페이지를 읽어보았지만 결정적인 답변을 얻지 못했습니다. 소스에서 컴파일하는 데 경험이 없습니다.)

답변1

대신 설치 대상을 ./configure옵션 으로 지정할 수 있습니다 make. 기본적으로 nginx는 자체적으로 접두사를 구성하므로 /usr/local/nginx패키지 버전을 덮어쓸 위험이 없으며 사용자가 직접 경로를 지정할 수 있습니다.

./configure --prefix=/your/installation/path

기본 nginx 설정은 접두사 외부의 파일을 설치하지 않습니다.예를 들어존재하다 /etc.

설치 과정은 다음 문서에 설명되어 있습니다.nginx 웹사이트.

소프트웨어를 소스에서 설치해도 안전한지 확인하는 일반적인 전략은 다음을 실행하는 것입니다.설치하다단계 및 -n옵션(Make가 실제로 아무것도 하지 않도록 지시함):

make -n install

모든 작업이 나열됩니다.회의실제 설치가 완료되었습니다. (일부 빌드 시스템에서는 후속 설치 단계가 이전 설치 단계의 변경 사항에 의존하기 때문에 이 옵션이 중단됩니다. nginx의 빌드는 잘 작동합니다.)

물론 프로덕션 시스템을 건드리기 전에 먼저 다른 시스템에서 소스 빌드 및 설치 단계를 시도해야 합니다.

답변2

./configure다음 옵션을 사용하여 실행 해야 합니다 --sbin-path=.

--sbin-경로=경로— nginx 실행 파일의 이름을 설정합니다. 이 이름은 설치 중에만 사용됩니다. 기본적으로 파일 이름은 prefix/sbin/nginx.

답변3

또 다른 아이디어는안시푸르구성합니다. 그런 다음 새 가상 머신을 생성할 수 있습니다(예:도보 여행가) 그리고 Ansible 구성을 롤아웃합니다(소위스크립트).

관련 정보