سرورکامپیوتر

آموزش نصب Nginx روی اوبونتو | راهنمای گام‌به‌گام 2026

Nginx


آموزش نصب Nginx روی اوبونتو (راهنمای کامل ۲۰۲۶)

Nginx یکی از پرکاربردترین وب‌سرورهای متن‌باز دنیاست که هم به‌عنوان وب‌سرور و هم به‌عنوان ریورس پروکسی استفاده می‌شه. سرعت بالا و انعطاف‌پذیریش باعث شده گزینه محبوبی برای مدیریت درخواست‌های HTTP، لود بالانسینگ و سرو کردن محتوای استاتیک باشه. توی این آموزش قدم‌به‌قدم یاد می‌گیرید چطور Nginx رو روی اوبونتو نصب، پیکربندی و ایمن‌سازی کنید.

پیش‌نیازها

  • اوبونتو نصب‌شده روی سیستم یا سرور
  • دسترسی به ترمینال (خط فرمان)
  • دسترسی مدیریتی (sudo)

نصب Nginx روی اوبونتو

مخزن رسمی Nginx برای همه توزیع‌های اصلی لینوکس، از جمله اوبونتو، بسته‌های آماده داره. مراحل زیر رو دنبال کنید تا این مخزن رو به سیستم اضافه کرده و باهاش Nginx رو نصب کنید.

اینستاگرام اپست

💡 نکته: امکان نصب Nginx از مخزن رسمی خود اوبونتو هم وجود داره (که برای Ubuntu 26.04 تنها روش قابل‌استفاده‌ست)، اما ممکنه نسخه‌ای که این مخزن ارائه می‌ده، آخرین نسخه نباشه. برای نصب از همین مخزن، کافیه این دستور رو اجرا کنید:

sudo apt install nginx

اگه می‌خواید از مخزن رسمی خود Nginx (که معمولاً به‌روزتره) استفاده کنید، مراحل زیر رو دنبال کنید.

مرحله ۱: نصب پکیج‌های پیش‌نیاز

اول باید پکیج‌هایی رو نصب کنید که برای مدیریت مخزن‌های شخص‌ثالث روی اوبونتو لازمن:

۱. لیست پکیج‌های سیستم رو به‌روزرسانی کنید:

sudo apt update

۲. پکیج‌های لازم رو نصب کنید:

sudo apt install curl gnupg2 ca-certificates lsb-release ubuntu-keyring

وقتی ازتون خواسته شد، حرف Y رو بزنید تا نصب کامل بشه.

آموزش نصب Nginx روی اوبونتو | راهنمای گام‌به‌گام 2026

مرحله ۲: وارد کردن کلید امضای Nginx

APT برای تایید اصالت پکیج‌ها به کلید امضای رسمی Nginx نیاز داره. این کلید رو با دستور زیر وارد کنید:

curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor \
| sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null

مرحله ۳: تنظیم مخزن

مخزن رسمی Nginx دو نسخه پکیج داره:

  • Mainline: نسخه‌ای که همه ویژگی‌ها و رفع‌باگ‌های جدید رو داره؛ ممکنه شامل ماژول‌های آزمایشی هم بشه.
  • Stable: نسخه‌ای برای سرورهای عملیاتی (production)؛ فقط شامل جدیدترین رفع‌باگ‌های حیاتیه، نه ویژگی‌های تازه.

برای تنظیم مخزن نسخه mainline این دستور رو وارد کنید:

echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \
http://nginx.org/packages/mainline/ubuntu `lsb_release -cs` nginx" \
    | sudo tee /etc/apt/sources.list.d/nginx.list

برای نسخه stable این دستور رو اجرا کنید:

echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \
http://nginx.org/packages/ubuntu `lsb_release -cs` nginx" \
    | sudo tee /etc/apt/sources.list.d/nginx.list
آموزش نصب Nginx روی اوبونتو | راهنمای گام‌به‌گام 2026

مرحله ۴: تثبیت اولویت مخزن رسمی

با دستور زیر مطمئن بشید سیستم پکیج‌های رسمی Nginx رو به پکیج‌های ارائه‌شده توسط خود توزیع اوبونتو ترجیح می‌ده:

echo -e "Package: *\nPin: origin nginx.org\nPin: release o=nginx\nPin-Priority: 900\n" \
    | sudo tee /etc/apt/preferences.d/99nginx
آموزش نصب Nginx روی اوبونتو | راهنمای گام‌به‌گام 2026

مرحله ۵: نصب Nginx

حالا که مخزن رسمی تنظیم شده، Nginx رو نصب کنید:

۱. لیست پکیج‌ها رو دوباره به‌روزرسانی کنید:

sudo apt update

۲. Nginx رو نصب کنید:

sudo apt install nginx

مرحله ۶: بررسی نصب

برای اطمینان از نصب موفق، نسخه Nginx رو چک کنید:

nginx -v

خروجی این دستور شماره نسخه نصب‌شده رو نشون می‌ده.

آموزش نصب Nginx روی اوبونتو | راهنمای گام‌به‌گام 2026

نحوه استفاده از Nginx روی اوبونتو

فعال‌سازی اجرای خودکار Nginx در هنگام بوت

برای این‌که Nginx به‌طور خودکار با روشن شدن سیستم اجرا بشه:

sudo systemctl enable nginx

برای لغو این تنظیم:

sudo systemctl disable nginx

مدیریت سرویس Nginx

ساده‌ترین راه کنترل سرویس Nginx روی اوبونتو، استفاده از دستورات **systemctl**ه:

  • شروع سرویس:
sudo systemctl start nginx
  • توقف سرویس:
sudo systemctl stop nginx
  • توقف و راه‌اندازی مجدد فوری سرویس:
sudo systemctl restart nginx
  • اعمال تغییرات پیکربندی بدون قطع اتصال‌های فعال:
sudo systemctl reload nginx
  • مشاهده وضعیت سرویس:
sudo systemctl status nginx
آموزش نصب Nginx روی اوبونتو | راهنمای گام‌به‌گام 2026

تعریف سرور بلاک‌ها (Server Blocks)

Nginx طوری طراحی شده که با ساختن «سرور بلاک» می‌تونه به‌عنوان یک واسط برای چند سرور مختلف عمل کنه. فایل‌های پیکربندی سرور بلاک در مسیر /etc/nginx/sites-available قرار دارن.

برای دیدن محتوای فایل پیکربندی پیش‌فرض:

sudo nano /etc/nginx/sites-available/default
آموزش نصب Nginx روی اوبونتو | راهنمای گام‌به‌گام 2026

یک سرور بلاک معمولی از این پارامترها تشکیل شده:

دستورتوضیح
listenبه Nginx می‌گه به کدوم پورت‌ها برای دریافت ترافیک گوش بده. بلاک default_server استفاده می‌شه مگر این‌که مشتری چیز دیگه‌ای مشخص کنه.
rootمسیر ریشه (root directory) وب‌سایتی که سرو می‌شه رو مشخص می‌کنه.
server_nameامکان تعیین یک نام برای یک سرور بلاک خاص رو می‌ده؛ در پیکربندی‌های پیشرفته‌تر کاربرد داره.
locationنحوه پردازش درخواست‌ها برای URIهای خاص یا الگوهای URI رو مشخص می‌کنه.

ساخت یک سرور بلاک نمونه

این بخش نشون می‌ده چطور یک سرور بلاک نمونه برای میزبانی وب‌سایت بسازید.

۱. یک دایرکتوری برای وب‌سایت بسازید:

sudo mkdir /var/www/example

۲. با ویرایشگری مثل Nano یک فایل HTML بسازید:

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

۳. محتوای زیر رو داخل فایل قرار بدید:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Example Page</title>
</head>
<body>
    <h1>Welcome to the Example Page</h1>
    <p>This is an example page to demonstrate working with Nginx in Ubuntu.</p>
</body>
</html>
آموزش نصب Nginx روی اوبونتو | راهنمای گام‌به‌گام 2026

۴. فایل رو ذخیره و خارج بشید.

۵. یک فایل سرور بلاک جدید بسازید:

sudo nano /etc/nginx/sites-available/example.local

۶. کد زیر رو داخل فایل قرار بدید:

server {
listen 80;
root /var/www/example;
index index.html;
server_name localhost;
}
آموزش نصب Nginx روی اوبونتو | راهنمای گام‌به‌گام 2026

این کد به Nginx می‌گه فایل‌ها رو از دایرکتوری /var/www/example سرو کنه و از index.html به‌عنوان صفحه اصلی وب‌سایت استفاده کنه.

۷. فایل رو ذخیره و خارج بشید.

۸. یک symlink از فایل داخل دایرکتوری sites-available به دایرکتوری sites-enabled بسازید:

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

۹. برای اعمال تغییرات، سرویس Nginx رو ری‌استارت کنید:

sudo systemctl restart nginx

۱۰. توی مرورگر، آدرس زیر رو وارد کنید:

localhost

Nginx درخواست رو دریافت کرده و فایل HTML تست رو نمایش می‌ده.

آموزش نصب Nginx روی اوبونتو | راهنمای گام‌به‌گام 2026

ایمن‌سازی Nginx روی اوبونتو

نصب گواهی SSL (Let’s Encrypt)

گواهی SSL باعث رمزگذاری ارتباط بین سرور و بازدیدکننده‌ها می‌شه و امنیت و اعتماد کاربرها به وب‌سایت رو بالا می‌بره. برای نصب یک گواهی رایگان از Let’s Encrypt:

۱. لیست پکیج‌ها رو به‌روزرسانی کنید:

sudo apt update

۲. پکیج‌های لازم رو نصب کنید:

sudo apt install certbot python3-certbot-nginx

۳. با دستور certbot یک گواهی رایگان صادر کنید. نام دامنه رو با فلگ -d وارد کنید:

sudo certbot --nginx -d [domain]

چون گواهی‌های Let’s Encrypt هر ۹۰ روز منقضی می‌شن، بهتره یک کران‌جاب برای تمدید خودکار تنظیم کنید.

ساخت کران‌جاب

۱. فایل پیکربندی crontab کاربر فعلی رو باز کنید:

crontab -e

۲. این خط رو اضافه کنید تا دستور certbot renew به‌صورت خودکار اجرا بشه:

0 5 * * * /usr/bin/certbot renew --quiet

این دستور فقط در صورتی که گواهی ظرف ۳۰ روز آینده منقضی بشه، اون رو تمدید می‌کنه؛ توی مثال بالا، هر روز ساعت ۵ صبح بررسی می‌شه.

تنظیم قوانین فایروال

با استفاده از فایروال می‌تونید ترافیک ورودی و خروجی وب‌سرور Nginx رو کنترل کنید. مراحل زیر نشون می‌ده چطور UFW رو برای اجازه دادن به پورت ۸۰ تنظیم کنید:

۱. لیست اپلیکیشن‌های موجود در UFW رو ببینید:

sudo ufw app list
آموزش نصب Nginx روی اوبونتو | راهنمای گام‌به‌گام 2026

سه گزینه مرتبط با Nginx نمایش داده می‌شه:

  • Nginx Full: پورت ۸۰ برای ترافیک وب معمولی و پورت ۴۴۳ برای ترافیک رمزگذاری‌شده رو باز می‌کنه.
  • Nginx HTTP: فقط پورت ۸۰ رو برای ترافیک وب معمولی باز می‌کنه.
  • Nginx HTTPS: فقط پورت ۴۴۳ رو برای ترافیک رمزگذاری‌شده باز می‌کنه.

۲. با دستور زیر پروفایل Nginx HTTP رو فعال کنید تا ترافیک HTTP رمزنگاری‌نشده به سرور اجازه ورود پیدا کنه:
sudo ufw allow ‘Nginx HTTP’

sudo ufw allow 'Nginx HTTP'
آموزش نصب Nginx روی اوبونتو | راهنمای گام‌به‌گام 2026

۳. وضعیت فایروال رو بررسی کنید

sudo ufw status
آموزش نصب Nginx روی اوبونتو | راهنمای گام‌به‌گام 2026

💡 نکته: برای باز کردن یک شماره پورت دلخواه در UFW، از دستور sudo ufw allow [port]/[protocol] استفاده کنید؛ مثلاً: sudo ufw allow 8080/tcp

فایل‌ها و دایرکتوری‌های مهم Nginx

آشنایی با فایل‌ها و مسیرهای زیر برای مدیریت موثر Nginx لازمه:

موردتوضیح
nginx.confفایل پیکربندی اصلی Nginx، معمولاً در مسیر /etc/nginx
mime.typesفایلی که پسوندهای فایل رو به نوع MIME متناظرشون نگاشت می‌کنه
fastcgi_paramsفایل پارامترهای FastCGI؛ پروتکلی که به وب‌سرور اجازه ارتباط با اپلیکیشن‌های بک‌اند (مثلاً PHP) رو می‌ده و متغیرهایی مثل SCRIPT_FILENAME و DOCUMENT_ROOT رو تعریف می‌کنه
uwsgi_paramsفایل پارامترهای uWSGI؛ برای دیپلوی اپلیکیشن‌های تحت وب، مخصوصاً در پایتون
scgi_paramsفایل پارامترهای SCGI؛ شامل پارامترهایی مثل متد درخواست و طول محتوا
sites-available/دایرکتوری شامل تمام پیکربندی‌های سرور بلاک موجود
sites-enabled/دایرکتوری شامل symlinkهای پیکربندی‌های فعال‌شده
/var/www/html/مسیر پیش‌فرض فایل‌های وب‌سایت، وقتی مستقیماً به IP سرور دسترسی پیدا می‌شه
/var/log/nginx/دایرکتوری لاگ‌ها

جمع‌بندی

توی این راهنما نحوه نصب و پیکربندی Nginx روی اوبونتو رو یاد گرفتید، از افزودن مخزن رسمی و نصب گرفته تا ساخت سرور بلاک، فعال‌سازی گواهی SSL رایگان و تنظیم فایروال. اگه هنوز مطمئن نیستید کدوم وب‌سرور مناسب پروژه‌تونه، بررسی Apache هم می‌تونه گزینه دیگه‌ای برای مقایسه باشه.

اپست ، این مطلب با نگاهی به گزارش سایت phoenixNAP نوشته شده است.

فروشگاه کوکوهوم

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا
You have not selected any currencies to display