Android

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

Moodle - install moodle version 3.5 on Ubuntu 18.04

Moodle - install moodle version 3.5 on Ubuntu 18.04

สารบัญ:

Anonim

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

ในบทช่วยสอนนี้เราจะให้คำแนะนำทีละขั้นตอนเกี่ยวกับวิธีการตั้งค่าบล็อกเซิร์ฟเวอร์ Nginx (คล้ายกับ Apache Virtual Hosts) บน Ubuntu 18.04

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

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

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

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

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

/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 ภายในไดเรกทอรีรากของเอกสาร

เปิดโปรแกรมแก้ไขและสร้างไฟล์ตัวอย่าง:

/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 ( www-data ):

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

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

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

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

/etc/nginx/sites-available/example.com

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 ซึ่ง Nginx อ่านในระหว่างการเริ่มต้น:

sudo ln -s /etc/nginx/sites-available/example.com /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 เพื่อโฮสต์หลายโดเมนบนเซิร์ฟเวอร์ Ubuntu เดียว คุณสามารถทำซ้ำขั้นตอนที่เราอธิบายไว้ข้างต้นและสร้างบล็อกเซิร์ฟเวอร์เพิ่มเติมสำหรับโดเมนทั้งหมดของคุณ

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

nginx ubuntu

โพสต์นี้เป็นส่วนหนึ่งของซีรี่ส์ How-to-install-lemp-stack-on-ubuntu-18-04

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

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