source

노드를 호스트하는 방법.공유 호스팅의 JS 응용 프로그램

manycodes 2023. 8. 19. 10:31
반응형

노드를 호스트하는 방법.공유 호스팅의 JS 응용 프로그램

노드를 호스트하는 방법.공유 호스팅의 JS 응용 프로그램

공유 호스팅에서 node.js 응용 프로그램을 호스팅하고 싶습니다.참고할 만한 자료나 서류가 있습니까?

Linux, Apache 및 PHP(LAMP)를 사용하는 일반적인 공유 호스트에서 node.js 서버를 실행할 수 있습니다.NPM, Express, Grunt가 정상적으로 작동해도 성공적으로 설치했습니다.다음 단계를 수행합니다.

다음 코드로 서버에 새 PHP 파일을 만들고 실행합니다.

<?php
//Download and extract the latest node
exec('curl http://nodejs.org/dist/latest/node-v0.10.33-linux-x86.tar.gz | tar xz');
//Rename the folder for simplicity
exec('mv node-v0.10.33-linux-x86 node');

npm을 사용하여 노드 앱(예: jt-js-sample)을 설치하는 것과 동일한 방법입니다.

<?php
exec('node/bin/npm install jt-js-sample');

PHP에서 노드 앱 실행:

<?php
//Choose JS file to run
$file = 'node_modules/jt-js-sample/index.js';
//Spawn node server in the background and return its pid
$pid = exec('PORT=49999 node/bin/node ' . $file . ' >/dev/null 2>&1 & echo $!');
//Wait for node to start up
usleep(500000);
//Connect to node server using cURL
$curl = curl_init('http://127.0.0.1:49999/');
curl_setopt($curl, CURLOPT_HEADER, 1);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
//Get the full response
$resp = curl_exec($curl);
if($resp === false) {
    //If couldn't connect, try increasing usleep
    echo 'Error: ' . curl_error($curl);
} else {
    //Split response headers and body
    list($head, $body) = explode("\r\n\r\n", $resp, 2);
    $headarr = explode("\n", $head);
    //Print headers
    foreach($headarr as $headval) {
        header($headval);
    }
    //Print body
    echo $body;
}
//Close connection
curl_close($curl);
//Close node server
exec('kill ' . $pid);

Voila! PHP 공유 호스팅의 노드데모를 보세요.

편집: 노드를 시작했습니다.GitHub의 php 프로젝트.

SSH에 연결하고 다음 지침에 따라 공유 호스트에 노드를 설치합니다.

즉, 먼저 NVM을 설치한 다음 NVM을 사용하여 선택한 노드 버전을 설치합니다.

wget -qO- https://cdn.rawgit.com/creationix/nvm/master/install.sh | bash

셸을 다시 시작합니다(세션을 닫았다가 다시 엽니다).그럼 너는

nvm install stable

예를 들어 최신 안정 버전을 설치합니다.원하는 버전을 설치할 수 있습니다.인확을 합니다.node --version는 " " " " 를 참조하십시오.nvm list설치한 항목을 확인할 수 있습니다.

은 매우 수 .nvm use <version>)

SSH가 있다면 PHP나 까다로운 해결책이 필요 없습니다.

다음을 사용하여 Node.js를 bluehost.com (공유 서버)에 설치했습니다.

wget <path to download file>
tar -xf <gzip file>
mv <gzip_file_dir> node

이렇게 하면 tar 파일을 다운로드하고 디렉토리로 압축을 푼 다음 해당 디렉토리의 이름을 '노드'라는 이름으로 변경하여 사용하기 쉽게 사용할 수 있습니다.

그리고나서

./node/bin/npm install jt-js-sample

Returns:
npm WARN engine jt-js-sample@0.2.4: wanted: {"node":"0.10.x"} (current: {"node":"0.12.4","npm":"2.10.1"})
jt-js-sample@0.2.4 node_modules/jt-js-sample
└── express@4.12.4 (merge-descriptors@1.0.0, utils-merge@1.0.0, cookie-signature@1.0.6, methods@1.1.1, cookie@0.1.2, fresh@0.2.4, escape-html@1.0.1, range-parser@1.0.2, finalhandler@0.3.6, content-type@1.0.1, vary@1.0.0, parseurl@1.3.0, serve-static@1.9.3, content-disposition@0.5.0, path-to-regexp@0.1.3, depd@1.0.1, qs@2.4.2, on-finished@2.2.1, debug@2.2.0, etag@1.6.0, proxy-addr@1.0.8, send@0.12.3, type-is@1.6.2, accepts@1.2.7)

이제 다음 명령을 사용할 수 있습니다.

# ~/node/bin/node -v
v0.12.4

# ~/node/bin/npm -v
2.10.1

보안상의 이유로 노드 디렉토리의 이름을 다른 이름으로 변경했습니다.

A2 호스팅은 공유 호스팅 계정에서 node.js를 허용합니다.저는 그들과 긍정적인 경험을 했다는 것을 보증할 수 있습니다.

다음은 Apache/LiteSpeed를 역방향 프록시로 사용하여 node.js를 설치하기 위한 기술 자료의 지침입니다. https://www.a2hosting.com/kb/installable-applications/manual-installations/installing-node-js-on-managed-hosting-accounts구성 설정에 30분 정도 소요되며, npm, Express, MySQL 등과 연동됩니다.

a2hosting.com 을 참조하십시오.

당신은 그러한 기능을 제공하지만 표준 단순 정적+를 제공하는 호스팅 회사를 찾아야 합니다.PHP+MySQL 호스팅에서는 node.js를 사용할 수 없습니다.

node.js용으로 설계된 호스팅을 찾거나 Virtual Private Server를 구입하여 직접 설치해야 합니다.

언급URL : https://stackoverflow.com/questions/24777750/how-to-host-a-node-js-application-in-shared-hosting

반응형