네이티브 nginx 서버가 레일 배포 조건을 충족하지 않으므로 승객이 다시 작성한 nginx를 사용해야 합니다.
ps:
- Rails가 요청을 수락하는 모델은 하나의 프로세스가 하나의 요청을 처리하는 것입니다. 일반적으로 여러 프로세스를 열어야 합니다.
- Passenger는 Rails 애플리케이션입니다. 레일 프로세스의 수와 수명을 균일하게 관리할 수 있는 서비스 관리 도구입니다.
- nginx는 링크 및 정적 리소스를 처리하는 능력이 뛰어나기 때문에 고성능 웹 서버입니다. nginx는 일반적으로 클라이언트 요청을 수락하기 위해 레일 앞에 배치됩니다
- 관계는 아래와 같습니다
![]()
탑승자를 설치합니다. nginx는 동적 모듈 로딩을 지원하지 않으므로 승객이 수정한 nginx를 컴파일 및 설치에 사용해야 합니다
<code> #安装passenger gem install passenger #接下来安装nginx passenger-install-nginx-module #ps:记得在安装过程中选择1,即完整安装 </code>
3. 설치가 완료되면 시스템에서 nginx가 설치된 디렉터리를 묻는 메시지가 표시됩니다. centos7에서는 기본적으로 /opt/nginx에 설치되며, 구성 파일은 기본적으로 /opt/에 설치됩니다. nginx/conf/nginx.conf
4. nginx 구성(가장 중요한 부분)
sudo nano /opt/nginx/conf/nginx.conf
<code> { worker_processes 1; events { worker_connections 1024; } http { #这里是由passenger自己设置的 passenger_root /usr/local/rvm/gems/ruby-2.2.1/gems/passenger-5.0.10; passenger_ruby /usr/local/rvm/gems/ruby-2.2.1/wrappers/ruby; include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server { #监听的端口 listen 80; server_name 127.0.0.1; #web根目录,一定是rails项目下的public root /var/www/furui_hisms/ironmine/public/; #一定要记得将这个选项设置为on passenger_enabled on; } } </code>
4. nginx를 시작하여 액세스합니다(예를 들어 Linux에서 내 블로그의 쉘 명령이 nginx 시작 및 중지를 사용함 참조).
5. 여러 nginx 명령
<code> #启动 sudo nginx #停止 sudo nginx -s stop #重启 sudo nginx -s reload </code>