23.10.2018, 12:27
|
Новичок на форуме
|
|
Регистрация: 01.03.2018
Сообщений: 9
|
|
Вопрос по серверу на 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
Спасибо заранее
|
|
23.10.2018, 13:01
|
Профессор
|
|
Регистрация: 04.12.2012
Сообщений: 3,791
|
|
На первом скриншоте видно, что процесс "споткнулся" об выброшенное исключение, наименование файла и строка также присутствуют.
|
|
23.10.2018, 13:26
|
Профессор
|
|
Регистрация: 28.04.2017
Сообщений: 214
|
|
Ничего не обещаю, но...
На первом скриншоте видно (как я понял, во всяком случае), что запускается кластер, т.е. несколько штук приложений ("инстансов"). Сколько?
Еслиф это так, то хотелось бы увидеть это место в коде "главного файла" (app.js или как он у вас называется).
(примеч: если это не так - то и ладно, значит, я понял не правильно)
А, и ещё.
Как запускается приложение - командой от node ... или дебильной npm start?
И чем оно запускается (от forever, pm2 или ещё чего)?
Последний раз редактировалось Audaxviator, 23.10.2018 в 13:37.
|
|
23.10.2018, 13:45
|
Новичок на форуме
|
|
Регистрация: 01.03.2018
Сообщений: 9
|
|
Сообщение от Audaxviator
|
Ничего не обещаю, но...
На первом скриншоте видно (как я понял, во всяком случае), что запускается кластер, т.е. несколько штук приложений ("инстансов"). Сколько?
Еслиф это так, то хотелось бы увидеть это место в коде "главного файла" (app.js или как он у вас называется).
(примеч: если это не так - то и ладно, значит, я понял не правильно)
А, и ещё.
Как запускается приложение - командой от node ... или дебильной npm start?
И чем оно запускается (от forever, pm2 или ещё чего)?
|
К сожалению, я не силен в этих моментах..
А найти человека, который бы помог оказалось не так просто
|
|
23.10.2018, 14:06
|
Профессор
|
|
Регистрация: 28.04.2017
Сообщений: 214
|
|
В каких "моментах"?
Код приложения есть? -- Ну такая папка, в которой много папок, а в самом низу несколько штук файлов.
Если есть - покажите файл app.js (или, возможно, он называется server.js).
Если нет - я пошёл опохмеляться.
|
|
23.10.2018, 17:22
|
Новичок на форуме
|
|
Регистрация: 01.03.2018
Сообщений: 9
|
|
Вот код файла 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}`))
|
|
23.10.2018, 18:45
|
Новичок на форуме
|
|
Регистрация: 01.03.2018
Сообщений: 9
|
|
Да вот и не найти уже того человека, который делал, к сожалению))
Просто за год второй раз уже похожая ситуация и каждый раз платить не хочется.
Хотя странно, с этими же ошибками раньше работало.
Если были бы критичные, то никогда бы не работал или я не правильно рассуждаю?
А за какую сумму вы возьметесь?
|
|
23.10.2018, 20:43
|
|
Профессор
|
|
Регистрация: 08.11.2017
Сообщений: 642
|
|
На первом скриншоте, видно что при запуске порт 80 уже занят, на втором скриншоте, что что-то слушает 80 порт. По коду, ) ну так - бомжатский, может быть монго не запущена, и все тут же упало... логи с консоли сервера есть?
|
|
|
|