ubuntu - 通过 passenger-install-nginx-module 安装的 nginx 和直接安装的 nginx 有什么区别?
PHP中文网
PHP中文网 2017-04-22 08:55:48
0
2
865

系统中的 nginx 是这样安装的

sudo apt-get install nginx

安装了passenger后

gem install passenger

还需安装nginx module才能在nginx中配置使用它。在安装时

passenger-install-nginx-module

提示

Automatically download and install Nginx?

Nginx doesn't support loadable modules such as some other web servers do,
so in order to install Nginx with Passenger support, it must be recompiled.

Do you want this installer to download, compile and install Nginx for you?

 1. Yes: download, compile and install Nginx for me. (recommended)
    The easiest way to get started. A stock Nginx 1.4.4 with Passenger
    support, but with no other additional third party modules, will be
    installed for you to a directory of your choice.

 2. No: I want to customize my Nginx installation. (for advanced users)
    Choose this if you want to compile Nginx with more third party modules
    besides Passenger, or if you need to pass additional options to Nginx's
    'configure' script. This installer will  1) ask you for the location of
    the Nginx source code,  2) run the 'configure' script according to your
    instructions, and  3) run 'make install'.

Whichever you choose, if you already have an existing Nginx configuration file,
then it will be preserved.

【问题1】这样再次安装nginx的话,和原来的版本没有冲突吗?

直接安装的nginx的启动方法是

sudo service nginx start
sudo service nginx restart
sudo service nginx stop

通过 passenger-install-nginx-module 安装的nginx的启动方法是

sudo nginx
sudo nginx -s reload
sudo nginx -s stop

【问题2】为什么会有这样的区别呢?

【问题3】在已经存在nginx的系统中,有其它方式安装passenger的nginx module吗?

PHP中文网
PHP中文网

认证0级讲师

모든 응답(2)
阿神
  1. 전자가 시스템의 통합 서비스 스크립트를 사용하여 시작한다는 점을 제외하면 nginx의 두 가지 시작 방법 자체는 크게 다르지 않습니다. 그러나 설치 방법에 따라 둘 다 동일한 nginx 설치를 사용하고 있는지 확실하지 않습니다. 판단 방법: /etc/init.d/nginx 스크립트의 내용을 확인하고, 약 22줄을 보고 nginx 경로 설정이 무엇인지, 두 번째로 직접 시작한 nginx와 동일한 경로인지 확인한다. 또한 NGINX_CONF_FILE 경로가 일치하는지 확인하세요

  2. 이유는 없습니다. 서비스 모드를 사용하지 않고 nginx 명령으로 직접 조작할 수 있지만 전자가 더 편리하고 관리가 통일되어 있습니다. Linux는 부팅 시 자동으로 시작되며 일반적으로 서비스 스크립트를 호출합니다.

  3. 네, 하지만 재컴파일 과정을 거쳐야 합니다. 하지만 이전 nginx 설치의 소스 코드가 어디에 있는지 알아야 합니다(직접 컴파일하고 설치하는 것은 쉽습니다. apt-get으로 설치하면 소스 코드가 유지되는지 알 수 없습니다). 소스 코드 위치를 알고 있으면 위에 있습니다. "Nginx를 자동으로 다운로드하고 설치하시겠습니까?"에서 2. No: I want to customize my Nginx installation.를 선택하면 설치 스크립트에서 이전 소스 코드 위치를 선택하라는 메시지를 표시하고 이전 소스 코드의 매개변수를 추가합니다. 구성(nginx -V이 표시됨)하고 프롬프트에 따라 다시 수행합니다.

1번을 기준으로 판단하면 두 nginx의 실제 경로가 동일하다면 서비스 스크립트를 직접 시작하는 것이 좋습니다.

迷茫
  • passenger-install-nginx-module을 통해 설치된 nginx는 원본과 충돌이 없습니다. 이는 다른 디렉토리에 다른 nginx를 설치하는 것과 같습니다.

  • 이런 차이가 나는 이유는 하나는 서비스 시작 스크립트이고 다른 하나는 직접 프로그램이기 때문입니다.

  • 이미 nginx가 설치되어 있는 시스템이라면 반드시 승객을 설치할 수 있습니다

문서를 더 읽어보면 그런 질문을 할 필요가 없습니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿