我正在练习NodeJS并试图通过FTP上传登陆页面,但它不能在线工作。有谁知道我们是否需要做一个特殊的配置来将网站上传到网上?
在我的本地主机中它完美运行。当它上线时会出现问题。
它只是显示:
Index of /landing
[ICO] Name Last modified Size Description
如果我导航到路径EX:'website.com/views/index.ejs',文件就在那里,但没有样式或脚本。
我在视图下的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>
我确定我错过了一些东西但却找不到。
这是我在server.js上的代码:
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);
});
如果有人可以提供帮助,我将不胜感激。
答案 0 :(得分:0)
我很确定您的节点应用程序没有运行,您需要一台能够运行nodejs应用程序的服务器,不确定ftp是否可以正常运行,但我通常使用VPS。一旦你拿到服务器:
拉你的代码
输入您的项目文件夹
$ cd someproject
运行此节点命令
$ node index.js
访问服务器(您可以使用ip ex:http://203.120.100.113:8000)
利润
节点index.js ???利润
答案 1 :(得分:0)
首先将您的端口更改为22,因为它是用于发出ftp请求的默认端口。接下来,您必须将路由器上的端口转发到运行服务器的计算机上。它只是告诉您的路由器端口22上的请求应该到达本地网络上的特定计算机。您可以轻松地在路由器上执行此操作。您可以使用您的公共IP地址访问您的ftp服务器,您可以谷歌搜索您的公共IP地址,然后像这样使用它, ftp://xx.xx.xx.xx其中xx.xx.xx.xx是您的公共IP地址。