我一直试图在a2hosting上部署我的网站一段时间,并通过从服务器上删除所有以前的项目文件,node.js文件和npm文件从头开始重新启动。
这是重启后我设置网站的步骤:
在Atom中创建一个项目,作为测试网站。 我用了 Keep Getting Error 503 - Node.js app on A2Hosting 作为.htaccess的示例。
我使用本指南中的a2hosting选择器制作了一个node.js应用,以获取http.createserver()代码 https://www.a2hosting.com/kb/cpanel/cpanel-software/create-application-with-nodejs-selector 并在获取代码后在选择器中删除了node.js应用。
使用以下命令安装了node.js和npm https://www.a2hosting.com/kb/installable-applications/manual-安装/在托管主机上的安装节点js帐户
根据以下条件设置权限: https://www.a2hosting.com/kb/developer-corner/apache-web-server/403-forbidden-error-message
现在,我可以转到我的网站网址,它向我显示了home.ejs。 问题在于它以纯文本形式显示,如下所示:
<%- include("partials/header") %>
<h1>Hello world</h1>
<%- include("partials/footer") %>
我的app.js看起来像这样:
// jshint esversion:6
const express = require("express");
const bodyParser = require("body-parser");
const ejs = require("ejs");
const app = express();
var http = require('http');
var server = http.createServer(function(req, res) {});
server.listen();
app.use(express.static("public"));
app.set('view engine', 'ejs');
app.use(bodyParser.urlencoded({
extended: true
}));
app.get("/", function(req, res){
res.render("home");
});
我的.htaccess文件如下:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ views/$home.ejs [NC,L]
RewriteEngine On
RewriteRule ^$ http://127.0.0.1:49555/ [P,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ http://127.0.0.1:49555/$1 [P,L]
DirectoryIndex views/home.ejs
我不确定是什么问题,我在Google上搜索了一下,但是没有找到解决问题的人。你能帮忙吗?