2017-10-26 3 views
0

NodeJS를 연습 중이며 FTP를 통해 방문 페이지를 업로드하려고하지만 온라인으로 작동하지 않습니다. 우리는 웹에 웹 사이트를 업로드하기위한 특별한 설정을해야만하는지 아는 사람 있습니까?NodeJS는 로컬 호스트에서 작동하지만 온라인에서는 작동하지 않습니다.

내 로컬 호스트에서 완벽하게 작동합니다. 온라인으로 갈 때 문제가 발생합니다.

그냥 보여줍니다

내가 경로 EX : 'website.com/views/index.ejs'로 이동 한 경우
Index of /landing 

[ICO] Name Last modified Size Description 

파일이 존재하지만 스타일이나 스크립트입니다.

내가보기 아래 EJS 파일에이 전화 해요 :

<!-- Bootstrap core CSS --> 
    <link href="/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet"> 
    <link href="https://fonts.googleapis.com/css?family=Kanit" rel="stylesheet"> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script> 
    <!-- Custom styles for this template --> 
    <link href="/style.css" rel="stylesheet"> 
    <script src="/server.js"></script> 

나는 내가 뭔가를보고 싶어하지만 방법을 찾을 수 없습니다 확신합니다. 사람이 도움을 줄 수

var express = require('express'); 
var path = require('path') 
var bodyParser = require('body-parser'); 
var app = express(); 
app.set('views', __dirname + '/views'); 
app.set('view engine', 'ejs'); //extension of views 
app.use(bodyParser.urlencoded({ extended: false })); 
app.use(express.static(__dirname + '/css')); 
app.use(express.static(__dirname + '/js')); 
app.use(express.static(__dirname + '/node_modules')); 
app.use(express.static(__dirname + '/img')); 


//mysql 
var mysql = require('mysql'); 
var pool = mysql.createPool({ 
    connectionLimit : 100, //focus it 
    host : 'mydb', 
    user : 'mydb', 
    password : 'mydb', 
    database : 'mydb' 


}); 

//opening view 

app.get('/', function(req,res){ 
    res.render('index'); 
}); 

//insert data 
app.post('/insert', function(req,res){ 

    pool.getConnection(function(error,conn){ 

     var queryString = "insert into leads(email,name) values('"+req.body.femail+"','"+req.body.fname+"')"; 

     conn.query(queryString,function(error,results){ 
      if(error) 
       { 
        throw error; 
       } 
      else 
       { 
       res.send('Inserted Successfully!') 
       } 

     }); 
     conn.release(); 
    }); 


}); 


//start server 

var server = app.listen(8000, function() { 

    var host = server.address().address 
    var port = server.address().port 

    console.log("Example app listening at http://%s:%s", host, port); 

}); 

경우 내가 이해할 수있을 고원 :

이 server.js에 내 코드입니다.

답변

0

노드 애플리케이션이 실행되고 있지 않다는 확신이 들지만 nodejs 앱을 실행할 수있는 서버가 필요합니다. FTP가 작동하는지는 모르지만 일반적으로 VPS를 사용합니다. 서버를 일단 :

  1. 이 자식

  2. http://github.com/someone/someproject.git 프로젝트 폴더

    $의 CD를 someproject를 입력 끌어 코드 당겨 노드

  3. 설치 자식을 설치

  4. 이 노드 명령을

  5. 액세스 (당신은 IP의 예 사용할 수 있습니다 : http://203.120.100.113:8000) 서버하는 index.js

    $ 노드 실행

  6. 을 ???
  7. 이익

    노드하는 index.js ??? 이익

+0

ftp로 업로드하여 웹 사이트 폴더에 게시하려고합니다. 정말 그럴까요? – spaceman

+1

서버에 대한 자세한 정보를 제공해야합니다.노드 서버는 에코 시스템이 아닌 서버 모듈을 사용하여 서버를 생성합니다. Express.js를 사용하면 쉽게 사용할 수 있습니다. 따라서 호스팅 설정에 대한 자세한 정보를 제공하고 일부 데몬 프로세스가 aws에서 탄력적 인 beanstalk와 같은 노드 서버를 시작하는 경우 처리합니다. –

+0

나는 hostgator를 사용하고있다. – spaceman

0

먼저 포트를 22로 변경하십시오.이 포트는 ftp 요청을 작성하는 데 사용되는 기본 포트이므로 22로 변경하십시오. 다음으로 라우터에서 서버를 실행중인 컴퓨터로 포트를 포워드해야합니다. 포트 22의 요청이 로컬 네트워크의 특정 컴퓨터에 도달해야한다는 것을 라우터에 알리는 것입니다. 라우터에서 쉽게 할 수 있습니다. 그런 다음 공개 IP 주소를 사용하여 ftp 서버에 액세스 할 수 있습니다. 공개 IP 주소를 google 검색하여 다음과 같이 사용할 수 있습니다. ftp://xx.xx.xx.xx 여기서 xx.xx.xx.xx는 공개 IP 주소입니다.

관련 문제