> 운영 및 유지보수 > 엔진스 > Forever와 nginx를 사용하여 Node 사이트를 배포하는 방법

Forever와 nginx를 사용하여 Node 사이트를 배포하는 방법

PHPz
풀어 주다: 2023-05-14 23:52:16
앞으로
1525명이 탐색했습니다.

스레드는 지속적으로 실행됩니다.

일반적으로 우리는 창 cmd에서 node index.js를 통해 서버를 시작합니다. 닫히지 않는 한 언제든지 인터페이스에 액세스하고 호출할 수 있습니다. 하지만 Linux에서는 오랫동안 운영하지 않거나 다른 작업을 수행하려는 경우 노드 서비스 연결이 끊어지고 사용자가 웹 사이트에 액세스할 수 없습니다. 무엇을 해야 할까요? 이 문제를 해결하기 위해 영원히 모듈을 설치할 수 있습니다.

npm install forever -g // 全局安装forever模块
로그인 후 복사

원래 시작 방법인 node index.js를 index.js를 영원히 시작하도록 변경하세요. 다음은 몇 가지 일반적인 명령입니다.

forever list // 列出当前所有运行的服务
forever start -w index.js // 文件改动自动重启
forever stopall // 停止所有服务
forever stop app.js //停止其中一个node app 
forever stop [id] // forever list 找到对应的id,然后
로그인 후 복사

물론 명령이 많지만 관련 모듈을 확인할 수 있습니다. 일반적으로 가장 간단한 사용 방법은 다음과 같습니다.

forever start index.js
로그인 후 복사

이렇게 하면 다른 Linux 경로로 전환하거나 종료하더라도 노드 서비스는 여전히 존재합니다. 즉, 다른 사람이 귀하의 웹 사이트에 계속 액세스할 수 있습니다.

Configuring nginx

nginx는 러시아인이 개발한 역방향 프록시 서버로 현재 전 세계 많은 회사에서 사용되고 있습니다. nginx 소개 및 설치에 대해서는 직접 정보를 확인하거나 초보자 튜토리얼을 방문하여 빠르게 학습할 수 있습니다. 내 Linux에는 여기에 nginx가 설치되어 있습니다.

이제 nginx를 사용하여 Forever start index.js로 시작된 http://localhost:8089를 프록시합니다. 즉, 내 도메인 이름: 8089를 통해 http://localhost에 액세스합니다. nginx 구성 파일 경로를 확인하세요

find / -name nginx.conf
로그인 후 복사

Forever와 nginx를 사용하여 Node 사이트를 배포하는 방법

내부를 전환하고 입력하여 구성을 수정하세요

 server {
  listen    80; # 监听端口 直接配置80即可
  server_name hellocode.xyz; # 输入域名会跳转到 http://localhost:8089
  include /etc/nginx/default.d/*.conf;
  location / {
   proxy_pass http://118.89.33.75:8089; # 你的node网站应用
  }
  error_page 404 /404.html;
    location = /40x.html {
  }
  error_page 500 502 503 504 /50x.html;
    location = /50x.html {
  }
}
로그인 후 복사

종료하고 구성이 올바른지 확인하세요

nginx -t
로그인 후 복사

Forever와 nginx를 사용하여 Node 사이트를 배포하는 방법

nginx를 다시 로드

nginx -s reload
로그인 후 복사

브라우저를 열고 URL을 입력하세요. 웹 사이트!

접속 과정에서 크로스 도메인 문제가 발생할 수 있으므로 크로스 도메인을 지원하도록 노드 측을 설정해야 합니다. Express 프레임워크의 경우 index.js

var allowcors = function(req, res, next) {
 res.header('access-control-allow-origin', req.headers.origin);
 res.header('access-control-allow-methods', 'get,put,post,delete,options');
 res.header('access-control-allow-headers', 'content-type');
 res.header('access-control-allow-credentials','true');
 next();
};
app.use(allowcors);//使用跨域中间件
로그인 후 복사
에서 미들웨어를 사용자 정의해야 합니다.

위 내용은 Forever와 nginx를 사용하여 Node 사이트를 배포하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:yisu.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿