Tai samaa ohjetta hivenen modifioimalla minkä tahansa muun palvelimen johon ei tarvita sudo-oikeuksia; RoRin, Djangon tai vaikka Go:n. Huomioitavana on vain users-palvelimen vanha käyttöjärjestelmä: Ubuntu 10.04 joka ei välttämättä kaikkea pyöritä ilman ainakaan ongelmia.
- Ota ssh-yhteys users-palvelimelle esim.
ssh [email protected]
jossa TUNNUS on ad-tunnuksesi - Suorita
wanna-htdocs
jos sinulle ei ole jo Apachee asennettuna ja htdocs kansiota - Luo Apachen konfiguraatio tiedosto .htaccess
touch ~/htdocs/.htaccess
- Lisää siihen rivit:
RewriteEngine On
# tsekkaa onko polku jo turvattu eli https:n ylitse
RewriteCond %{HTTPS} !=on
# jos ei niin uudelleen ohjaa https-polkuun (R=redirect, L=last eli lopettaa suorittamisen tähän sääntöön)
RewriteRule ^/?(.*) https://TUNNUS.users.cs.helsinki.fi/$1 [R,L]
# polku on nyt https:ssä joten voimme proxata sen taustalla pyörivälle node-prosessille
RewriteRule ^(.*)$ http://TUNNUS.users.cs.helsinki.fi:PORTTI/$1 [P]
Jossa TUNNUS on ad-tunnuksesi ja PORTTI on haluamasi node-prosessin portti (esim. 8080)
- Lisää lukuoikeudet ulkopuolisille käyttäjille jotka tulevat palvelimellesi
chmod o+r .htaccess
- Asenna nvm esim.
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.1/install.sh | bash
- Muista ladata nvm terminaaliin:
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm
Testaa toimiiko nvm -v
- Asenna node esim.
nvm install 6.10.0
- Luo kansio kotihakemistosi juureen esim.
mkdir ~/nodeserver && cd ~/nodeserver
- Ja sinne tiedosto vaikka app.js
touch app.js
- Jonne lisäät seuraavan koodin pätkän:
const express = require("express");
const app = express();
const port = 8080;
app.get("", (req, res, next) => {
res.send("Hello World");
})
app.listen(port, (err) => {
if (err) {
console.log(err)
} else {
console.log("App is listening on port " + port);
}
})
- Luo package.json
npm init
- Lataa ja tallenna express
npm i -S express
- Lataa globaalisti pm2 joka on daemon node-prosessien pyörittämiseen taustalla
npm i -g pm2
- Käynnistä pm2
pm2 start
- Käynnistä node-servu
pm2 start app.js
- Tämä tallentaa pm2:en muistamaan nykyiset asetukset rebootin sattuessa (eli käynnistämään app.js:n)
pm2 save
- Mene sivullesi https://TUNNUS.users.cs.helsinki.fi/
- Profit!