Nginx waar Openmediavault op draait gebruiken voor 2e site

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • gr0bi
  • Registratie: Juni 2002
  • Laatst online: 28-05 19:41
Mijn vraag
Nginx configuratie in sites-available / sites-enabled geeft geen foutmeldingen. Toch lust hij niet door naar de plek waar de website staat.

Relevante software en hardware die ik gebruik
Odroid-HC4 met daarop debian 10 buster, zonder desktop omgeving. Bovenop debian heb ik Openmediavault geinstalleerd.

Wat ik al gevonden of geprobeerd heb
In eerste instantie heb ik Openmediavault gebruikt om via OMVExtra's een Docker omgeving op te bouwen voor het hosten van mijn eigen WordPress website en wat andere services zoals Nextcloud, Filebrowser etc. etc. Dat werkte an sich prima maar naast dat het me veel tijd kost wil ik de Odroid toch iets anders inrichten.

Ik heb alle containers en docker verwijderd om tot een minimale installatie van OMV te komen. Vervolgens heb ik:
  • MariaDB op debian geinstalleerd
  • Database aangemaakt en Database User
  • SQL dump ingeladen in de database
  • WordPress files geplaatst op /var/www/gerbendoesgraphics
  • www-data user toegang gegeven tot deze nieuwe map
  • Config voor Nginx geplaatst op sites-available
  • Symlink gemaakt van die config naar sites-enabled
  • Nginx restart na controle met nginx -t
Het gekke is dat dit voorheen binnen docker direct werkte. Nu krijg ik een time-out en heb na een dag pielen geen idee meer waar ik het zoeken moet.

Ik heb in google wel een netstat commando gevonden wat checkte wat er gebeurde bij het benaderen van port 80...maar ben vergeten welk commando dat precies was :+
Het resultaat daarvan weet ik eveneens niet meer helemaal maar het leek erop dat hij idd luisterd op poort 80, vervolgens door wilde maar een Error 500 krijgt. Dat liet hij alleen in de CLI zien en niet op het web.

Overigens maakt het niet uit of ik gerbendoesgraphics.com kies of rechtstreeks naar het interne IP browse. Beiden geven een connection timed out. OMV draait als een zonnetje echter.

Weet één van jullie waar ik spaak loop?

Alle reacties


Acties:
  • 0 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 17:06

Hero of Time

Moderator LNX

There is only one Legend

Dit is een stukje server software, dus tikje naar het juiste forum. Het gaat meer over je vraag van Nginx dan Linux. :) NOS -> SWS.

Verders, logs, logs en logs. Ga kijken in /var/log/nginx/ wat daar staat. Wat heb je tevens aangemaakt als config voor je site? Haal je gevoelige data eruit, maar laat wel de opties staan.

Commandline FTW | Tweakt met mate


Acties:
  • 0 Henk 'm!

  • gr0bi
  • Registratie: Juni 2002
  • Laatst online: 28-05 19:41
Ow excuses! Dank voor het verplaatsen :D.

De config die ik nu gebruik heb is:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
server {
    listen 80;
    listen [::]:80;
    root /var/www/mijnwebsite;
    index index.php index.html;
    server_name www.domein.com domein.com *.domein[s][/s].com;

    
    location / {
       try_files $uri $uri/ =404;
    }
    
    location ~ \.php$ {
          fastcgi_split_path_info ^(.+\.php)(/.+)$;
          fastcgi_pass unix:/var/run/php/php7.3-fpm.sock;
          fastcgi_index index.php;
          include fastcgi_params;
          fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
          fastcgi_intercept_errors off;
          fastcgi_buffer_size 16k;
          fastcgi_buffers 4 16k;
          fastcgi_connect_timeout 600;
          fastcgi_send_timeout 600;
          fastcgi_read_timeout 600;
    }

}


Dat heb ik gehaald uit dit artikel: https://webdock.io/en/doc...tiple-websites-single-vps


Ik heb de logs even bekeken en vind daar niet veel spannends eigenlijk. De error log zegt:
code:
1
2
3
4
5
6
7
8
9
2022/03/20 10:51:35 [emerg] 8307#8307: open() "/etc/letsencrypt/options-ssl-nginx.conf" failed (2: No such file or directory) in /etc/nginx/sites-enabled/gerbendoesgraphics.conf:23
2022/03/20 10:52:21 [emerg] 8348#8348: host not found in upstream "wordpress" in /etc/nginx/sites-enabled/gerbendoesgraphics.conf:5
2022/03/20 10:52:46 [emerg] 8352#8352: invalid URL prefix in /etc/nginx/sites-enabled/gerbendoesgraphics.conf:5
2022/03/20 10:53:21 [warn] 8364#8364: conflicting server name "gerbendoesgraphics.com" on 0.0.0.0:80, ignored
2022/03/20 10:53:21 [notice] 8364#8364: signal process started
2022/03/20 10:57:03 [notice] 8456#8456: signal process started
2022/03/20 11:54:05 [emerg] 10030#10030: open() "/etc/nginx/sites-enabled/gerbendoesgraphics.conf" failed (2: No such file or directory) in /etc/nginx/nginx.conf:62
2022/03/20 11:54:50 [emerg] 10041#10041: duplicate location "/" in /etc/nginx/sites-enabled/gerbendoesgraphics:14
2022/03/20 12:09:08 [notice] 10527#10527: signal process started


Wat me daarin opvalt is dat hij aangeeft host not found in upstream "wordpress"....dat zat in mijn oude config van toen ik nog gebruik maakte van Docker / Portainer. Maar die config staat niet meer fysiek op die locatie :S. Het lijkt wel of de nieuwe config niet

De Nginx conf in /etc/ngninx/:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
user www-data;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;

events {
    worker_connections 768;
    # multi_accept on;
}

http {

    ##
    # Basic Settings
    ##

    sendfile on;
    tcp_nopush on;
    tcp_nodelay on;
    keepalive_timeout 65;
    types_hash_max_size 2048;
    # server_tokens off;

    server_names_hash_bucket_size 64;
    # server_name_in_redirect off;

    include /etc/nginx/mime.types;
    default_type application/octet-stream;

    ##
    # SSL Settings
    ##

    ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE
    ssl_prefer_server_ciphers on;

    ##
    # Logging Settings
    ##

    access_log /var/log/nginx/access.log;
    error_log /var/log/nginx/error.log;

    ##
    # Gzip Settings
    ##

    gzip on;

    # gzip_vary on;
    # gzip_proxied any;
    # gzip_comp_level 6;
    # gzip_buffers 16 8k;
    # gzip_http_version 1.1;
    # gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;

    ##
    # Virtual Host Configs
    ##

    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;
}


#mail {
#   # See sample authentication script at:
#   # http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript
# 
#   # auth_http localhost/auth.php;
#   # pop3_capabilities "TOP" "USER";
#   # imap_capabilities "IMAP4rev1" "UIDPLUS";
# 
#   server {
#       listen     localhost:110;
#       protocol   pop3;
#       proxy      on;
#   }
# 
#   server {
#       listen     localhost:143;
#       protocol   imap;
#       proxy      on;
#   }
#}

Acties:
  • 0 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 17:06

Hero of Time

Moderator LNX

There is only one Legend

Je errors zijn van afgelopen zondag. Daar staan al een paar hints in. De eerste overduidelijke is '2022/03/20 10:53:21 [warn] 8364#8364: conflicting server name "gerbendoesgraphics.com" on 0.0.0.0:80, ignored'. Dit doet mij vermoeden dat het server blok waar dit conflict in voor komt, niet gebruikt wordt.

Er zijn nog een paar regels in je snippet van de error log die niet voorkomen in de configuratie die je hier plaatst. Want het wil wat uit /etc/letsencrypt/ halen, maar je verwijst er niet naar in de config hier.

Iets zegt mij dat je of de verkeerde nginx aan het bekijken/configureren bent, of je naar oude logs zit te kijken.

Ik ben ook heel benieuwd waar je dit stukje voor gebruikt in je server_name:
code:
1
*.domein[s][/s].com

Het s-/s stukje ben ik voornamelijk nieuwsgierig naar. Wat moet dat doen? Waar heb je gevonden om dat toe te voegen? Want de link die je geeft gebruikt het niet.

Commandline FTW | Tweakt met mate


Acties:
  • 0 Henk 'm!

  • gr0bi
  • Registratie: Juni 2002
  • Laatst online: 28-05 19:41
Thanks wederom! Het lijkt mij inziens ook op de oude config die ik gebruikte toen ik met docker containers werkte. Die heb ik alleen allemaal verwijderd inclusief certbot wat ik gebruikte om letsencrypt te kunnen gebruiken. De logging zelf zie ik niets nieuwers dan dit eerlijk gezegd :S.

Het stukje
code:
1
*.domein[s][/s].com


is een user errror van mij zijde. Ik heb per ongeluk op de tekst doorhalen knop geduwd lijkt het :D. Het moet zijn:
code:
1
*.domein.com

Acties:
  • 0 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 17:06

Hero of Time

Moderator LNX

There is only one Legend

Als je alles hebt verwijdert wat je had en in principe nieuw en schoon opnieuw bent begonnen, had het handig geweest om je logs even op te ruimen. Hoe dan ook, let altijd op de timestamps in de logs. Want je error log was van zondag ochtend. Niet handig als je in de middag opnieuw begint. :P

Wat je nu kan doen is nginx stoppen, een marker in de logs schrijven (echo "---------" >> /var/log/nginx/error.log en access.log bijvoorbeeld) of je logs laten rotaten door logrotate aan te roepen met de nginx config.
Start dan nginx en kijk in de error log. Daar zou je iig iets moeten zien over het stoppen en starten. Verifieer daarna of wat je verwacht te bereiken is, controleer access.log ter bevestiging en uiteraard of nginx ook echt nog steeds draait nadat je 'm hebt gestart.

Commandline FTW | Tweakt met mate


Acties:
  • 0 Henk 'm!

  • gr0bi
  • Registratie: Juni 2002
  • Laatst online: 28-05 19:41
Goed punt inderdaad. Ik moet wat dat betreft nog wennen aan de gedachtengang dat als je iets verwijderd of "schoonmaakt" je altijd op meerdere plekken moet vegen :D.

Ik heb de toevoeging aan de logs gedaan en nginx weer gestart. De logs gaven inderdaad een update. Maar tonen alleen de echo die ik heb toegevoegd: "------"

Heb daarna via sudo systemctl status nginx gechecked of hij überhaupt wel draait:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
● nginx.service - A high performance web server and a reverse proxy server
   Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2022-03-23 07:39:49 CET; 6min ago
     Docs: man:nginx(8)
  Process: 8137 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
  Process: 8138 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
 Main PID: 8139 (nginx)
    Tasks: 5 (limit: 3462)
   Memory: 4.5M
   CGroup: /system.slice/nginx.service
           ├─8139 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
           ├─8140 nginx: worker process
           ├─8141 nginx: worker process
           ├─8142 nginx: worker process
           └─8143 nginx: worker process

Mar 23 07:39:49 Odroid-HC4-NAS systemd[1]: Starting A high performance web server and a reverse proxy server...
Mar 23 07:39:49 Odroid-HC4-NAS systemd[1]: Started A high performance web server and a reverse proxy server.


Dat lijkt allemaal legit eerlijk gezegd. maar gek dat de logs niet veel doen. Als ik overigens systemctl reload nginx doe dan voegt hij wel wat toe in de acces log namelijk:
code:
1
2022/03/23 07:50:34 [notice] 8493#8493: signal process started


Ik weet niet of mijn denkwijze hier dan klopt maar kreeg nu het vermoeden dat wellicht iets anders al op poort 80 aan het luisteren is naast nginx en dat dat conlficteerd. Ik ben toen dit tegengekomen:https://stackoverflow.com/questions/16021481/nginx-not-listening-to-port-80

de ps aux | grep nginx geeft dit als output:
code:
1
2
3
4
5
6
root      8139  0.0  0.1  54032  6776 ?        Ss   07:39   0:00 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
www-data  8494  0.0  0.0  54216  3484 ?        S    07:50   0:00 nginx: worker process
www-data  8495  0.0  0.0  54216  3484 ?        S    07:50   0:00 nginx: worker process
www-data  8496  0.0  0.0  54216  3484 ?        S    07:50   0:00 nginx: worker process
www-data  8497  0.0  0.0  54216  3484 ?        S    07:50   0:00 nginx: worker process
root      8558  0.0  0.0   4712   616 pts/0    S+   07:52   0:00 grep nginx


En lsof -n -i:80 geeft dit:
code:
1
2
3
4
5
6
7
8
9
10
nginx   8139     root    8u  IPv4 983922      0t0  TCP *:http (LISTEN)
nginx   8139     root    9u  IPv6 983923      0t0  TCP *:http (LISTEN)
nginx   8494 www-data    8u  IPv4 983922      0t0  TCP *:http (LISTEN)
nginx   8494 www-data    9u  IPv6 983923      0t0  TCP *:http (LISTEN)
nginx   8495 www-data    8u  IPv4 983922      0t0  TCP *:http (LISTEN)
nginx   8495 www-data    9u  IPv6 983923      0t0  TCP *:http (LISTEN)
nginx   8496 www-data    8u  IPv4 983922      0t0  TCP *:http (LISTEN)
nginx   8496 www-data    9u  IPv6 983923      0t0  TCP *:http (LISTEN)
nginx   8497 www-data    8u  IPv4 983922      0t0  TCP *:http (LISTEN)
nginx   8497 www-data    9u  IPv6 983923      0t0  TCP *:http (LISTEN)


Dat lijkt me eigenlijk ook allemaal prima wellicht wat veel.

Acties:
  • 0 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 17:06

Hero of Time

Moderator LNX

There is only one Legend

En? Wat heb je daarna gedaan? We verwachten nog steeds dat je zelf verder gaat met de hints die gegeven worden. Dit is niet het forum dat je stap voor stap bij je handje houdt.

Commandline FTW | Tweakt met mate


Acties:
  • 0 Henk 'm!

  • gr0bi
  • Registratie: Juni 2002
  • Laatst online: 28-05 19:41
I know, ben nog steeds aan het zoeken. vanmiddag iptables gechecked om zeker te weten dat de poort ook open staat. Ook daar stond nog een hoop oude zooi van docker 🙃

Daarna gespeurd of er iets anders toch op 80 aan het luisteren is. Blijkt, Python3 luistert ook op die poort en aan het checken hoe die uit kan tijdelijk ok te kijken of dat het is.

Acties:
  • 0 Henk 'm!

  • gr0bi
  • Registratie: Juni 2002
  • Laatst online: 28-05 19:41
Nou, na een week puzzelen, zoeken, opnieuw beginnen is het ineens gelukt. Na het een avondje te laten rusten kwam ik op een stackoverflow site die aanraadde om de logs te tailen. Daar zag ik dat hij een zwik errors kreeg continu:

code:
1
FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream,


Dat bleek om de PHP module te gaan (php7.3-fpm.sock). Die heb ik tijdelijk gewijzigd naar dezelfde naar die van openmediavault-webgui. Toen kreeg ik een melding dat de site requirements niet behaald zijn door het missen van een MySQL extensie. Toen ik die php extensies heb geinstalleerd kon ik php7.3-fpm.sock weer terugzetten in de config. De site laadde eindelijk en kon vervolgens via certbot de ssl fixen.
Pagina: 1