Score:0

ไม่สามารถรีสตาร์ท nginx ฉันคิดว่าจะทำอย่างไรกับพอร์ต 80

ธง by

ฉันกำลังทำตามการสอนขวดแก้วของ Corey Schafer

ฉันกำลังพยายามปรับใช้กับเซิร์ฟเวอร์ Linux แต่ไม่สามารถใช้งาน nginx ได้

นี่คือคำสั่งที่ฉันใช้ไปแล้ว:

sudo apt ติดตั้ง nginx

pip ติดตั้ง gunicorn

sudo rm /etc/nginx/sites-enabled/default

ฉันได้ลองสร้างและแก้ไขไฟล์ใหม่แล้ว:

sudo nano /etc/nginx/sites-enabled/flaskblog

นี่คือสิ่งที่ฉันป้อนลงในไฟล์นั้น:

เซิร์ฟเวอร์ {
    ฟัง 80;
    server_name DOMAIN_IP;

    ตำแหน่ง / คงที่ {
        นามแฝง /Users/myname/VScode/Flask_Blog/flaskblog/static;
    }

    ที่ตั้ง / {
        proxy_pass http://localhost:8000;
        รวม /etc/nginx/proxy_params;
        ปิด proxy_redirect;
    }
}

จากนั้นฉันก็วิ่ง

sudo nano ufw อนุญาต http/tcp

sudo ufw ลบอนุญาต 5,000

sudo ufw เปิดใช้งาน

จากนั้นเมื่อฉันพยายามรีสตาร์ท nginx ฉันพบข้อผิดพลาด

sudo systemctl รีสตาร์ท nginx

ผลิต

งานสำหรับ nginx.service ล้มเหลวเนื่องจากกระบวนการควบคุมออกโดยมีรหัสข้อผิดพลาด
ดู "สถานะ systemctl nginx.service" และ "journalctl -xeu nginx.service" สำหรับรายละเอียด

สถานะ systemctl nginx.service

ผลิต:

    nginx.service - เว็บเซิร์ฟเวอร์ประสิทธิภาพสูงและเซิร์ฟเวอร์พร็อกซีย้อนกลับ
         โหลดแล้ว: โหลดแล้ว (/lib/systemd/system/nginx.service; เปิดใช้งาน; การตั้งค่าล่วงหน้าของผู้ขาย: เปิดใช้งาน)
         ใช้งานอยู่: ล้มเหลว (ผลลัพธ์: exit-code) ตั้งแต่วันอังคารที่ 2022-05-31 06:33:22 UTC; 4 นาที 6 วินาทีที่แล้ว
           เอกสาร: man:nginx(8)
        กระบวนการ: 62279 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process บน; (รหัส=ออก, สถานะ=0/SUCC>
        กระบวนการ: 62280 ExecStart=/usr/sbin/nginx -g daemon on; master_process บน; (รหัส=ออก, สถานะ=1/ล้มเหลว)

sudo systemctl สถานะ nginx

ผลิต:

    nginx.service - เว็บเซิร์ฟเวอร์ประสิทธิภาพสูงและเซิร์ฟเวอร์พร็อกซีย้อนกลับ
     โหลดแล้ว: โหลดแล้ว (/lib/systemd/system/nginx.service; เปิดใช้งาน; การตั้งค่าล่วงหน้าของผู้ขาย: เปิดใช้งาน)
     ใช้งานอยู่: ล้มเหลว (ผลลัพธ์: exit-code) ตั้งแต่วันพุธที่ 2022-06-01 09:41:07 UTC; 2 นาที 5 วินาทีที่แล้ว
       เอกสาร: man:nginx(8)
    กระบวนการ: 66304 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process บน; (รหัส=ออก, สถานะ=1/ล้มเหลว)
        ซีพียู: 11ms

Jun 01 09:41:07 flask-server systemd[1]: การเริ่มต้นเว็บเซิร์ฟเวอร์ประสิทธิภาพสูงและพร็อกซีเซิร์ฟเวอร์แบบย้อนกลับ...
1 มิ.ย. 09:41:07 กระติกน้ำเซิร์ฟเวอร์ nginx [66304]: nginx: [ฉุกเฉิน] คำสั่งที่ไม่รู้จัก "/Users/charleserrington/VScode/Flask_Blog/flaskblog" ใน /etc/nginx/sites-enabled/flaskblog:6
1 มิ.ย. 09:41:07 กระติกน้ำเซิร์ฟเวอร์ nginx [66304]: nginx: ไฟล์การกำหนดค่า /etc/nginx/nginx.conf การทดสอบล้มเหลว
01 มิ.ย. 09:41:07 กระติกน้ำเซิร์ฟเวอร์ systemd [1]: nginx.service: ออกจากกระบวนการควบคุม, รหัส = ออก, สถานะ = 1 / ล้มเหลว
01 มิ.ย. 09:41:07 flask-server systemd[1]: nginx.service: ล้มเหลวด้วยผลลัพธ์ 'exit-code'
Jun 01 09:41:07 flask-server systemd[1]: ไม่สามารถเริ่มเว็บเซิร์ฟเวอร์ประสิทธิภาพสูงและพร็อกซีเซิร์ฟเวอร์ย้อนกลับ

sudo นาโน /var/log/nginx/error.log

ผลิต:

31/05/2022 05:54:02 [ฉุกเฉิน] 61717#61717: การผูก () ถึง 0.0.0.0:80 ล้มเหลว (98: ข้อผิดพลาดที่ไม่รู้จัก)
31/05/2022 05:54:02 [ฉุกเฉิน] 61717#61717: การผูก () กับ [::]:80 ล้มเหลว (98: ข้อผิดพลาดที่ไม่รู้จัก)
31/05/2022 05:54:02 [ฉุกเฉิน] 61717#61717: การผูก () ถึง 0.0.0.0:80 ล้มเหลว (98: ข้อผิดพลาดที่ไม่รู้จัก)
31/05/2022 05:54:02 [ฉุกเฉิน] 61717#61717: การผูก () กับ [::]:80 ล้มเหลว (98: ข้อผิดพลาดที่ไม่รู้จัก)
31/05/2022 05:54:02 [ฉุกเฉิน] 61717#61717: การผูก () ถึง 0.0.0.0:80 ล้มเหลว (98: ข้อผิดพลาดที่ไม่รู้จัก)
31/05/2022 05:54:02 [ฉุกเฉิน] 61717#61717: การผูก () กับ [::]:80 ล้มเหลว (98: ข้อผิดพลาดที่ไม่รู้จัก)
31/05/2022 05:54:02 [ฉุกเฉิน] 61717#61717: การผูก () ถึง 0.0.0.0:80 ล้มเหลว (98: ข้อผิดพลาดที่ไม่รู้จัก)
31/05/2022 05:54:02 [ฉุกเฉิน] 61717#61717: การผูก () กับ [::]:80 ล้มเหลว (98: ข้อผิดพลาดที่ไม่รู้จัก)
31/05/2022 05:54:02 [ฉุกเฉิน] 61717#61717: การผูก () ถึง 0.0.0.0:80 ล้มเหลว (98: ข้อผิดพลาดที่ไม่รู้จัก)
31/05/2022 05:54:02 [ฉุกเฉิน] 61717#61717: การผูก () กับ [::]:80 ล้มเหลว (98: ข้อผิดพลาดที่ไม่รู้จัก)
31/05/2022 05:54:02 [ฉุกเฉิน] 61717#61717: ยังไม่สามารถผูก()
31/05/2022 06:06:31 [ฉุกเฉิน] 62174#62174: การผูก () ถึง 0.0.0.0:80 ล้มเหลว (98: ข้อผิดพลาดที่ไม่รู้จัก)
31/05/2022 06:06:31 [ฉุกเฉิน] 62174#62174: การผูก () ถึง 0.0.0.0:80 ล้มเหลว (98: ข้อผิดพลาดที่ไม่รู้จัก)
31/05/2022 06:06:31 [ฉุกเฉิน] 62174#62174: การผูก () ถึง 0.0.0.0:80 ล้มเหลว (98: ข้อผิดพลาดที่ไม่รู้จัก)
31/05/2022 06:06:31 [ฉุกเฉิน] 62174#62174: การผูก () ถึง 0.0.0.0:80 ล้มเหลว (98: ข้อผิดพลาดที่ไม่รู้จัก)
31/05/2022 06:06:31 [ฉุกเฉิน] 62174#62174: การผูก () ถึง 0.0.0.0:80 ล้มเหลว (98: ข้อผิดพลาดที่ไม่รู้จัก)
31/05/2022 06:06:31 [ฉุกเฉิน] 62174#62174: ยังไม่สามารถผูกได้ ()
31/05/2022 06:10:15 [ฉุกเฉิน] 62189#62189: การผูก () ถึง 0.0.0.0:80 ล้มเหลว (98: ข้อผิดพลาดที่ไม่รู้จัก)
31/05/2022 06:10:15 [ฉุกเฉิน] 62189#62189: การผูก () ถึง 0.0.0.0:80 ล้มเหลว (98: ข้อผิดพลาดที่ไม่รู้จัก)
31/05/2022 06:10:15 [ฉุกเฉิน] 62189#62189: การผูก () ถึง 0.0.0.0:80 ล้มเหลว (98: ข้อผิดพลาดที่ไม่รู้จัก)
31/05/2022 06:10:15 [ฉุกเฉิน] 62189#62189: การผูก () ถึง 0.0.0.0:80 ล้มเหลว (98: ข้อผิดพลาดที่ไม่รู้จัก)
31/05/2022 06:10:15 [ฉุกเฉิน] 62189#62189: การผูก () ถึง 0.0.0.0:80 ล้มเหลว (98: ข้อผิดพลาดที่ไม่รู้จัก)
31/05/2022 06:10:15 [ฉุกเฉิน] 62189#62189: ยังไม่สามารถผูก()
31/05/2022 06:23:31 [ฉุกเฉิน] 62221#62221: การผูก () ถึง 0.0.0.0:80 ล้มเหลว (98: ข้อผิดพลาดที่ไม่รู้จัก)
31/05/2022 06:23:31 [ฉุกเฉิน] 62221#62221: การผูก () ถึง 0.0.0.0:80 ล้มเหลว (98: ข้อผิดพลาดที่ไม่รู้จัก)
31/05/2022 06:23:31 [ฉุกเฉิน] 62221#62221: การผูก () ถึง 0.0.0.0:80 ล้มเหลว (98: ข้อผิดพลาดที่ไม่รู้จัก)
31/05/2022 06:23:31 [ฉุกเฉิน] 62221#62221: การผูก () ถึง 0.0.0.0:80 ล้มเหลว (98: ข้อผิดพลาดที่ไม่รู้จัก)
31/05/2022 06:23:31 [ฉุกเฉิน] 62221#62221: การผูก () ถึง 0.0.0.0:80 ล้มเหลว (98: ข้อผิดพลาดที่ไม่รู้จัก)
31/05/2022 06:23:31 [ฉุกเฉิน] 62221#62221: ยังไม่สามารถผูก()
31/05/2022 06:33:20 [ฉุกเฉิน] 62280#62280: การผูก () ถึง 0.0.0.0:80 ล้มเหลว (98: ข้อผิดพลาดที่ไม่รู้จัก)
31/05/2022 06:33:20 [ฉุกเฉิน] 62280#62280: การผูก () ถึง 0.0.0.0:80 ล้มเหลว (98: ข้อผิดพลาดที่ไม่รู้จัก)
31/05/2022 06:33:20 [ฉุกเฉิน] 62280#62280: การผูก () ถึง 0.0.0.0:80 ล้มเหลว (98: ข้อผิดพลาดที่ไม่รู้จัก)
31/05/2022 06:33:20 [ฉุกเฉิน] 62280#62280: การผูก () ถึง 0.0.0.0:80 ล้มเหลว (98: ข้อผิดพลาดที่ไม่รู้จัก)
31/05/2022 06:33:20 [ฉุกเฉิน] 62280#62280: การผูก () ถึง 0.0.0.0:80 ล้มเหลว (98: ข้อผิดพลาดที่ไม่รู้จัก)
31/05/2022 06:33:20 [ฉุกเฉิน] 62280#62280: ยังไม่สามารถผูกได้ ()
2022/06/01 05:54:41 [ฉุกเฉิน] 65391#65391: การผูก () ถึง 0.0.0.0:80 ล้มเหลว (98: ข้อผิดพลาดที่ไม่รู้จัก)

ดูเหมือนว่าข้อผิดพลาดทั้งหมดจะไม่มีใครทราบ ดังนั้นฉันจึงไม่แน่ใจว่าควรไปที่ใดจากที่นี่

ฉันอ่านข้อความเกี่ยวกับข้อผิดพลาดของเซิร์ฟเวอร์และสแต็กโอเวอร์โฟลว์จำนวนมาก และดูเหมือนว่ามันเกี่ยวข้องกับพอร์ต 80 ฉันรันคำสั่งหลายคำสั่งที่แนะนำ รวมถึง:

netstat -tnlp | grep -w 80
netstat -ano|grep 80|grep ฟัง
sudo netstat -lnp
sudo lsof -i :80
kill -9 65734 (ฉันไม่ได้รับอนุญาตให้เรียกใช้สิ่งนี้)
netstat -tulpn
grep -rnw /etc/nginx/ -e '80'

และหนึ่งในคำสั่งเหล่านี้ทำให้มันใช้งานได้และอนุญาตให้ฉันรีสตาร์ท nginx และเข้าถึงเว็บไซต์ได้ แต่ฉันไม่รู้ว่าอันไหนและตอนนี้มันพังอีกครั้ง แต่ครั้งล่าสุดดูเหมือนว่ามีบางอย่างที่พอร์ต 80 แต่ตอนนี้เมื่อฉันรัน ตรวจสอบว่าไม่มีอะไรที่พอร์ต 80 ดูเหมือนว่าฉันจะหลงทางมากกว่าเดิม

แก้ไข:

ดังที่ Nick Andriopoulos ชี้ว่าปัญหาน่าจะเกิดจาก

ตำแหน่ง / คงที่ {
    นามแฝง /Users/myname/VScode/Flask_Blog/flaskblog/static;
}

ฉันเปลี่ยนสิ่งนี้เป็น

ตำแหน่ง / คงที่ {
    รูท /Users/myname/VScode/Flask_Blog/flaskblog/;
}

เมื่อฉันทำสิ่งนี้แล้ว ฉันสามารถรีสตาร์ท nginx และตอนนี้ไซต์ก็ทำงาน แต่ตอนนี้ nginx ไม่พบไฟล์สแตติก

ฉันตรวจสอบบันทึกข้อผิดพลาดแล้วและเห็นข้อความประเภทนี้หลายบรรทัด:

   2022/06/03 06:09:42 [ข้อผิดพลาด] 71064#71064: *1 open() "/Users/myname/VScode/Flask_Blog/flaskblog/static/main.css" ล้มเหลว (2: ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว) ไคลเอ็นต์: 217.146.83.247 เซิร์ฟเวอร์: IP คำขอ: "GET /static/main.css HTTP/1.1" โฮสต์: "IP" ผู้อ้างอิง: "http://IP/"
2022/06/03 06:09:42 [ข้อผิดพลาด] 71064#71064: *1 open() "/Users/myname/VScode/Flask_Blog/flaskblog/static/profile_pics/271fcf0ffe2a92aa.jpg" ล้มเหลว (2: ไม่มีไฟล์ดังกล่าวหรือ ไดเรกทอรี), ไคลเอ็นต์: 217.146.83.247, เซิร์ฟเวอร์: IP, คำขอ: "GET /static/profile_pics/271fcf0ffe2a92aa.jpg HTTP/1.1", โฮสต์: "IP", ผู้อ้างอิง: "http://IP/"
2022/06/03 06:09:42 [ข้อผิดพลาด] 71064#71064: *4 open() "/Users/myname/VScode/Flask_Blog/flaskblog/static/profile_pics/default.jpg" ล้มเหลว (2: ไม่มีไฟล์ดังกล่าวหรือ ไดเรกทอรี), ไคลเอ็นต์: 217.146.83.247, เซิร์ฟเวอร์: IP, คำขอ: "GET /static/profile_pics/default.jpg HTTP/1.1", โฮสต์: "IP", ผู้อ้างอิง: "http://IP/"
2022/06/03 06:09:45 [ข้อผิดพลาด] 71064#71064: *4 open() "/Users/myname/VScode/Flask_Blog/flaskblog/static/main.css" ล้มเหลว (2: ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว) ไคลเอ็นต์: 217.146.83.247 เซิร์ฟเวอร์: IP คำขอ: "GET /static/main.css HTTP/1.1" โฮสต์: "IP" ผู้อ้างอิง: "http://IP/home"

ดังนั้น nginx จึงไม่สามารถค้นหา/เข้าถึงเส้นทางที่ฉันตั้งไว้ได้

มันเป็นเส้นทางที่ถูกต้อง ถ้าฉัน "ไปที่โฟลเดอร์" บน Mac ของฉันและวางในไฟล์และโฟลเดอร์ทั้งหมดที่นั่น ขอบคุณสำหรับความช่วยเหลือใด ๆ

Score:0
ธง in

จากผลลัพธ์ของคุณ ดูเหมือนว่าปัญหาเกี่ยวข้องกับการกำหนดค่าแบบกำหนดเองของคุณ:

sudo systemctl สถานะ nginx:

1 มิ.ย. 09:41:07 กระติกน้ำเซิร์ฟเวอร์ nginx [66304]: nginx: [ฉุกเฉิน] คำสั่งที่ไม่รู้จัก "/Users/charleserrington/VScode/Flask_Blog/flaskblog" ใน /etc/nginx/sites-enabled/flaskblog:6
1 มิ.ย. 09:41:07 กระติกน้ำเซิร์ฟเวอร์ nginx [66304]: nginx: ไฟล์การกำหนดค่า /etc/nginx/nginx.conf การทดสอบล้มเหลว
01 มิ.ย. 09:41:07 กระติกน้ำเซิร์ฟเวอร์ systemd [1]: nginx.service: ออกจากกระบวนการควบคุม, รหัส = ออก, สถานะ = 1 / ล้มเหลว

ข้อผิดพลาดเหล่านี้หมายความว่าบรรทัด

    ตำแหน่ง / คงที่ {
        นามแฝง /Users/myname/VScode/Flask_Blog/flaskblog/static;
    }

มีแนวโน้มมากที่สุดที่เซิร์ฟเวอร์จะไม่เริ่มทำงาน บันทึกการผูกมาหลังจากนั้น

โปรดยืนยันว่าเส้นทางด้านบน ( /Users/myname/VScode/Flask_Blog/flaskblog/static มีอยู่และสามารถเข้าถึงได้โดยกระบวนการ nginx

by flag
ฉันคิดว่าคุณถูก. ขอขอบคุณ. ฉันได้แก้ไขด้านล่างของคำถามด้านบนเนื่องจากการจัดรูปแบบในส่วนความคิดเห็นนั้นแย่มาก คุณช่วยตรวจสอบสิ่งที่ฉันเขียนไว้ด้านล่าง EDIT:?
Score:-1
ธง in

ฉันคิดว่าพอร์ต 80 ทำงานภายใต้เว็บเซิร์ฟเวอร์ apache คุณไม่สามารถเรียกใช้เว็บเซิร์ฟเวอร์สองเครื่องพร้อมกันได้

ก่อนอื่น คุณตรวจสอบว่าพอร์ต 80 กำลังทำงานอยู่

sudo netstat -plunt | เกรป 80

tcp6 0 0 :::80 :::* ฟัง 1573456/apache2

หากกำลังทำงานอยู่ ให้ปิดใช้งาน apache:

sudo บริการ apache2 หยุด

ตอนนี้เริ่ม Nginx:

sudo บริการ nginx เริ่มต้น
in flag
เอาต์พุตของคำสั่งนั้นอยู่ใน op แล้วและแสดงว่าไม่มีสิ่งใดฟังอยู่บนพอร์ตนั้น

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา