learn

نصب Nginx در اوبونتو؛ تنظیم Server Block و بررسی سایت

راهنمای راه‌اندازی سایت ایستا با Nginx در Ubuntu و تفکیک نصب پایه از PHP و HTTPS.

نصب Nginx در اوبونتو می‌تواند نقطهٔ شروع ارائهٔ فایل‌های سایت یا ساخت پراکسی معکوس باشد. این آموزش یک سایت HTML روی Ubuntu پشتیبانی‌شده، مانند 24.04 LTS، را راه‌اندازی می‌کند. تنظیم PHP، وردپرس و TLS به مراحل اختصاصی دیگری نیاز دارد.

قبل از نصب Nginx در اوبونتو

دسترسی sudo، دامنهٔ آزمایشی و نسخهٔ سیستم را مشخص کنید. روی سرور دارای سایت فعال یا کنترل‌پنل، ابتدا مسئول پیکربندی وب‌سرور را بشناسید. Nginx و Apache بدون تنظیم جدا نمی‌توانند هم‌زمان یک IP و پورت یکسان را بگیرند.

اگر از آموزش قدیمی Ubuntu 20.04 استفاده می‌کنید، وضعیت پشتیبانی آن را در چرخهٔ انتشار Ubuntu بررسی کنید. پیش‌فرض‌های یک نسخهٔ قدیمی، معیار قطعی فایل‌ها یا بستهٔ فعلی نیستند.

نصب بسته و کنترل وضعیت

sudo apt update
sudo apt install nginx
systemctl status nginx --no-pager

راهنمای رسمی نصب Nginx در Ubuntu همین مسیر بسته را توضیح می‌دهد. اگر وضعیت active نیست، علت را از پیام سرویس و لاگ بخوانید. نصب موفق بسته با پاسخ موفق سایت از اینترنت یکسان نیست.

ساخت محتوای سایت نمونه

پوشهٔ جدید بسازید و در آن index.html با یک متن شناخته‌شده قرار دهید. فایل قبلی سایت دیگری را برای این آزمون بازنویسی نکنید. نام example.com در مسیر و تنظیمات، جایگزین دامنهٔ واقعی شماست.

sudo mkdir -p /var/www/example.com/public
sudo nano /var/www/example.com/public/index.html

کاربر اجرای Nginx باید حق خواندن فایل و پیمایش پوشه را داشته باشد. chmod بازگشتی 755 روی همهٔ فایل‌ها لازم نیست؛ فایل معمولی نیازی به مجوز اجرا ندارد. مالک محتوا و محل‌های نیازمند نوشتن را متناسب با برنامه تعیین کنید.

پیکربندی Server Block

در بستهٔ معمول Ubuntu، فایل /etc/nginx/sites-available/example.com را ایجاد کنید. پیکربندی زیر برای محتوای ایستا است و به برنامهٔ PHP درخواست نمی‌فرستد:

server {
    listen 80;
    server_name example.com;
    root /var/www/example.com/public;
    index index.html;
    access_log /var/log/nginx/example-access.log;
    error_log /var/log/nginx/example-error.log;

    location / {
        try_files $uri $uri/ =404;
    }
}

برای IPv6، تنظیم listen و رکورد AAAA را متناسب با شبکه اضافه کنید. فایل را فقط یک بار با پیوند به sites-enabled فعال کنید؛ اگر پیوند از قبل وجود دارد، مقصد آن را بررسی کنید.

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/example.com
sudo nginx -t
sudo systemctl reload nginx

پس از موفقیت nginx -t بارگذاری مجدد را اجرا کنید. طبق ساختار تنظیمات Ubuntu، حضور فایل در sites-available به‌تنهایی فعال‌بودن آن نیست. پوشه‌هایی که در nginx.conf با include خوانده می‌شوند تعیین‌کننده‌اند.

فایروال، دامنه و صفحهٔ پیش‌فرض

اگر UFW فعال است، دسترسی HTTP را مطابق سیاست سرویس مجاز کنید و دسترسی SSH را حفظ کنید. نمایهٔ Full به‌تنهایی گواهی TLS ایجاد نمی‌کند. رکورد دامنه باید به سرور درست برسد؛ IP خصوصی روی رابط شبکه الزاماً IP عمومی نیست.

دامنه را باز کنید و متن اختصاصی index.html را ببینید. صفحهٔ Welcome فقط پاسخ یک میزبان را ثابت می‌کند. با راهنمای Nginx نام server_name و انتخاب بلوک را بررسی کنید. مقدار server_names_hash_bucket_size را فقط برای خطای مرتبط تغییر دهید؛ برای هر نصب الزام ندارد.

برای سایت عملیاتی، HTTPS معتبر و مسیر اجرای برنامه را جدا تکمیل کنید. htaccess در Nginx خوانده نمی‌شود و کپی قواعد Apache داخل آن اثری ندارد.

مطالعهٔ مرتبط

بازبینی فنی: ۱۳ آبان ۱۴۰۵. تاریخ انتشار اولیه و نشانی قبلی حفظ شده‌اند.

مطالب مرتبط

ارسال نظر

فهرست مطالب