Android

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

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

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

สารบัญ:

Anonim

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

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

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

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

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

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

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

/var/www/ ├── domain1.com │ └── public_html ├── domain2.com │ └── public_html ├── domain3.com │ └── public_html

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

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

sudo mkdir -p /var/www/example.com/public_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!

เพื่อหลีกเลี่ยงปัญหาสิทธิ์เปลี่ยนความเป็นเจ้าของของไดเรกทอรีรากของเอกสารโดเมนเป็นผู้ใช้ Nginx ( www-data ):

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

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

โดยค่าเริ่มต้นในระบบ Debian ไฟล์การกำหนดค่าเซิร์ฟเวอร์บล็อก Nginx จะถูกเก็บไว้ในไดเรกทอรี /etc/nginx/sites-available ซึ่งเปิดใช้งานผ่านลิงก์สัญลักษณ์ไปยังไดเรกทอรี /etc/nginx/sites-enabled/ directory

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

sudo nano /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-available/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; } }

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

เปิดใช้งานไฟล์บล็อกเซิร์ฟเวอร์ใหม่โดยสร้างลิงก์สัญลักษณ์จากไฟล์ไปยังไดเรกทอรีที่ sites-enabled :

sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/

ทดสอบการกำหนดค่า 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 เพื่อโฮสต์หลายโดเมนบนเซิร์ฟเวอร์ Debian เดียว คุณสามารถทำซ้ำขั้นตอนที่เราอธิบายไว้ข้างต้นและสร้างบล็อกเซิร์ฟเวอร์เพิ่มเติมสำหรับโดเมนทั้งหมดของคุณ

nginx debian

โพสต์นี้เป็นส่วนหนึ่งของวิธีการติดตั้ง LEMP Stack บน Debian 9 series

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

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