编辑------------
所以我想出了问题,重新启动并重新加载nginx没有任何效果,但是如果我停止了nginx实例,然后重新启动它,我对服务器文件所做的任何更改都生效了。我明白这一点很棒,但是有人能让我深入了解这是为什么吗?如果我理解为什么会发生这种情况会更好。我对客户端文件(如html文件)所做的任何更改都会立即生效,只有服务器文件才能停止,然后重新启动nginx实例才能生效。
以下原文张贴----------------------
我使用express.js对我部署的Node.js应用程序的服务器端文件所做的任何更改都不会被ubuntu看到。基本上,我有一个在ubunut上部署的平均应用程序,它是一个多页面应用程序,只有其中一个页面有部分,所以我使用我的routes.js 捕获路由并将它们发送到我的main.js文件,告诉express和node要加载哪个html或ejs文件。
我对我的计算机上的版本进行了更改,以便所有其他路由都转到某个html,它运行良好。但我把我的更改推送到github,然后在我的ubuntu实例中将它们拉出来,但它没有工作。在此期间我对项目所做的所有其他更改都已生效。但是,就像ubuntu不让节点看到对routes.js文件的任何更改,代码就在那里,我甚至用“vim”修改了它。从我的终端,但我做的任何改变,甚至是那些应该破坏它的,都不会被节点看到。然后走向意想不到的路线显示“无法获得...”'页。
我已经摧毁了我的大脑,但是我很难过,代码就在那里我可以改变它,我通过vim改变了html页面来测试它。但是,处理我的路由的routes.js文件和我的server.js文件都没有反映我的更改,即使我改变应该破坏它的东西。有任何想法吗?如果您需要更多信息,请告诉我,我已将我的文件包含在下方。此外,我使用nodemon,以便在任何时候进行更改时自动重新启动
SERVER.JS FILE -------------------------------
var express = require('express'),
app = express(),
path = require('path'),
bodyParser = require('body-parser')
app.use(bodyParser.urlencoded({extended: true}))
app.use(bodyParser.json())
app.use(express.static(path.join(__dirname, './client')))
app.use(express.static(path.join(__dirname, './client/views')))
app.use(express.static(path.join(__dirname, './bower_components')))
app.set('views', path.join(__dirname, './client'));
app.set('view engine', 'ejs');
require('./server/config/routes.js')(app)
var port = 8000
app.listen(port, function(){
console.log('Server on port: ' + port)
})
ROUTES.JS FILE -----------------------------
var Main = require('../serverControllers/main.js')
module.exports = function(app){
app.get('/', Main.main)
app.get('/contact', Main.contact)
app.get('/algorithms', Main.algorithms)
app.get('/projects', Main.projects)
app.get('*', Main.other)
app.use(Main.other)
}
MAIN.JS FILE ----------------------
module.exports = {
main: function(req, res){
res.render('index')
},
contact: function(req, res){
res.render('contact')
},
algorithms: function(req, res){
res.render('algorithms')
},
projects: function(req, res){
res.render('projects')
},
other: function(req, res){
res.render('default')
},
}