it-swarm.dev

Nginx لا يعمل مع عدم وجود رسالة خطأ

أحاول بدء تشغيل خادم nginx الخاص بي. عندما أكتب "$> /etc/init.d/nginx start" ، لدي رسالة تظهر "بدء تشغيل nginx:" ، ثم لا يحدث شيء. لا توجد رسالة خطأ ، وعندما أتحقق من حالة nginx ، أرى أنه لا يعمل.

إليكم ملف /etc/nginx/nginx.conf الخاص بي:

worker_processes  4;
daemon off;

error_log  /home/vincent/tmp/nginx.log;

pid        /home/vincent/tmp/nginx.pid;


events {
    worker_connections  1024;
}


http {
default_type  application/octet-stream;

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  /home/vincent/tmp/access.log  main;

sendfile        on;

keepalive_timeout  65;

include /etc/nginx/site-enabled/*;

}

وهنا ملفي/etc/nginx/sites-available/الافتراضي:

server {
  listen       80;
  server_name technical-test.neo9.lan; 

  access_log  /var/log/nginx/technical-test.neo9.lan.log main;

  set $home /home/vincent;

  location / {
    alias $home/neo9/web/app/;
    index  index.html;
  }

  location /api/ {
    rewrite  ^/api/(.*)$  /$1 break;
    proxy_pass http://localhost:1234;
    proxy_set_header Host $Host;
    proxy_set_header X-Real-IP $remote_addr;
  }
}
59
user2618928

أولاً ، دائمًا Sudo nginx -t للتحقق من أن ملفات التكوين جيدة.

وقعت في نفس المشكلة. السبب كان لي هذه القضية ذات شقين. أولاً ، قمت بنسخ ملف سجل بطريق الخطأ في مجلد تمكين الموقع الخاص بي. لقد حذفت ملف السجل وتأكدت من أن جميع الملفات الموجودة في المواقع الممكّنة كانت تكوينات موقع nginx مناسبة. لاحظت أيضًا أن اثنين من مضيفي الظاهري يستمعون لنفس المجال. لذلك تأكدت من أن كل مضيفي الظاهري لديهم أسماء نطاق فريدة.

Sudo service nginx restart

ثم عملت.

184
badmadrad

ربما يجب عليك التحقق من وجود أخطاء في /var/log/nginx/error.log.

في حالتي لم أقم بإضافة منفذ لـ ipv6. يجب عليك أيضًا القيام بذلك (في حالة تشغيل nginx على منفذ آخر غير 80): listen [::]:8000 default_server ipv6only=on;

9
Arvind Bhardwaj

تحقق من خيار البرنامج الخفي في ملف nginx.conf. يجب أن يكون ON. أو يمكنك ببساطة نسخ هذا السطر من ملف التكوين. يوصف هذا الخيار بالكامل هنا http://nginx.org/en/docs/ngx_core_module.html#daemon

3
zloboid

إحدى الحالات التي تتحقق فيها أن nginx تمسك بـ 80 منفذًا في النظام افتراضيًا ، تحقق مما إذا كان لديك أي خادم مثل Apache أو أي شيء موجود على النظام يحظر منفذ 80 رقمًا ، فقد حدثت المشكلة.

1. قمت بتغيير رقم المنفذ على nginx بهذه الطريقة ،

سودو vim/الخ/nginx/المواقع المتاحة/الافتراضي

تغيير 80 إلى 81 أو أي شيء ،

  1. تحقق كل شيء على ما يرام من قبل ،

سودو إنجن إكس -t

  1. إعادة تشغيل الخادم

خدمة سودو nginx البداية

  1. تحقق من حالة nginx:

خدمة سودو nginx الحالة

نأمل أن تنجح

3
Zahid Rahman

في ملف /etc/nginx/nginx.conf لديك:

include /etc/nginx/site-enabled/*;

وربما يكون المسار الذي تستخدمه هو:

/etc/nginx/sites-enabled/default

لاحظ المفقود s في الموقع.

3
DanielBlanco

1. ابحث عن ملفات التكوين الخاصة بك عن طريق تشغيل الأمر المذكور أعلاه: Sudo nginx -t.

2. التحقق من تعارضات المنفذ. على سبيل المثال ، إذا Apache2 (ps waux | grep Apache2) أو أي خدمة أخرى تستخدم نفس المنافذ المكونة لـ nginx (قل المنفذ 80) ، فلن تبدأ الخدمة وستفشل بصمت (يخطئ ... ابن عم صديقي كان هذه المشكلة ...)

0
gtamorim

لما يستحق: لقد واجهت نفس المشكلة ، بعد تحرير ملف nginx.conf. لقد حاولت وحاولت إعادة تشغيله عن طريق أمر Sudo nginx restart والعديد من الأوامر الأخرى. أيا منها أنتجت أي الإخراج. أعطى أمر Sudo nginx -t للتحقق من ملف التكوين الإخراج Sudo: nginx: command not found ، الذي كان محيرًا. لقد بدأت أعتقد أن هناك مشاكل في المسار.

أخيرًا ، I قمت بتسجيل الدخول كجذر (Sudo su) وأمرت Sudo nginx restart. الآن ، يعرض الأمر رسالة خطأ تتعلق بملف التكوين. بعد إصلاح ذلك ، تم إعادة تشغيله بنجاح.

0
Teemu Leisti

كان لي نفس المشكلة بالضبط مع حالتي. كانت مشكلتي أنني نسيت السماح للمنفذ 80 بالوصول إلى الخادم. ربما هذا مشكلتك كذلك؟

تحقق مع WHM وتأكد من أن المنفذ مفتوح لعنوان IP لموقعك ،

0
Kousha