Tredun ohjelmistokehittäjien kurssimateriaaleja
cpanel:ssa on tuki node-pohjaisille sovelluksille (huomaa, että kaikissa cpanel-asennuksissa sitä ei ole kuitenkaan mukana).
Luo webhotelliin uusi tietokanta MySQL-tietokannat -työkalun avulla. Luo sille uusi käyttäjä ja salasana. Anna käyttäjälle kaikki oikeudet. Nimeä tietokanta ja käyttäjä niin, että nimestä selviää mihin projektiin ja kenelle ne kuuluvat (esim. tiipar_notes_db).
Muokkaa knexfile.js-tiedostoa niin, että se sisältää edellä luomasi tietokannan ja käyttäjän tiedot kohdassa: production (host, database, user ja password). host-osoitteen saat cpanel:in oikeasta yläkulmasta kohdasta shared IP address.
module.exports = {
development: {
client: 'mysql2',
connection: {
user: 'root',
password: 'mypass123',
database: 'notes_db'
}
},
production: {
client: 'mysql2',
connection: {
port: 3306,
host: "123.123.123.123",
database: user123_notes_db,
user: user123_admin,
password: secretPassword
},
pool: {
min: 2,
max: 10
},
migrations: {
tableName: 'knex_migrations'
}
}
};
Muista, että knexfile.js pitää lisätä .gitignore:en.
Webhotelli ei hyväksy tietokantayhteyksiä kuin luotetuista lähteistä. Lisää Tredun IP-osoite whitelist:lle, joka löytyy Etä-MySQL-työkalun alta. Saat IP-osoitteen selville esim. avaamalla sivuston http://www.whatismyip.com/ip-address-lookup/
Nyt voit ajaa tietokantasi webhotellin MySQL-tietokantaan käyttäen knex-migrations-työkalua.
npx knex migrate:latest --env production
Vastaavasti aja seed:it tietokantaan:
npx knex seed:run --env production
Jos et voit käyttää remote MySQL:ää tai portteja ei haluta tietoturvan takia avata, voit ajaa asennus scriptit myös cpanel:issa. Tämä vaatii sen, että database - kansio, jossa migrations ja seeds kansiot ovat, löytyy backend-kansion sisältä.
Lisää seuraavat script-kohdat backend:in package.json:iin.
"migrate": "cd database && npx knex migrate:latest --env production",
"seeds": "cd database && npx knex seed:run --env"
Voit ajaa nämä scriptit, sen jälkeen kun tidostot on siirretty cpanel:iin ja npm install on ajettu. Katso scriptien käynnistys kohdasta Node app:in konffaaminen.
Tee frontend:stä build ja tallenna se backend:in juureen. Muista muuttaa backendin koodissa express-reitityksen (app.js) static-polku “build“:ksi.
npm run build
app.use(express.static(path.join(__dirname, 'build')));
Poista backend-kansiosta node_modules ja .env (näitä ei siirretä webhotelliin, node_modules:it asennetaan webhotellissa).
Käytä WinSCP-ohjelmaa, siirrä tiedostot webhotelliin. Valitse FTP-protokollaa (portti 21). Löydät WinSCP:n tarvitsemat tiedot webhotellin kohdasta FTP-tilit (Määritä FTP-työasemaohjelma).
Siirrä backend-kansio webhotellin tiedostoihin (esim. tee cpanel:in tiedostopolun juureen node-niminen kansio, EI public_html:n sisälle).
Huom Jos webhotellisissasi on terminaali, voit viedä koodit myös .zip-tiedostona ja purkaa paketin terminaalissa unzip + zip-paketin nimi.
Tee ohjelmaasi varten uusi alidomain käyttäen cpanel:in Alitoimialueet-toimintoa.
Luo uusi Node.js-sovellus Setup Node.js App-työkalun avulla.
Täytä kohdat:
Nyt asenna node_modules ajamalla npm (Run NPM install). Tallenna välillä.
Nyt lisää ohjelman tarvitsemat ympäristömuuttujat (samat kuin .env:ssä).
Huom! Tietokanta, database, user ja password ovat samat kuin knexfile.js:ssä (host on localhost):
Tallenna ympäristömuuttujat. Nyt voit käynnistää ohjelmasi ja kaiken pitäisi toimia kun avaat alidomain-osoitteen selaimessa.
Jos et vielä alustanut tietokantaa, niin tee se nyt ajamalla em. scriptit: