mirror of
https://github.com/KevinMidboe/zoff.git
synced 2025-10-29 09:50:24 +00:00
Pm2 thing
This commit is contained in:
2
pm2.json
2
pm2.json
@@ -2,7 +2,7 @@
|
|||||||
"apps": [
|
"apps": [
|
||||||
{
|
{
|
||||||
"name": "zoff",
|
"name": "zoff",
|
||||||
"script": "./server/app.js",
|
"script": "./server/pm2.js",
|
||||||
"watch": true,
|
"watch": true,
|
||||||
"instances": "max",
|
"instances": "max",
|
||||||
"exec_mode": "cluster",
|
"exec_mode": "cluster",
|
||||||
|
|||||||
82
server/pm2.js
Normal file
82
server/pm2.js
Normal file
@@ -0,0 +1,82 @@
|
|||||||
|
var cluster = require("cluster"),
|
||||||
|
net = require("net"),
|
||||||
|
path = require("path"),
|
||||||
|
//publicPath = path.join(__dirname, 'public'),
|
||||||
|
http = require("http"),
|
||||||
|
port = 8080,
|
||||||
|
//farmhash = require('farmhash'),
|
||||||
|
uniqid = require("uniqid"),
|
||||||
|
num_processes = require("os").cpus().length;
|
||||||
|
|
||||||
|
publicPath = path.join(__dirname, "public");
|
||||||
|
pathThumbnails = __dirname;
|
||||||
|
|
||||||
|
var redis = require("redis");
|
||||||
|
var client = redis.createClient({ host: "localhost", port: 6379 });
|
||||||
|
|
||||||
|
startSingle(true, true);
|
||||||
|
|
||||||
|
function startSingle(clustered, redis_enabled) {
|
||||||
|
var server;
|
||||||
|
var client = require("./apps/client.js");
|
||||||
|
try {
|
||||||
|
var cert_config = require(path.join(
|
||||||
|
path.join(__dirname, "config"),
|
||||||
|
"cert_config.js"
|
||||||
|
));
|
||||||
|
var fs = require("fs");
|
||||||
|
var privateKey = fs.readFileSync(cert_config.privateKey).toString();
|
||||||
|
var certificate = fs.readFileSync(cert_config.certificate).toString();
|
||||||
|
var ca = fs.readFileSync(cert_config.ca).toString();
|
||||||
|
var credentials = {
|
||||||
|
key: privateKey,
|
||||||
|
cert: certificate,
|
||||||
|
ca: ca
|
||||||
|
};
|
||||||
|
var https = require("https");
|
||||||
|
server = https.Server(credentials, routingFunction);
|
||||||
|
} catch (err) {
|
||||||
|
console.log("Starting without https (probably on localhost)");
|
||||||
|
server = http.createServer(routingFunction);
|
||||||
|
}
|
||||||
|
|
||||||
|
server.listen(port, onListen);
|
||||||
|
|
||||||
|
var socketIO = client.socketIO;
|
||||||
|
|
||||||
|
var redis = require("socket.io-redis");
|
||||||
|
try {
|
||||||
|
socketIO.adapter(redis({ host: "localhost", port: 6379 }));
|
||||||
|
} catch (e) {
|
||||||
|
console.log("No redis-server to connect to..");
|
||||||
|
}
|
||||||
|
socketIO.listen(server);
|
||||||
|
}
|
||||||
|
|
||||||
|
function onListen() {
|
||||||
|
console.log("Started with pid [" + process.pid + "]");
|
||||||
|
}
|
||||||
|
|
||||||
|
function routingFunction(req, res, next) {
|
||||||
|
var client = require("./apps/client.js");
|
||||||
|
var admin = require("./apps/admin.js");
|
||||||
|
try {
|
||||||
|
var url = req.headers["x-forwarded-host"]
|
||||||
|
? req.headers["x-forwarded-host"]
|
||||||
|
: req.headers.host.split(":")[0];
|
||||||
|
var subdomain = req.headers["x-forwarded-host"]
|
||||||
|
? req.headers["x-forwarded-host"].split(".")
|
||||||
|
: req.headers.host.split(":")[0].split(".");
|
||||||
|
|
||||||
|
if (subdomain.length > 1 && subdomain[0] == "admin") {
|
||||||
|
admin(req, res, next);
|
||||||
|
} else {
|
||||||
|
client(req, res, next);
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
console.log("Bad request for " + req.headers.host + req.url, e);
|
||||||
|
res.statusCode = 500;
|
||||||
|
res.write("Bad request"); //write a response to the client
|
||||||
|
res.end(); //end the response
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user