Nginx + Mongrel + Rails 3.0 + Windows 배포
5724 단어 windows
그러나 이런 수요 가 존재 하 는 프로젝트 가 있 습 니 다. 플랫폼 요소 가 무시 할 수 없 으 니 하늘 을 거 슬러 갈 수 밖 에 없습니다.
사고: Nginx 는 전단 (nginx 가 windows 에서 성능 이 불안정 하고 각종 기묘 한 문제 가 발생 할 수 있 습 니 다. 땀 ~ ~) 을 실현 하고 SSL 단 방향 과 양 방향 인증 (서로 다른 클 라 이언 트 에 대해 서로 다른 인증 방식 을 제공 합 니 다.) 을 제공 하 며 정적 페이지, 이미지, js, css 파일 을 제공 하고 나머지 는 백 엔 드 의 Mongrel 로 대리 합 니 다.(일부 기능 이 실행 되 지 않 았 고 발표 할 때 도 developmen 모드 로 발표 되 었 습 니 다)
Mongrel 백 엔 드 서버 (왜 passenger 는 windows 버 전이 없 는 지, Mongre rails 는 rails 3.0 을 지원 하지 않 는 다. 자신 이 시도 할 때 매우 비극 적 이 라 고 느낀다)
STEP: 1. mongrel 설치
2. Mongrel 에 rails 등록 서 비 스 를 시작 합 니 다.
3. nginx 를 다운로드 하고 서 비 스 를 등록 합 니 다.
4. nginx 를 설정 하여 SSL 단일 양 방향 인증 과 대리 기능 을 실현 합 니 다.
Mongrel 설치
gem install mongrel
2. Mongrel 을 위해 rails 등록 서 비 스 를 시작 합 니 다.
1. 마이크로소프트 의 2 가지 도 구 를 다운로드: instsrv. exe, srvany. exe, 세부 사항 참조 3. nginx 를 다운로드 하고 서 비 스 를 등록 합 니 다.
2. rails 시작 을 위해 rails. bat 파일 을 작성 합 니 다. 내용 은 다음 과 같 습 니 다.
cd D:\WEB_APP\SVNMS
C:\ruby187\bin\rails s -p 3003 -b 127.0.0.1
#-b 127.0.0.1 은 127.0.0.1 만 연결 되 어 있 고 이 컴퓨터 만 접근 할 수 있 습 니 다. 전단 nginx 도 이 컴퓨터 에서 실행 되 기 때문에 nginx 만 직접 방문 할 수 있 고 외부 사용 자 는 nginx 를 통 해서 만 접근 할 수 있 습 니 다.
3. rails. bat 등록 서 비 스 를 위해 세부 사항 은 3. nginx 를 참고 하고 서 비 스 를 등록 합 니 다.
4. SVNMS. reg 파일 내용 은 다음 과 같 습 니 다.
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SVNMS]
"Description"="SVN Manager Sysetem: D:\\WebApp\\SVNS\\rails s -e development"
"DisplayName"="SVNMS"
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SVNMS\Parameters]
"Application"="D:\\WEB_APP\\rails.bat"
"AppParameters"=""
"AppDirectory"="D:\\WEB_APP\\SVNMS"
3. nginx 를 다운로드 하고 서 비 스 를 등록 합 니 다.
1. nginx 윈도 우즈 버 전 다운로드 http://www.nginx.org
2. 마이크로소프트 의 2 가지 도구 다운로드: instsrv. exe, srvany. exe 마이크로소프트 사이트 에 가서 설치 Windows Server 2003 Resource Kit Tools(rktools.exe), 를 다운로드 하 세 요. 제목 에 언급 된 모든 필요 한 도 구 를 포함 하여 다운로드 하고 설치 하 세 요.
3. 명령 실행 rktools 설치 디 렉 터 리 에서 (일반적으로 C: \ Program Files \ \ Windows Resource Kits \ \ Tools 디 렉 터 리 에서) 이 두 프로그램 을 발견 할 수 있 습 니 다. 아래 명령 을 실행 하기 전에 instsrv. exe, srvany. exe 를 nginx 설치 디 렉 터 리 에 복사 한 다음 실행 하 십시오.
instsrv NGINX c:
ginx\srvany.exe #
3. c: ginx \ 에서 ngix. reg 파일 편집
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NGINX\Parameters]
"Application"="C:\
ginx\
ginx.exe"
"AppParameters"=""
"AppDirectory"="C:\
ginx\\"
매개 변수 설명: application: exe 또는 bat 파일 의 절대 경로 AppParameters: 실행 매개 변수 AppDirectory: 작업 디 렉 터 리, 작업 할 때 현재 디 렉 터 리
4. 서 비 스 를 프로그램 과 연결 시 키 고 명령 행 을 실행 합 니 다.
regedit /s nginx.reg
5. nginx 스 크 립 트 start - nginx. bat 시작 편집 (스 크 립 트 를 닫 으 면 변 하지 않 음), 프로그램 을 서비스 방식 으로 실행 합 니 다.
@ECHO OFF
net stop nginx
net start nginx
EXIT
6. 서비스 삭제
sc delete SVNMS
보충: 그러나 Nginix 서 비 스 를 중단 한 후에 도 브 라 우 저 를 방문 하면 웹 사 이 트 를 볼 수 있 습 니 다. 프로 세 스 를 보면 Nginx 가 두 개의 nginx 프로 세 스 를 시작 한 것 을 알 수 있 습 니 다. (nginx. conf 설정 worker processes 에 따라 Fork 에서 나 온 프로 세 스 는 중단 되 지 않 았 습 니 다. 결 과 는 nginx 가 영원히 꺼 지지 않 습 니 다. 따라서 nginx 를 완전히 닫 으 려 면 taskkill 명령 을 사용 하 십시오.
taskkill /F /IM nginx.exe > nul
그 결과, nginx 가 멈 춘 모든 작업 을 처리 하기 위해 stop nginx 스 크 립 트 를 썼 습 니 다.
@echo off
echo Stopping nginx service...
net stop nginx
echo Kill nginx process...
taskkill /F /IM nginx.exe > nul
4. nginx 를 설정 하여 SSL 단일 양 방향 인증 과 대리 기능 을 실현 합 니 다.
server {
listen 8083;
server_name [email protected];
root D:/www-date/public;
location / {
root D:/WEB_APP/SVNMS/public;
#proxy
proxy_set_header Host $host:8083;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_pass http://127.0.0.1:3003/;
proxy_set_header X-Forwarded-Proto https;
proxy_redirect off;
}
#SSL
ssl on;
ssl_certificate E:/nginx/nginx-1.1.7/ssl/server.crt;
ssl_certificate_key E:/nginx/nginx-1.1.7/ssl/server_no.key;
ssl_client_certificate E:/nginx/nginx-1.1.7/ssl/ca.crt;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
참고: windows 아래 nginx + mongrel 설정
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
제한된 크기의 디렉토리를 만드는 방법오늘 저는 장치에 공간이 없을 때 백업 중에 응용 프로그램이 어떻게 작동하는지 테스트(및 수정)하는 작업이 있습니다. 결과적으로 "남은 공간 없음"오류로 백업이 실패하면 새 파일이 없어야 합니다. 지금까지 문제를 재...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.