Android

วิธีการตั้งค่าบล็อกเซิร์ฟเวอร์ nginx บน centos 7

เวก้าผับ ฉบับพิเศษ

เวก้าผับ ฉบับพิเศษ

สารบัญ:

Anonim

บล็อกเซิร์ฟเวอร์ Nginx ช่วยให้คุณสามารถเรียกใช้เว็บไซต์มากกว่าหนึ่งเว็บไซต์ในเครื่องเดียว สิ่งนี้มีประโยชน์มากเพราะสำหรับแต่ละไซต์คุณสามารถระบุรูทเอกสารของไซต์ (ไดเรกทอรีที่มีไฟล์เว็บไซต์) สร้างนโยบายความปลอดภัยแยกต่างหากใช้ใบรับรอง SSL ที่แตกต่างกันและอีกมากมาย

ในบทช่วยสอนนี้เราจะอธิบายวิธีตั้งค่าบล็อกเซิร์ฟเวอร์ Nginx บน CentOS 7

ข้อกำหนดเบื้องต้น

ตรวจสอบให้แน่ใจว่าคุณได้ทำตามข้อกำหนดเบื้องต้นต่อไปนี้ก่อนที่จะดำเนินการกับบทช่วยสอนนี้:

  • มีชื่อโดเมนที่ชี้ไปที่ IP เซิร์ฟเวอร์สาธารณะของคุณ ในบทช่วยสอนนี้เราจะใช้ example.com มี Nginx ติดตั้งในระบบ CentOS ของคุณเข้าสู่ระบบในฐานะผู้ใช้ที่มีสิทธิ์ sudo
ในเอกสารบางอย่างคุณจะเห็น Server Blocks ถูกเรียกว่า Virtual host โฮสต์เสมือนเป็นคำ Apache

สร้างโครงสร้างไดเรกทอรี

Document root คือไดเร็กทอรีที่ไฟล์เว็บไซต์สำหรับชื่อโดเมนถูกเก็บไว้และตอบสนองต่อการร้องขอ เราสามารถตั้งค่า root ของเอกสารเป็นตำแหน่งที่เราต้องการ แต่ในคู่มือนี้เราจะใช้โครงสร้างไดเรกทอรีต่อไปนี้:

/var/www/ ├── example.com │ └── public_html ├── example2.com │ └── public_html ├── example3.com │ └── public_html

โดยทั่วไปเรากำลังสร้างไดเรกทอรีแยกต่างหากสำหรับแต่ละโดเมนที่เราต้องการโฮสต์บนเซิร์ฟเวอร์ของเราภายในไดเรกทอรี /var/www ภายในไดเรกทอรีนี้เราจะสร้างไดเรกทอรี public_html ซึ่งจะเป็นไดเรกทอรีรากของเอกสารโดเมนและจะจัดเก็บไฟล์เว็บไซต์โดเมน

เริ่มต้นด้วยการสร้างไดเรกทอรีรากสำหรับโดเมนของเรา example.com :

sudo mkdir -p /var/www/example.com/public_html

สำหรับวัตถุประสงค์ในการทดสอบเราจะสร้างไฟล์ index.html ภายในไดเรกทอรีรากของเอกสาร

เปิดโปรแกรมแก้ไขข้อความของคุณและสร้างไฟล์ index.html :

sudo nano /var/www/example.com/public_html/index.html

คัดลอกและวางรหัสต่อไปนี้ลงในไฟล์:

/var/www/example.com/public_html/index.html

<code> Welcome to example.com Success! example.com home page! </code>

Welcome to example.com Success! example.com home page!

ในคู่มือนี้เรากำลังเรียกใช้คำสั่งในฐานะผู้ใช้ sudo และไฟล์และไดเรกทอรีที่สร้างขึ้นใหม่เป็นของผู้ใช้รูท

เพื่อหลีกเลี่ยงปัญหาการอนุญาตใด ๆ เราสามารถเปลี่ยนความเป็นเจ้าของของไดเรกทอรีรากของเอกสารโดเมนเป็นผู้ใช้ Nginx ( nginx ):

sudo chown -R nginx: /var/www/example.com

สร้างเซิร์ฟเวอร์บล็อก

ไฟล์การกำหนดค่าบล็อกเซิร์ฟเวอร์ Nginx ต้องลงท้ายด้วย. .conf และเก็บไว้ในไดเร็กทอรี /etc/nginx/conf.d

เปิดโปรแกรมแก้ไขที่คุณเลือกและสร้างไฟล์กำหนดค่าเซิร์ฟเวอร์บล็อกสำหรับ example.com

sudo nano /etc/nginx/conf.d/example.com.conf คุณสามารถตั้งชื่อไฟล์กำหนดค่าตามที่คุณต้องการ แต่โดยปกติแล้วจะเป็นการดีที่สุดที่จะใช้ชื่อโดเมน

คัดลอกและวางรหัสต่อไปนี้ลงในไฟล์:

/etc/nginx/conf.d/example.com.conf

server { listen 80; listen:80; root /var/www/example.com/public_html; index index.html; server_name example.com www.example.com; access_log /var/log/nginx/example.com.access.log; error_log /var/log/nginx/example.com.error.log; location / { try_files $uri $uri/ =404; } }

บันทึกไฟล์และทดสอบการกำหนดค่า Nginx เพื่อหาไวยากรณ์ที่ถูกต้อง:

sudo nginx -t

หากไม่มีข้อผิดพลาดเอาต์พุตจะเป็นดังนี้:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful

เริ่มบริการ Nginx เพื่อให้การเปลี่ยนแปลงมีผล:

sudo systemctl restart nginx

ขั้นตอนสุดท้ายเพื่อยืนยันว่าเซิร์ฟเวอร์บล็อกทำงานตามที่คาดไว้เปิด http://example.com ในเบราว์เซอร์ที่คุณเลือกและคุณจะเห็นสิ่งต่อไปนี้:

ข้อสรุป

คุณได้เรียนรู้วิธีสร้างการกำหนดค่าบล็อกเซิร์ฟเวอร์ Nginx เพื่อโฮสต์หลายโดเมนบนเซิร์ฟเวอร์ CentOS เดียว คุณสามารถทำซ้ำขั้นตอนที่เราอธิบายไว้ข้างต้นและสร้างบล็อกเซิร์ฟเวอร์เพิ่มเติมสำหรับโดเมนทั้งหมดของคุณ

รักษาความปลอดภัย Nginx ด้วย Let's Encrypt บน CentOS 7

nginx centos

โพสต์นี้เป็นส่วนหนึ่งของซีรีส์ install-lemp-stack-on-centos-7

โพสต์อื่น ๆ ในชุดนี้:

•วิธีการติดตั้ง Nginx บน CentOS 7 •รักษาความปลอดภัย Nginx ด้วย Let's Encrypt บน CentOS 7 •ติดตั้ง MariaDB บน ​​CentOS 7 •ติดตั้ง PHP 7 บน CentOS 7 •วิธีการตั้งค่า Nginx เซิร์ฟเวอร์บล็อกบน CentOS 7