Strežnik je kot že rečeno, umrl nenadne smrti. Zdaj sem se nekaj časa ukvarjal z vzpostavitvijo vseh stvari, ki sem si jih zamislil za nov strežnik. Med drugim sem:
Nginx sem zgradil z eno tako generično konfiguracijo. Mogoče se bo treba še malo igrati, da najdem ta pravo. Za zdaj vem, da bi rabil vsaj en dodaten modul (more_clear_headers), ki omogoča čiščenje določenih zaglavij strežniških odgovorov.
Node-js nisem gradil sam. Pa verjetno še bom. Za zdaj je nameščena različica z uradne spletne strani. S tem sicer ni nič narobe, deluje povsem v redu.
Postgres je pripravljen. Za zdaj ne dela ničesar, nisem ga še skonfiguriral, samo prevedel in namestil. Mogoče bi poskusil tokrat vzpostaviti cluster. Za hec.
Sama spletna stran je narejena v javascriptu. Sistem Docsify se je v testiranju dobro obnesel. Deluje hitro in preprosto, strani pa se pripravljajo v Markdownu. Pišem jih kar v terminalu na tablici ali na računalniku.
Ker je stari strežnik, ki je bil posavljen na HP Proliant Microserver Gen 7 NL36 umrl, sem novega postavil na Mac Mini. V OS X sem namestil VirtualBox, v tega pa OmniOS.
Začel sem z dobro osnovno konfiguracijo, ki jo zgenerira spletno orodje nginxconfig.io. Po tem je bilo treba pridobiti nov certifikat, za kar sem uporabil LetsEncrypt. Uradno orodje za prevzem certifikatov nazadnje na OmniOS ni delovalo. Zato sem uporabil acme.sh. Konfiguracijske datoteke je bilo treba malo popraviti, da so ustrezale moji namestitvi, ampak to je šlo kar hitro.
Sledil je najbolj zafrknjen korak. Uskladitev delovanja nginx in node-js. Nginx deluje v načinu proxy-pass, treba pa je pravilno nastaviti vse parametre aplikacije in strežnika. Največ težav so povzročale content policy in proxiranje web socket. Z nekaj googlanja sem našel tudi prave nastavitve za te zadeve.
Docsify lahko deluje kot javascript aplikacija. Ena sama stran, ki vso logiko izvaja v brskalniku. S strežnika zgolj prenaša Markdown datoteke. Za to lahko uporabimo tudi strežnik brez php ali node … Čisto navaden strežnik. Lahko pa Docsify deluje tudi tako, da strani sestavi na strežniku. Server side rendering, kot se temu reče. Ta način je menda malo boljši za Search Engine Optimisation. In sem nastavil SSR.
Seveda ni šlo brez zapletov. Brez branja izvorne kode, ne bi prišel nikamor.
V bližnji prihodnosti bom vsaj Docsify in node-js prestavil v kontejner. V solaris zone. To ga bo malo dodatno izoliralo in dodatno zavarovan. prav tako bom v kontejnerje postavil podatkovni in spletni strežnik. Ko usposobim fizični server bom vse skupaj počasi preselil tja in v novo spletno stran preselil še vsebino bloga.
Kakorkoli že, zveni zabavno. Točno zato imam strežnik.