SSH를 사용하여 포트를 사용하는 Cpanel에 Node 또는 React App을 배포하는 방법은 무엇입니까?
따라서 cpanel과 ssh를 통해 웹 호스팅 서버에 node/react 앱을 배포하는 방법을 배우려고 합니다.
1단계: 노드 앱 만들기
cpanel로 이동하여 찾으십시오.
해당 아이콘을 클릭하면 다음 페이지가 표시됩니다.
"응용 프로그램 만들기"를 클릭합니다.
다음 화면이 나타납니다:
정보를 입력하십시오.
Application Root is the folder/directory for this node/react app
Application URL is the url which corresponds to this directory. It is the url where node/react app will be hosted.
Application Startup File is the file which is the very first file to run. This is mostly "index.js" in node and react case.
이제 노드 애플리케이션을 설정했습니다.
2단계: 파일 업로드
위에서 애플리케이션 루트 폴더로 정의한 것과 동일한 폴더에 노드/반응 파일을 업로드해야 합니다.
Go to cPanel --> File Manager --> myfirstnodeapp (in this case)
이것은 노드/반응 앱의 루트 폴더입니다. 브라우저를 통해 직접 업로드하거나 FTP 계정을 통해 모든 노드/반응 파일(node_modules 제외)을 이 폴더에 업로드합니다.
모든 파일 업로드가 완료되면 다음 단계로 이동합니다.
3단계: .htaccess 파일 설정
노드/리액트는 웹 호스팅 서버의 포트를 사용하기 때문에 .htaccess 파일을 편집하여 일부 설정을 수행해야 합니다.
Find and edit .htaccess file in your application root folder
Copy and paste the below code at the top of .htaccess file.
DirectoryIndex disabled
RewriteEngine On
RewriteRule ^$ http://127.0.0.1:12345/ [P,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ http://127.0.0.1:12345/$1 [P,L]
Change the "12345" to the port where your application will run.
Web hosting sites allow some specific range of ports where your application can run. For example A2 hosting allows you to use port from 30000 to 50000.
127.0.0.1은 루프백 IP입니다. 따라서 위의 코드는 기본적으로 지정된 포트 번호를 사용하여 Node/React 애플리케이션 URL로 오는 모든 요청을 자체적으로 리디렉션합니다.
4단계: 패키지 설치
노드 애플리케이션 설정으로 돌아갑니다. 1단계에서 했던 것처럼.
방금 만든 노드 응용 프로그램의 편집 아이콘을 클릭합니다.
아래로 스크롤하면 NPM 실행 버튼이 표시됩니다.
해당 버튼을 클릭하면 모든 프로젝트 패키지/node_modules가 설치됩니다.
If you cannot find "NPM Run" button, That is probably because you do not have package.json file in your application root folder. Ensure that you have package.json file in your application folder and then move ahead.
Package.json 파일은 노드/리액트 애플리케이션에 필요한 패키지에 대한 정보가 포함된 파일입니다.
성공 메시지가 표시될 때까지 기다리십시오.
If you do not get successful message, or if error message shows up. Run NPM again.
Keep in mind that you should not click on "Start Application". Because web hosting sites do not recommend starting a node/react application from cPanel. We need to start it from SSH terminal.
If you mistakenly started it, no worries, we will turn it off from SSH terminal.
5단계: SSH 터미널 시작
터미널을 열고 다음 명령을 작성하십시오.
ssh -p <port for ssh> <username>@<hostname>
그리고 Enter 키를 누릅니다.
is the port that your web hosting server allows ssh clients to connect. Default port for ssh is 22 but some web hosting services specify some other port. As of A2 Hosting, it allows ssh at 7822
is your username at web hosting server
is the name of the host of your web hosting server.
이러한 정보는 계정 정보에서 찾을 수 있습니다.
다음으로 터미널에서 비밀번호를 묻고 계정 정보에 제공된 비밀번호를 입력합니다.
6단계: SSH 터미널에서 애플리케이션 시작
계정에서 ssh 서버에 로그인하면. 우리는 그것에 접근할 수 있습니다.
Run "ls" command in your terminal to see all the folders/directories
node/react 앱 루트 폴더로 만든 폴더를 찾을 수 있습니다.
Run "cd myfirstnodeapp" command in your terminal.
이렇게 하면 node/react 앱이 있는 작업 디렉토리가 "myfirstnodeapp"로 변경됩니다.
If you made the directory with different name, use that name instead of "myfirstnodeapp".
이제 다음 명령으로 node/react 애플리케이션을 실행하기만 하면 됩니다.
Node:
PORT=<port we defined in .htaccess> nohup node index.js &
React:
PORT=<port we defined in .htaccess> nohup npm start &
npm에 액세스할 수 없는 경우 다음 명령을 실행하여 반응 앱을 시작할 수 있습니다.
React:
PORT=<port we defined in .htaccess> nohup node node_modules/react-scripts/bin/react-scripts.js start &
nohup은 터미널에서 명령 출력을 허용하지 않는 데 사용됩니다.
&는 터미널 차단을 허용하지 않는 데 사용됩니다. 꼭 필요한 명령어입니다. 이를 입력하지 않으면 터미널이 차단되고 해당 지점에서 터미널을 벗어나면 노드/리액트 애플리케이션 실행이 중지됩니다.
마지막으로 종료 명령을 입력하십시오. 이렇게 하면 ssh 터미널을 올바르게 종료할 수 있습니다.
자신의 터미널을 종료하려면 exit를 다시 실행하십시오. 그러면 터미널이 닫힙니다.
알아야 할 몇 가지 추가 명령
To see your node application running you can use the following command:
ps -aef | grep node
첫 번째 출력은 실행 중인 내 노드 애플리케이션입니다.
두 번째 출력은 실행 중인 내 반응 애플리케이션입니다.
마지막 출력은 실제로 실행 중인 노드 애플리케이션이 아니라 실행 중인 "ps -aef | grep node"명령입니다.
애플리케이션 실행을 중지하려면 다음 명령을 실행할 수 있습니다.
kill -9 <process ID>
이 명령은 실수로 cPanel에서 node/react 앱을 시작한 경우에도 유용합니다. 그래서 여기서 멈출 수 있습니다.
실행 중인 모든 노드 애플리케이션을 중지하려면 다음 명령을 사용하십시오.
pkill node
이 명령은 현재 웹 호스팅에서 실행 중인 모든 노드/반응 앱을 중지합니다.
이 기사가 도움이 되었기를 바랍니다. 질문이 있으시면 아래에 의견을 말하십시오.
나를 따르라.
내 포트폴리오here를 방문할 수 있습니다.
Reference
이 문제에 관하여(SSH를 사용하여 포트를 사용하는 Cpanel에 Node 또는 React App을 배포하는 방법은 무엇입니까?), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/husnain/how-to-deploy-node-or-react-app-on-cpanel-which-uses-a-port-using-ssh-a5b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)