Вопрос по серверу на VPS
Всем здравствуйте.
Есть сайт psihotip.fincult.ru на VPS Всё работало отлично, но буквально недавно сайт снова перестал работать. Ошибку выдает ERR_CONNECTION_REFUSED и иногда ERR_EMPTY_RESPONSE, как и в прошлый раз. В прошлый раз такое было и нам помогли 3 команды Ввели http://joxi.ru/v294ZDyfZpMzEm , но сайт так и не заработал (хотя эти команды в автозагрузку прописаны rc.local) Подскажите, пожалуйста, вы не знаете в чем причина? P.S. 80 порт слушает http://joxi.ru/Dr8v819FoMGzk2 Спасибо заранее |
На первом скриншоте видно, что процесс "споткнулся" об выброшенное исключение, наименование файла и строка также присутствуют.
|
Ничего не обещаю, но...
На первом скриншоте видно (как я понял, во всяком случае), что запускается кластер, т.е. несколько штук приложений ("инстансов"). Сколько? Еслиф это так, то хотелось бы увидеть это место в коде "главного файла" (app.js или как он у вас называется). (примеч: если это не так - то и ладно, значит, я понял не правильно) А, и ещё. Как запускается приложение - командой от node ... или дебильной npm start? И чем оно запускается (от forever, pm2 или ещё чего)? |
Цитата:
А найти человека, который бы помог оказалось не так просто |
В каких "моментах"?
Код приложения есть? -- Ну такая папка, в которой много папок, а в самом низу несколько штук файлов. Если есть - покажите файл app.js (или, возможно, он называется server.js). Если нет - я пошёл опохмеляться. |
Вот код файла server.js
const
express = require('express'),
bodyParser = require('body-parser'),
cors = require('cors'),
mngs = require('mongoose'),
work = require('./app/work'),
validData = require('./app/validation'),
sendCourse = require('./app/getcourse/send'),
createExcel = require('./app/excel/create'),
saveUser = require('./app/excel/seeder'),
redirect = require('./app/redirect'),
rmdb = require('./app/excel/remove'),
hbs = require('hbs'),
newStat = require('./app/statistics/create'),
updateStat = require('./app/statistics/update'),
createStat = require('./app/statistics/excel'),
app = express(), server_port = 80
mngs.connect(require("./app/database"), { useMongoClient: true })
let order = 0
app.set('views', __dirname + '/public')
app.set('view engine', 'hbs')
hbs.registerHelper('check', (val1, val2, option) => val1 === val2 ? option.fn(this) : option.inverse(this))
app.use(cors())
app.use(bodyParser.json())
app.use(bodyParser.urlencoded({ extended: true }))
app.use(express.static(__dirname + '/public'))
app.use(express.static(__dirname + '/excel'))
app.get('/', (req, res) => {
let qr = req.query, result = qr.result, sex
if (result !== undefined) {
sex = result[0] === 'm' ? 1 : 0
} else sex = 0
const utm = {
source: qr['utm_source'],
medium: qr['utm_medium'],
campaign: qr['utm_campaign']
}
order = 1 - order
const version = order + 1
newStat({ done: false, version })
.then(id => res.render('index', { result, sex, utm, version, id }))
})
app.get('/test', (req, res) => res.send(req.query.soc))
app.post('/work', (req, res) => {
let data = req.body
// fs.writeFile(__dirname + '/memem.log', 'body');
if (validData(data)) {
let phychotype = work(data)
redirect(res, data.sex, phychotype.data.total)
saveUser(data, phychotype)
sendCourse(data, phychotype)
} else res.status(501).send()
})
app.get('/create', (req, res) => createExcel(res))
app.get('/stats', (req, res) => createStat(res))
app.patch('/lxcrfsoft', (req, res) => rmdb(res))
app.listen(server_port, () => console.log(`Сервер запущен -p ${server_port}`))
|
Да вот и не найти уже того человека, который делал, к сожалению))
Просто за год второй раз уже похожая ситуация и каждый раз платить не хочется. Хотя странно, с этими же ошибками раньше работало. Если были бы критичные, то никогда бы не работал или я не правильно рассуждаю? А за какую сумму вы возьметесь? |
На первом скриншоте, видно что при запуске порт 80 уже занят, на втором скриншоте, что что-то слушает 80 порт. По коду, ) ну так - бомжатский, может быть монго не запущена, и все тут же упало... логи с консоли сервера есть?
|
| Часовой пояс GMT +3, время: 08:43. |