ข้อผิดพลาด nginx“ ชื่อเซิร์ฟเวอร์ที่ขัดแย้งกัน” ถูกละเว้น [ปิด]


125
server {
    #listen   80; ## listen for ipv4; this line is default and implied
    #listen   [::]:80 default ipv6only=on; ## listen for ipv6

    #root /usr/share/nginx/www;

root /home/ubuntu/node-login;
    # Make site accessible from 
    server_name ec2-xx-xx-xxx-xxx.us-west-1.compute.amazonaws.com;

location /{
    proxy_pass http://127.0.0.1:8000/;
    proxy_redirect off;
}

}

สิ่งนี้ส่งผลให้เกิดข้อผิดพลาด nignx [คำเตือน] ชื่อเซิร์ฟเวอร์ที่ขัดแย้งกัน "ec2 ... " เมื่อ 0.0.0.0:80 ละเว้นฉันไม่เข้าใจคำอธิบายใด ๆ ชื่นชม ขอบคุณ


ดูเหมือนว่าจะมีค่าเริ่มต้นโดยปริยาย 0.0.0.0:80 การเพิ่มมันใช้งานได้อย่างชัดเจนสำหรับฉัน ฟัง ec2-xx-xx-xxx-xxx.us-west-1.compute.amazonaws.com:80; ตามด้วยคำสั่ง server_name ใช้งานได้
user1447121

1
ตรวจสอบว่ามีการเชื่อมโยง/etc/nginx/sites-available/<site-name> /etc/nginx/sites-enabled/<site-name>ไฟล์เพิ่มเติมที่นี่อาจมีการกำหนดค่าที่ซ้ำกันหรือขัดแย้งกัน
Hanxue

การเปลี่ยนconfig.force_ssl = trueเพื่อfalseแก้ไขปัญหาของฉันฉันใช้เวลาหลายวันกว่าจะคิดออก
Muyide Ibukun

1
สำหรับฉันข้อผิดพลาดเดียวกันนี้เกิดจากเซมิโคลอนที่ขาดหายไปที่ส่วนท้ายของserver_nameบรรทัดใดบรรทัดหนึ่งเมื่อฉันมีหลายserverรายการ
Kevin

2
Certbot จาก LetsEncrypt ได้เพิ่มบล็อกเซิร์ฟเวอร์ในไฟล์เริ่มต้นในกรณีของฉัน นั่นทำให้ฉันพยายามรับใบรับรองก่อนที่จะตั้งค่าบล็อกเซิร์ฟเวอร์แยกต่างหาก
Alex D

คำตอบ:


162

ฉันคิดว่าคุณกำลังใช้งาน Linux และคุณกำลังใช้ gEdit เพื่อแก้ไขไฟล์ของคุณ ในไฟล์/etc/nginx/sites-enabledนั้นอาจมีไฟล์ temp เช่นdefault~(ดู~)

ขึ้นอยู่กับตัวแก้ไขของคุณไฟล์อาจถูกตั้งชื่อ.saveหรืออะไรทำนองนั้น เพียงแค่เรียกใช้$ ls -lahเพื่อดูว่าไฟล์ใดที่ไม่ได้ตั้งใจจะอยู่ที่นั่นและลบออก (ขอบคุณ@Tischสำหรับสิ่งนี้)

ลบไฟล์นี้และจะช่วยแก้ปัญหาของคุณได้


แก้ไขปัญหาให้ฉันบน Ubuntu 12.04 x86_64 + nginx
Stephen Sprinkle

1
คุณสามารถชี้แจง? ฉันไม่เห็นไฟล์ "default ~" ใด ๆ เลยใน / etc / nginx / sites-enable เฉพาะโฟลเดอร์ "default"
David Saintloth

3
@Jakobud /etc/nginx/sites-enabledค่ะ. ฉันได้แก้ไขคำตอบของฉันเพื่อพูดถึงมัน
Omar Al-Ithawi

3
ฉันมีไฟล์. save ที่เป็นสาเหตุของปัญหา
Tisch

2
ในกรณีของฉันการกำหนดค่า emac บางตัวสร้างไฟล์ที่มีการนำหน้าและต่อท้าย#เช่น#portal#.
taffit

31

คุณมีที่อื่นserver_name ec2-xx-xx-xxx-xxx.us-west-1.compute.amazonaws.comในการกำหนดค่า


2
ฉันตรวจสอบแล้วและไม่พบอะไรเลย จะไม่ให้คำเตือนนี้เมื่อฉันลบ "ec2_xxx ... " มีค่าเริ่มต้นโดยนัยสำหรับ 0.0.0.0:80 ในการกำหนดค่า nginx หรือไม่
user1447121


2
นี่คือมันสำหรับฉัน localhostแต่มันเป็น
Rohmer

12

ควรมีการกำหนด localhost เพียงรายการเดียวตรวจสอบไซต์ที่เปิดใช้งานหรือ nginx.conf


8
ฉันมีคำสั่ง "server_name" ที่เหมือนกันสองคำในไฟล์ * .conf สองไฟล์ที่แยกจากกัน ขอบคุณ
Felipe Alvarez

1
สิ่งนี้ช่วยแก้ปัญหาของฉันได้เช่นกัน ฉันวางบล็อกเซิร์ฟเวอร์เดียวกัน 2 บล็อกไว้ในไฟล์ * .conf ที่แตกต่างกัน ขอบคุณ!
Pranav Jituri

1
ตรวจสอบไฟล์ทั้งหมดในไดเร็กทอรีนี้ด้วย: /etc/nginx/conf.d. แต่ละโดเมนสามารถปรากฏได้เพียงครั้งเดียว (เป็นservernameค่า) ระหว่างไฟล์ในไดเร็กทอรีนั้นด้วย นั่นคือปัญหาของฉัน!
SherylHohman
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.