آموزش نصب Nginx روی اوبونتو | راهنمای گامبهگام 2026
آموزش نصب 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
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 رو به پکیجهای ارائهشده توسط خود توزیع اوبونتو ترجیح میده:
echo -e "Package: *\nPin: origin nginx.org\nPin: release o=nginx\nPin-Priority: 900\n" \
| sudo tee /etc/apt/preferences.d/99nginx

مرحله ۵: نصب Nginx
حالا که مخزن رسمی تنظیم شده، Nginx رو نصب کنید:
۱. لیست پکیجها رو دوباره بهروزرسانی کنید:
sudo apt update
۲. Nginx رو نصب کنید:
sudo apt install nginx
مرحله ۶: بررسی نصب
برای اطمینان از نصب موفق، نسخه Nginx رو چک کنید:
nginx -v
خروجی این دستور شماره نسخه نصبشده رو نشون میده.

نحوه استفاده از 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

تعریف سرور بلاکها (Server Blocks)
Nginx طوری طراحی شده که با ساختن «سرور بلاک» میتونه بهعنوان یک واسط برای چند سرور مختلف عمل کنه. فایلهای پیکربندی سرور بلاک در مسیر /etc/nginx/sites-available قرار دارن.
برای دیدن محتوای فایل پیکربندی پیشفرض:
sudo nano /etc/nginx/sites-available/default

یک سرور بلاک معمولی از این پارامترها تشکیل شده:
| دستور | توضیح |
|---|---|
| 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>

۴. فایل رو ذخیره و خارج بشید.
۵. یک فایل سرور بلاک جدید بسازید:
sudo nano /etc/nginx/sites-available/example.local
۶. کد زیر رو داخل فایل قرار بدید:
server {
listen 80;
root /var/www/example;
index index.html;
server_name localhost;
}

این کد به 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 روی اوبونتو
نصب گواهی 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 نمایش داده میشه:
- Nginx Full: پورت ۸۰ برای ترافیک وب معمولی و پورت ۴۴۳ برای ترافیک رمزگذاریشده رو باز میکنه.
- Nginx HTTP: فقط پورت ۸۰ رو برای ترافیک وب معمولی باز میکنه.
- Nginx HTTPS: فقط پورت ۴۴۳ رو برای ترافیک رمزگذاریشده باز میکنه.
۲. با دستور زیر پروفایل Nginx HTTP رو فعال کنید تا ترافیک HTTP رمزنگارینشده به سرور اجازه ورود پیدا کنه:
sudo ufw allow ‘Nginx HTTP’
sudo ufw allow 'Nginx HTTP'

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

💡 نکته: برای باز کردن یک شماره پورت دلخواه در 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 نوشته شده است.






