Ako nainštalovať diskusné fórum s Nginx na Rocky Linux 9


Na tejto stránke

  1. Predpoklady
  2. Krok 1 - Nakonfigurujte bránu firewall

    1. Nakonfigurujte SELinux
  3. Krok 2 - Nainštalujte Git
  4. Krok 3 - Nainštalujte Docker
  5. Krok 4 – Stiahnite si diskurz
  6. Krok 5 – Konfigurácia diskurzu

    1. Nastaviť doménu
    2. Konfigurácia odkrytých portov
    3. Nakonfigurujte nastavenia SMTP
    4. Nastavenia pamäte (voliteľné)
    5. Nastavenia GeoLite2 (voliteľné)
  7. Krok 6 - Nainštalujte diskurz
  8. Krok 7 - Nainštalujte Nginx
  9. Krok 8 - Nainštalujte SSL
  10. Krok 9 - Nakonfigurujte Nginx
  11. Krok 10 – Prístup a dokončenie inštalácie diskurzu
  12. Krok 11 – Príkazy na diskusiu

    1. Aktivujte správcu diskurzu z príkazového riadka
    2. Záložný diskurz
    3. Aktualizujte diskusiu
    4. Zastavte diskusiu
    5. Zobraziť denníky diskurzu
    6. Koľajnice/polená Unicorn
    7. Nginx denníky
    8. Záznamy Redis
    9. PostgreSQL denníky
  13. Záver

Diskurz je komunitná diskusná platforma s otvoreným zdrojovým kódom vytvorená pomocou jazyka Ruby. Je navrhnutý tak, aby fungoval ako fórum, chatovací softvér alebo zoznam adries. Ľahko sa integruje s inými platformami a možno ho rozšíriť pomocou doplnkov.

V tomto návode sa naučíte, ako nainštalovať diskusné fórum so serverom Nginx na server so systémom Rocky Linux 9.

Predpoklady

    Server so systémom Rocky Linux 9 s minimálne 1 GB RAM a 1 Core CPU. Nastavenie diskurzu automaticky vytvorí odkladací oddiel na systémoch s 1 GB alebo menej RAM. Preto sa odporúča nainštalovať ho na systém s minimálne 2 GB RAM.

    Používateľ bez oprávnenia root s oprávneniami sudo.

    Názov domény (discourse.example.com) smerujúci na server.

    Všetko je aktualizované.

    $ sudo dnf update
    

    Niekoľko balíkov, ktoré váš systém potrebuje.

    $ sudo dnf install wget curl nano unzip yum-utils -y
    

    Niektoré z týchto balíkov už môžu byť vo vašom systéme nainštalované.

Krok 1 - Nakonfigurujte bránu firewall

Prvým krokom je konfigurácia brány firewall. Rocky Linux používa Firewalld Firewall. Skontrolujte stav brány firewall.

$ sudo firewall-cmd --state
running

Firewall pracuje s rôznymi zónami a verejná zóna je predvolená zóna, ktorú budeme používať. Uveďte všetky služby a porty aktívne na bráne firewall.

$ sudo firewall-cmd --permanent --list-services

Mal by zobrazovať nasledujúci výstup.

cockpit dhcpv6-client ssh

Diskurz na fungovanie potrebuje porty HTTP a HTTPS. Otvorte ich.

$ sudo firewall-cmd --permanent --add-service=http
$ sudo firewall-cmd --permanent --add-service=https

Pridajte maškarádu, pretože aplikácia bude kontaktovať iné inštancie.

$ sudo firewall-cmd --permanent --add-masquerade

Ak chcete použiť zmeny, znova načítajte bránu firewall.

$ sudo firewall-cmd --reload

Znova uveďte zoznam všetkých služieb.

$ sudo firewall-cmd --permanent --list-services

Mali by ste dostať nasledujúci výstup.

cockpit dhcpv6-client http https ssh

Nakonfigurujte SELinux

Diskurz nebude prístupný, aj keď otvoríte porty kvôli politike prístupu SELinuxu. Nakonfigurujte SELinux tak, aby umožňoval sieťové pripojenia.

$ sudo setsebool -P httpd_can_network_connect 1

Krok 2 - Nainštalujte Git

Nainštalujte Git.

$ sudo dnf install git

Potvrďte inštaláciu.

$ git --version
git version 2.31.1

Spustite nasledujúce príkazy na konfiguráciu inštalácie Git.

$ git config --global user.name "Your Name"
$ git config --global user.email "[email "

Krok 3 - Nainštalujte Docker

Rocky Linux sa dodáva so staršou verziou Docker. Ak chcete nainštalovať najnovšiu verziu, najprv nainštalujte oficiálne úložisko Docker.

$ sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

Nainštalujte najnovšiu verziu Docker.

$ sudo dnf install docker-ce docker-ce-cli containerd.io

Pri pokuse o inštaláciu Dockera sa môže zobraziť nasledujúca chyba.

ror: 
 Problem: problem with installed package buildah-1:1.26.2-1.el9_0.x86_64
  - package buildah-1:1.26.2-1.el9_0.x86_64 requires runc >= 1.0.0-26, but none of the providers can be installed
  - package containerd.io-1.6.9-3.1.el9.x86_64 conflicts with runc provided by runc-4:1.1.3-2.el9_0.x86_64
  - package containerd.io-1.6.9-3.1.el9.x86_64 obsoletes runc provided by runc-4:1.1.3-2.el9_0.x86_64
  - cannot install the best candidate for the job

Ak sa zobrazí chyba uvedená vyššie, použite nasledujúci príkaz.

$ sudo dnf install docker-ce docker-ce-cli containerd.io --allowerasing

Povoľte a spustite démona Docker.

$ sudo systemctl enable docker --now

Skontrolujte, či je spustený.

? docker.service - Docker Application Container Engine
     Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
     Active: active (running) since Sat 2023-01-20 06:49:44 UTC; 6s ago
TriggeredBy: ? docker.socket
       Docs: https://docs.docker.com
   Main PID: 99263 (dockerd)
      Tasks: 8
     Memory: 28.1M
        CPU: 210ms
     CGroup: /system.slice/docker.service
             ??99263 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

V predvolenom nastavení Docker vyžaduje oprávnenia root. Ak sa chcete vyhnúť používaniu sudo pri každom spustení príkazu docker, pridajte svoje používateľské meno do skupiny docker.

$ sudo usermod -aG docker $(whoami)

Ak chcete povoliť túto zmenu, budete sa musieť odhlásiť zo servera a znova sa prihlásiť ako rovnaký používateľ alebo použiť nasledujúci príkaz.

$ su - ${USER}

Potvrďte, že váš používateľ je pridaný do skupiny Docker.

$ groups
navjot wheel docker

Krok 4 – Stiahnite si diskurz

Naklonujte oficiálny repozitár Discourse Docker GitHub do adresára /var/discourse.

$ sudo git clone https://github.com/discourse/discourse_docker.git /var/discourse

Prepnite sa do adresára Diskurz.

$ cd /var/discourse

Odstráňte práva na zápis a spustiteľné súbory z adresára containers.

$ sudo chmod 700 containers

Krok 5 – Konfigurácia diskurzu

Vytvorte konfiguračný súbor app.yml skopírovaním vzorového súboru standalone.yml.

$ sudo cp samples/standalone.yml containers/app.yml

Ak chcete upraviť, otvorte súbor app.yml.

$ sudo nano containers/app.yml

Nastaviť doménu

Nastavte premennú DISCOURSE_HOSTNAME na názov domény, ktorý ste si vybrali pre svoje fórum. Ak nemáte názov domény, môžete tu použiť adresu IP.

DISCOURSE_HOSTNAME: 'discourse.example.com'

Konfigurácia odkrytých portov

Zmeňte riadok "80:80 na "8080:80". Tým sa zmení externý HTTP port pre Diskurz na 8080, pretože budeme používať Nginx na porte 80. Komentujte riadok "443:443", pretože SSL nainštalujeme externe.

expose:
  - "8080:80"   # http
  #- "443:443" # https

Nakonfigurujte e-mailové ID pre správcu

Nastavte e-mail pre svoj účet správcu a vývojára pomocou premennej DISCOURSE_DEVELOPER_EMAILS. Tento krok je povinný, inak sa vaše fórum nespustí.

DISCOURSE_DEVELOPER_EMAILS: '[email ,[email '

Nakonfigurujte nastavenia SMTP

Vyplňte nasledujúce premenné v závislosti od transakčnej e-mailovej služby, ktorú používate.

DISCOURSE_SMTP_ADDRESS: smtp.example.com
DISCOURSE_SMTP_PORT: 587
DISCOURSE_SMTP_USER_NAME: [email 
DISCOURSE_SMTP_PASSWORD: your_smtp_password
#DISCOURSE_SMTP_ENABLE_START_TLS: true           # (optional, default true)
DISCOURSE_SMTP_DOMAIN: discourse.example.com    # (required by some providers)
DISCOURSE_NOTIFICATION_EMAIL: [email     # (address to send notifications from)

Nastavenia pamäte (voliteľné)

Ak má váš server nízku RAM, môžete podľa toho nakonfigurovať nasledujúce premenné, aby ste znížili pamäťovú stopu diskurzu.

db_shared_buffers: '128MB'
UNICORN_WORKERS: 2

Premenná db_shared_buffers je zvyčajne nastavená na 25 % dostupnej pamäte.

Nastavenia GeoLite2 (voliteľné)

Ak chcete funkciu vyhľadávania IP na Discourse, zaregistrujte sa na bezplatný účet Maxmind Geolite2 a získajte licenčný kľúč. Prilepte tento licenčný kľúč ako hodnotu pre nasledujúcu premennú.

DISCOURSE_MAXMIND_LICENSE_KEY: your_maxmind_license_key

Uložte súbor stlačením Ctrl + X a po zobrazení výzvy zadajte Y.

Krok 6 - Nainštalujte diskurz

Spustite nasledujúci príkaz na zavedenie kontajnera diskurzu.

$ sudo ./launcher bootstrap app

Spustite aplikáciu Diskurz.

$ sudo ./launcher start app

Otvorte port na testovanie aplikácie Diskurz.

$ sudo firewall-cmd --permanent --add-port=8080/tcp

Teraz môžete pristupovať k fóru tak, že navštívite adresy URL http://IP_vašho_servera:8080 alebo http://discourse.example.com:8080 vo svojom prehliadači. Dostanete nasledujúcu obrazovku.

Krok 7 - Nainštalujte Nginx

Rocky Linux 9 sa dodáva so staršou verziou Nginx. Ak chcete nainštalovať najnovšiu verziu, musíte si stiahnuť oficiálne úložisko Nginx.

Vytvorte a otvorte súbor /etc/yum.repos.d/nginx.repo na vytvorenie oficiálneho úložiska Nginx.

$ sudo nano /etc/yum.repos.d/nginx.repo

Vložte do nej nasledujúci kód.

[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

Uložte súbor stlačením Ctrl + X a po zobrazení výzvy zadajte Y.

Nainštalujte server Nginx.

$ sudo dnf install nginx

Overte inštaláciu.

$ nginx -v
nginx version: nginx/1.22.1

Povoľte a spustite server Nginx.

$ sudo systemctl enable nginx --now

Skontrolujte stav servera.

$ sudo systemctl status nginx
? nginx.service - nginx - high performance web server
     Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled)
     Active: active (running) since Sun 2023-01-20 07:49:55 UTC; 1s ago
       Docs: http://nginx.org/en/docs/
    Process: 230797 ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf (code=exited, status=0/SUCCESS)
   Main PID: 230798 (nginx)
      Tasks: 3 (limit: 12355)
     Memory: 2.8M
        CPU: 13ms
     CGroup: /system.slice/nginx.service
             ??230798 "nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf"
             ??230799 "nginx: worker process"
             ??230800 "nginx: worker process"

Krok 8 - Nainštalujte SSL

Ak chcete nainštalovať certifikát SSL pomocou Let's Encrypt, musíme si nainštalovať nástroj Certbot.

Použijeme na to inštalačný program balíkov Snapd. Keďže Rocky Linux sa s ním nedodáva, nainštalujte si inštalačný program Snapd. Na fungovanie vyžaduje úložisko EPEL.

$ sudo dnf install epel-release

Nainštalujte Snapd.

$ sudo dnf install snapd

Povoľte a spustite službu Snap.

$ sudo systemctl enable snapd --now

Nainštalujte hlavný balík Snap a uistite sa, že vaša verzia Snapd je aktuálna.

$ sudo snap install core && sudo snap refresh core

Vytvorte potrebné prepojenia, aby Snapd fungoval.

$ sudo ln -s /var/lib/snapd/snap /snap
$ echo 'export PATH=$PATH:/var/lib/snapd/snap/bin' | sudo tee -a /etc/profile.d/snapd.sh

Ak chcete nainštalovať Certbot, zadajte nasledujúci príkaz.

$ sudo snap install --classic certbot

Pomocou nasledujúceho príkazu zaistite spustenie príkazu Certbot vytvorením symbolického odkazu na adresár /usr/bin.

$ sudo ln -s /snap/bin/certbot /usr/bin/certbot

Overte inštaláciu.

$ certbot --version
certbot 1.32.2

Vygenerujte certifikát SSL.

$ sudo certbot certonly --nginx --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m [email  -d discourse.example.com

Vyššie uvedený príkaz stiahne certifikát do adresára /etc/letsencrypt/live/discourse.example.com na vašom serveri.

Vygenerujte certifikát Diffie-Hellman group.

$ sudo openssl dhparam -dsaparam -out /etc/ssl/certs/dhparam.pem 4096

Ak chcete skontrolovať, či obnovenie SSL funguje správne, vykonajte proces nasucho.

$ sudo certbot renew --dry-run

Ak nevidíte žiadne chyby, všetko je nastavené. Váš certifikát sa automaticky obnoví.

Krok 9 - Nakonfigurujte Nginx

Vytvorte a otvorte súbor /etc/nginx/conf.d/discourse.conf na úpravu.

$ sudo nano /etc/nginx/conf.d/discourse.conf

Vložte do nej nasledujúci kód.

# enforce HTTPS
server {
    listen       80; 
    listen 		[::]:80;
    server_name  discourse.example.com;
    location / { return 301 https://$host$request_uri; }
}
server {
    listen       443 ssl http2;
    listen 		[::]:443 ssl http2;
    server_name  discourse.example.com;

    access_log  /var/log/nginx/discourse.access.log;
    error_log   /var/log/nginx/discourse.error.log;
    
    # SSL
    ssl_certificate         /etc/letsencrypt/live/discourse.example.com/fullchain.pem;
    ssl_certificate_key     /etc/letsencrypt/live/discourse.example.com/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/discourse.example.com/chain.pem;
    ssl_session_timeout  5m;
    ssl_session_cache shared:SSL:10m;
    ssl_session_tickets off;
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_prefer_server_ciphers on;
    ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
    ssl_ecdh_curve X25519:prime256v1:secp384r1:secp521r1;
    ssl_stapling on;
    ssl_stapling_verify on;
    ssl_dhparam /etc/ssl/certs/dhparam.pem;
    resolver 8.8.8.8;
    
    http2_push_preload on; # Enable HTTP/2 Server Push
    # Enable TLSv1.3's 0-RTT. Use $ssl_early_data when reverse proxying to
    # prevent replay attacks.
    #
    # @see: https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_early_data
    ssl_early_data on;
    
    # Security / XSS Mitigation Headers
    # NOTE: X-Frame-Options may cause issues with the webOS app
    add_header X-Frame-Options "SAMEORIGIN";
    add_header X-XSS-Protection "1; mode=block";
    add_header X-Content-Type-Options "nosniff";
    add_header X-Early-Data $tls1_3_early_data;
    
    client_max_body_size 100m;
    
    location / {
        proxy_pass http://discourse.example.com:8080/;
        proxy_set_header Host $http_host;
        proxy_http_version 1.1;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Real-IP $remote_addr;
    }    
}

# This block is useful for debugging TLS v1.3. Please feel free to remove this
# and use the `$ssl_early_data` variable exposed by NGINX directly should you
# wish to do so.
map $ssl_early_data $tls1_3_early_data {
    "~." $ssl_early_data;
    default "";
}

Uložte súbor stlačením Ctrl + X a po zobrazení výzvy zadajte Y.

Otvorte súbor /etc/nginx/nginx.conf na úpravu.

$ sudo nano /etc/nginx/nginx.conf

Pridajte nasledujúci riadok pred riadok include /etc/nginx/conf.d/*.conf;.

server_names_hash_bucket_size  64;

Uložte súbor stlačením Ctrl + X a po zobrazení výzvy zadajte Y.

Overte syntax konfiguračného súboru Nginx.

$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Reštartujte službu Nginx, aby ste povolili novú konfiguráciu.

$ sudo systemctl restart nginx

Krok 10 – Prístup a dokončenie inštalácie diskurzu

Do fóra sa dostanete tak, že vo svojom prehliadači navštívite webovú adresu https://discourse.example.com. Dostanete nasledujúcu obrazovku.

Pokračujte kliknutím na tlačidlo Registrovať. E-mailové ID nastavené v súbore app.yml bude predvyplnené.

Kliknutím na tlačidlo Registrovať zaregistrujte účet správcu. Prejdete na obrazovku s potvrdením e-mailu.

Ak sú vaše nastavenia SMTP správne, dostanete e-mail na aktiváciu účtu. Kliknutím na odkaz z vášho e-mailu dokončite nastavenie účtu.

Kliknutím na tlačidlo Aktivovať dokončite inštaláciu.

Dostanete sa na obrazovku sprievodcu nastavením diskurzu. Vyplňte názov a popis fóra a vyberte jazyk. Pokračujte kliknutím na tlačidlo Ďalej.

Ďalej sa dostanete na stránku Member Experience. Vyberte si možnosti podľa svojich požiadaviek a pokračujte kliknutím na tlačidlo Ďalej.

Ďalej sa dostanete na stránku dokončenia nastavenia. Môžete buď nakonfigurovať viac, alebo jednoducho skočiť a začať používať fórum. Tieto nastavenia možno stále konfigurovať pomocou nastavení správcu.

Pre náš návod vyberieme možnosť Konfigurovať viac. Budete presmerovaní na stránku a požiadaní o nastavenie loga a bannera pre vaše fórum. Pokračujte kliknutím na tlačidlo Ďalej.

Ďalej sa zobrazí výzva na nastavenie základných možností štýlu pre frontend fóra. Pokračujte kliknutím na tlačidlo Ďalej.

Ďalej sa dostanete na konfiguračnú stránku organizácie. Vyplňte príslušné informácie.

Pokračujte kliknutím na tlačidlo Naskočiť!. Budete presmerovaní na domovskú stránku fóra. Vaše diskusné fórum je pripravené na použitie.

Krok 11 – Príkazy na diskusiu

Aktivujte správcu diskurzu z príkazového riadka

Ak nedostanete aktivačný e-mail, môžete si aktivovať administrátorský účet z príkazového riadku.

Prepnite sa do adresára Diskurz.

$ cd /var/discourse

Vstúpte do obalu kontajnera diskurzu.

$ sudo ./launcher enter app

Zadajte príkaz rails c pre prístup k príkazovému riadku Rails.

root@discourse-app:/var/www/discourse# rails c

Uvidíte nasledujúcu výzvu.

[1] pry(main)> 

Zadajte príkaz na vyhľadanie účtu správcu.

[1] pry(main)>  User.find_by_email("[email ")
=> #<User:0x00007fdf020229f0
 id: 1,
 username: "username",
 created_at: Fri, 20 Jan 2023 08:14:36.735552000 UTC +00:00,
 updated_at: Fri, 20 Jan 2023 14:14:12.094234000 UTC +00:00,
 name: nil,
 seen_notification_id: 4,
 last_posted_at: nil,
 password_hash: "98c774785bda45b4edbaea90eeb3bd5da00f65487ba6d0b3930082ce098bf174",
 salt: "ca175ea7f5653ce8122b76b68b549936",
 active: true,
 username_lower: "username",
 last_seen_at: Fri, 20 Jan 2023 23:01:21.001705000 UTC +00:00,
 admin: true,
 last_emailed_at: Fri, 20 Jan 2023 09:48:47.896200000 UTC +00:00,
 trust_level: 1,
 approved: false,
 approved_by_id: nil,
 approved_at: nil,
 previous_visit_at: Fri, 20 Jan 2023 21:28:23.665502000 UTC +00:00,
 suspended_at: nil,
 suspended_till: nil,
 date_of_birth: nil,
 views: 0,
 flag_level: 0,
 ip_address: #<IPAddr: IPv4:122.161.92.70/255.255.255.255>,
 moderator: false,
 title: nil,
 uploaded_avatar_id: nil,
 :

Zadaním q sa vráťte na výzvu a zadajte postupne nasledujúce príkazy.

[2] pry(main)> user.approved = true
[3] pry(main)> user.save
[4] pry(main)> EmailToken.confirm(user.email_tokens.first.token)

Ak sa chcete vrátiť do shellu, dvakrát napíšte exit. Váš administrátorský účet je aktivovaný a pripravený na použitie.

Záložný diskurz

Discourse štandardne zálohuje databázu každých 7 dní. Záložné súbory nájdete v adresári `/var/discourse/shared/standalone/backups/default.

$ ls /var/discourse/shared/standalone/backups/default -al
total 1480
drwxr-xr-x. 2 navjot tape    4096 Jan 21 03:34 .
drwxr-xr-x. 3 navjot tape    4096 Jan 20 12:01 ..
-rw-r--r--. 1 navjot tape 1503748 Jan 21 03:34 howtoforge-forums-2023-01-21-033439-v20230119094939.tar.gz

Nastavenia zálohovania môžete nakonfigurovať v sekcii Správca >> Nastavenia >> Zálohy. Diskurz vám dáva možnosť ukladať zálohy lokálne alebo do cloudového úložiska v štýle Amazon S3.

Zálohy si môžete stiahnuť zo stránky Správca >> Zálohy. Obnovenie je predvolene zakázané. Ak chcete obnoviť databázu, musíte povoliť možnosť povoliť obnovenie v časti Správca >> Nastavenia >> Zálohy.

Aktualizujte diskusiu

Na aktualizáciu fóra môžete použiť jeden z dvoch spôsobov. Prvým spôsobom je inovovať ho cez panel správcu. Druhým spôsobom je použitie príkazového riadku.

Prepnite sa do adresára Diskurz.

$ cd /var/discourse

Aktualizujte inštaláciu diskurzu stiahnutím najnovších súborov z GitHubu.

$ git pull

Obnoviť diskurz.

$ sudo ./launcher rebuild app

Vždy, keď vykonáte zmeny v súbore app.yml, musíte rozpravu znova zostaviť. Po vykonaní zmien spustite príkaz uvedený vyššie. Zničí starý kontajner, zavedie nový a spustí ho.

Zastavte diskusiu

$ sudo ./launcher stop app

Zobraziť denníky diskurzu

$ sudo ./launcher logs app

Môžete si tiež pozrieť podrobné laboratóriá na webovej adrese https://discourse.example.com/logs/ vo svojom prehliadači. Získate podobnú obrazovku.

Koľajnice/polená Unicorn

Ruby on Rails obsahuje veľmi podrobný protokol, ktorý sa zapisuje na disk. Webový server unicorn sa navyše prihlasuje na disk. Môžete si ich pozrieť v adresári var/discourse/shared/standalone/log/rails.

$ ls /var/discourse/shared/standalone/log/rails -al
total 552
drwxr-xr-x. 2 navjot tape   4096 Jan 20 07:09 .
drwxr-xr-x. 4 root   root   4096 Jan 20 07:09 ..
-rw-r--r--. 1 navjot tape      0 Jan 20 07:09 production_errors.log
-rw-r--r--. 1 navjot tape 361031 Jan 21 11:46 production.log
-rw-r--r--. 1 navjot tape      0 Jan 20 07:09 sidekiq.log
-rw-r--r--. 1 navjot tape  60919 Jan 20 08:42 unicorn.stderr.log
-rw-r--r--. 1 navjot tape 119403 Jan 21 03:34 unicorn.stdout.log

Nginx denníky

Discourse prevádzkuje server Nginx vo vnútri kontajnera dokovacieho zariadenia. Záznamy si môžete pozrieť na nasledujúcom mieste.

$ ls /var/discourse/shared/standalone/log/var-log/nginx -al
total 1852
drwxr-xr-x. 2   33 tape    4096 Jan 20 07:39 .
drwxrwxr-x. 5 root adm     4096 Jan 21 08:04 ..
-rw-r--r--. 1   33 tape 1878744 Jan 21 12:18 access.log
-rw-r--r--. 1   33 tape    1017 Jan 20 07:45 error.log

Záznamy Redis

Protokoly pre databázový server Redis môžete získať na nasledujúcom mieste. Najnovšie záznamy denníka budú v aktuálnom súbore.

$ ls /var/discourse/shared/standalone/log/var-log/redis -al
total 140
drwxr-xr-x. 2 root root   4096 Jan 20 07:39 .
drwxrwxr-x. 5 root adm    4096 Jan 21 08:04 ..
-rw-r--r--. 1 root root 127002 Jan 21 12:17 current
-rw-------. 1 root root      0 Jan 20 07:39 lock

PostgreSQL denníky

Logy databázy PostgreSQL si môžete pozrieť na nasledujúcom mieste.

ls /var/discourse/shared/standalone/log/var-log/postgres -al
total 20
drwxr-xr-x. 2 root root  4096 Jan 20 07:39 .
drwxrwxr-x. 5 root adm   4096 Jan 21 08:04 ..
-rw-r--r--. 1 root root 11400 Jan 21 03:34 current
-rw-------. 1 root root     0 Jan 20 07:39 lock

Najnovšie položky sú v aktuálnom súbore v tomto adresári.

Zostávajúce možno nájsť v samotnom /var/discourse/shared/standalone/log/var-log.

ls /var/discourse/shared/standalone/log/var-log -al
total 100
drwxrwxr-x. 5 root adm   4096 Jan 21 08:04 .
drwxr-xr-x. 4 root root  4096 Jan 20 07:09 ..
-rw-r--r--. 1 root adm  40943 Jan 21 12:17 auth.log
-rw-r--r--. 1 root adm      0 Jan 20 08:41 kern.log
-rw-r-----. 1 root adm    750 Jan 21 08:04 messages
drwxr-xr-x. 2   33 tape  4096 Jan 20 07:39 nginx
drwxr-xr-x. 2 root root  4096 Jan 20 07:39 postgres
drwxr-xr-x. 2 root root  4096 Jan 20 07:39 redis
-rw-r--r--. 1 root adm  23041 Jan 21 12:17 syslog
-rw-r-----. 1 root adm     70 Jan 21 08:04 user.log

Záver

Toto končí tutoriál. Nainštalovali ste diskusné fórum pomocou Dockera za proxy webovým serverom Nginx na serveri Rocky Linux 9. Ak máte nejaké otázky, napíšte ich do komentárov nižšie.

Súvisiace články: