بستهٔ نصب‌شده، سرویس فعال و سایت قابل دسترس سه وضعیت متفاوت‌اند. امشب نصب را در شاخهٔ Debian انجام می‌دهیم و هر سه را بررسی می‌کنیم.

این جلسه بخشی از دورهٔ انجین‌اکس در ۵۰ شب است. قرارداد آزمایشگاه، مسیرها و روال اعمال تغییر در راهنمای دوره آمده است.

محیط: Debian 13 یا Ubuntu Server 24.04، VM تمیز و حساب sudo. متغیرهای همین شاخه را از راهنما تعریف کن.

نصب از مخزن توزیع#

sudo apt update
sudo apt install nginx curl openssl apache2-utils python3 python3-venv
sudo systemctl enable --now nginx
sudo nginx -t
nginx -v
sudo systemctl status nginx --no-pager
curl -i http://127.0.0.1/

بستهٔ apache2-utils فقط برای htpasswd است و سرویس Apache نصب نمی‌کند. enable --now اجرای بوت و اجرای فعلی را تنظیم می‌کند. پاسخ صفحهٔ پیش‌فرض هنوز به معنی آماده بودن سایت خودمان نیست.

sudo ss -lntp
sudo journalctl -u nginx -n 30 --no-pager
dpkg-query -W nginx

از .20 نیز curl -i http://192.168.57.10/ را اجرا کن. اگر محلی موفق و راه دور ناموفق است، مسیر شبکه و فایروال را بررسی کن؛ syntax test این مشکلات را تشخیص نمی‌دهد.

مسیرها و نسخه#

فایل اصلی /etc/nginx/nginx.conf، سایت‌های پیشنهادی sites-available، سایت‌های فعال sites-enabled و لاگ‌ها /var/log/nginx/ هستند. کارگر بستهٔ توزیع معمولاً با www-data اجرا می‌شود؛ مقدار user را از config بخوان.

Debian 13 و Ubuntu 24.04 ممکن است Nginx با نسخهٔ پایهٔ متفاوت بدهند؛ شمارهٔ دقیق و revision بسته را ثبت کن. بسته‌های nginx.org و توزیع layout و مجموعهٔ ماژول یکسانی ندارند؛ آن‌ها را وسط دوره بدون برنامهٔ مهاجرت مخلوط نکن.

آزمون و بازگشت: reboot آزمایشگاهی انجام بده و پاسخ تازه بگیر. برای توقف، sudo systemctl disable --now nginx تنظیم بوت و سرویس را خاموش می‌کند ولی config باقی می‌ماند.

منبع: بستهٔ Nginx در Debian ، نسخه‌های بستهٔ Ubuntu .