NGINX unter CentOS. Aufruf der Domain führt ins leere

Werner S

Member
[Gelöst] NGINX unter CentOS. Aufruf der Domain führt ins leere

Hallo,

bisher nur Debian im Einsatz, möchte ich mich nun mit CentOS beschäftigen.

yum install nginx

Ein systemctl status nginx.service sagt mir das alles soweit Ok ist.

[
* nginx.service - The nginx HTTP and reverse proxy server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled)
Active: active (running) since Wed 2017-09-13 10:48:01 UTC; 5min ago
Process: 869 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)
Process: 866 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
Process: 863 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)
Main PID: 870 (nginx)
CGroup: /system.slice/nginx.service
|-870 nginx: master process /usr/sbin/nginx
|-871 nginx: worker process
`-872 nginx: worker process

Sep 13 10:48:01 dev systemd[1]: Starting The nginx HTTP and reverse proxy server...
Sep 13 10:48:01 dev nginx[866]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
Sep 13 10:48:01 dev nginx[866]: nginx: configuration file /etc/nginx/nginx.conf test is successful
Sep 13 10:48:01 dev systemd[1]: Started The nginx HTTP and reverse proxy server.

nginx.conf

# For more information on configuration, see:
# * Official English Documentation: http://nginx.org/en/docs/
# * Official Russian Documentation: http://nginx.org/ru/docs/

user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;

# Load dynamic modules. See /usr/share/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;

events {
worker_connections 1024;
}

http {
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';

access_log /var/log/nginx/access.log main;

sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;

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

# Load modular configuration files from the /etc/nginx/conf.d directory.
# See http://nginx.org/en/docs/ngx_core_module.html#include
# for more information.
include /etc/nginx/conf.d/*.conf;



# Settings for a TLS enabled server.
#
# server {
# listen 443 ssl http2 default_server;
# listen [::]:443 ssl http2 default_server;
# server_name _;
# root /usr/share/nginx/html;
#
# ssl_certificate "/etc/pki/nginx/server.crt";
# ssl_certificate_key "/etc/pki/nginx/private/server.key";
# ssl_session_cache shared:SSL:1m;
# ssl_session_timeout 10m;
# ssl_ciphers HIGH:!aNULL:!MD5;
# ssl_prefer_server_ciphers on;
#
# # Load configuration files for the default server block.
# include /etc/nginx/default.d/*.conf;
#
# location / {
# }
#
# error_page 404 /404.html;
# location = /40x.html {
# }
#
# error_page 500 502 503 504 /50x.html;
# location = /50x.html {
# }
# }

}

Wenn ich jetzt allerdings die IP aufrufe, läd die Seite sich zu Tode. Die Logs sind auch leer.
 
Last edited by a moderator:
Spannend ist vermutlich, was dort
Code:
 include /etc/nginx/conf.d/*.conf;
steht und passiert...

(neben so Dingen wie Firewall und Konsorten)
 
Dort steht noch gar nichts drinne.
Er müsste ja normal über die IP zumindest etwas anzeigen, so zumindest die Aussage in einigen Tutorials.

[root@dev ~]# sestatus
SELinux status: disabled

[root@dev ~]# getenforce
Disabled
 
<rant>
Viele Tutorials werden ohne wirkliches Hintergrundwissen erstellt und übernehmen häufig teilweise einfach Aussagen aus anderen Quellen, wodurch diese dann häufig einfach als "richtig" betrachtet werden, ohne das hinterfragt wird, ob das Sinn macht oder nicht.
Von daher sollte man sich, wann immer möglich, an die offizielle Dokumentation halten und dann ganz konkrete Fragen diskutieren.
</rant>

Aber zurück zum Thema:
Diese Config erhält keinerlei Anweisungen *was* nginx *wann* anzeigen soll.
Konkrete Beispiele dazu findest Du hier:
https://www.nginx.com/resources/wiki/start/topics/examples/server_blocks/

Das Du in /etc/nginx/conf.d/ keine Configdateien hast finde ich zwar merkwürdig (da jede mir bekannte Distro hier einen serverblock für die Defaultseite bereitstellt) aber man lernt ja jeden Tag dazu.

Konkret wäre also die richtige Handlung, dass Du im genannten Verzeichnis eine entsprechende Config mit Serverblock erstellst.
 
Ich kenne es auch nur so das zumindest ein Serverblock vorhanden ist, zumindest unter Debian. Unter CentOS kann ich dazu nichts sagen da ich seit Debian 3 nur Debian eingesetzt habe

Die config wurde nun angelegt

server {
listen 80;
server_name domain.de;

location / {
root /var/www/domain;
index index.html index.htm;
}

error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}

keine Fehler beim Neustart. Die Logs sind weiterhin leer und der Server gestartet.
 
Das Problem wurde gefunden.

Obwohl die Firewall deaktiviert ist, musste ich die Regeln dennoch hinzufügen.
Also Firewall starten, http(s) freigeben und wieder beenden, danach lief es.

# firewall-cmd --permanent --zone=public --add-service=http
# firewall-cmd --permanent --zone=public --add-service=https
# firewall-cmd --reload
 
Back
Top