Вопрос по серверу на 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, время: 11:47. |