در این راهنمای جامع به صورت گام به گام نحوه نصب و راه اندازی وب سرور قدرتمند Nginx را بر روی جدیدترین نسخه پایدار اوبونتو یعنی Ubuntu ۲۴.۰۴ LTS آموزش می دهیم. با ما همراه باشید تا وب سرور خود را آماده کنید.

نصب یک وب سرور کارآمد مانند Nginx بر روی سیستم عامل لینوکس Ubuntu ۲۴.۰۴ اولین قدم برای میزبانی وب سایت ها اپلیکیشن های وب یا سرویس های آنلاین است. Ubuntu ۲۴.۰۴ که با نام Noble Numbat نیز شناخته می شود جدیدترین نسخه پشتیبانی بلندمدت (LTS) اوبونتو است و بسترهای پایداری را برای نصب و اجرای نرم افزارهای سرور فراهم می کند.
این راهنما با هدف ارائه اطلاعات دقیق و کاربردی برای کاربران مبتدی تا متوسط طراحی شده است. ما تمام مراحل لازم از به روزرسانی سیستم گرفته تا تنظیمات اولیه فایروال و تست وب سرور را پوشش خواهیم داد. همچنین نگاهی به پیکربندی های پیشرفته تر مانند راه اندازی Virtual Host برای میزبانی چندین سایت و فعال سازی SSL خواهیم داشت تا شما را برای استفاده حرفه ای تر از Nginx آماده کنیم.
وب سرور Nginx چیست؟
انجینکس (Nginx) یک وب سرور متن باز و پرسرعت است که به دلیل عملکرد بالا مصرف کم منابع و مقیاس پذیری فوق العاده انتخابی محبوب برای وب سایت های پرترافیک محسوب می شود. این نرم افزار علاوه بر وب سرور به عنوان پروکسی معکوس لود بالانسر و کش HTTP نیز کاربرد دارد.
Nginx در ابتدا برای حل مشکل C۱۰k (رسیدگی به ۱۰٬۰۰۰ اتصال همزمان) طراحی شد و به همین دلیل معماری آن بر پایه رویدادمحور و ناهمزمان استوار است. این معماری باعث می شود Nginx بتواند تعداد بسیار زیادی اتصال همزمان را با مصرف منابع سخت افزاری کمتر نسبت به وب سرورهای سنتی تر مانند آپاچی مدیریت کند.
کاربردهای اصلی Nginx شامل موارد زیر است :
- وب سرور استاتیک : سرویس دهی سریع و کارآمد فایل های استاتیک مانند HTML CSS JavaScript و تصاویر.
- پروکسی معکوس (Reverse Proxy) : هدایت درخواست های کلاینت به سرورهای پشتیبان (Backend Servers) و مدیریت ترافیک ورودی.
- لود بالانسر (Load Balancer) : توزیع ترافیک ورودی بین چندین سرور پشتیبان برای افزایش دسترس پذیری و بهبود عملکرد.
- کش HTTP : ذخیره سازی پاسخ های سرور برای کاهش زمان پاسخگویی و بار روی سرورهای پشتیبان.
- ترمینیشن SSL/TLS : رمزگشایی اتصالات HTTPS قبل از ارسال درخواست به سرورهای پشتیبان کاهش بار رمزنگاری از روی آن ها.
نصب Nginx بر روی Ubuntu ۲۴.۰۴ به شما امکان می دهد از این قابلیت ها بهره مند شوید و زیرساخت وب قدرتمندی ایجاد کنید.
پیش نیازهای نصب Nginx در اوبونتو ۲۴.۰۴
پیش از شروع نصب Nginx مطمئن شوید که پیش نیازهای لازم را فراهم کرده اید. این پیش نیازها تضمین می کنند که فرآیند نصب بدون مشکل پیش برود و شما دسترسی های لازم برای مدیریت سیستم و وب سرور را داشته باشید.
- دسترسی به سرور یا ماشین مجازی اوبونتو ۲۴.۰۴ : شما نیاز به یک سیستم (فیزیکی یا مجازی) دارید که سیستم عامل Ubuntu ۲۴.۰۴ LTS روی آن نصب شده باشد.
- کاربر غیر روت با امتیازات sudo : استفاده از کاربر روت برای عملیات روزمره توصیه نمی شود. اطمینان حاصل کنید که یک کاربر عادی با قابلیت اجرای دستورات با استفاده از `sudo` دارید.
- دسترسی پایدار به اینترنت : برای دانلود بسته های نرم افزاری از مخازن اوبونتو نیاز به اتصال اینترنتی فعال و پایدار دارید.
- به روز بودن سیستم (توصیه می شود) : اگرچه اجباری نیست اما به روزرسانی بسته های موجود قبل از نصب نرم افزار جدید به رفع وابستگی ها و پیشگیری از مشکلات احتمالی کمک می کند.
اطمینان از فراهم بودن این پیش نیازها فرآیند نصب Nginx را روان تر و مطمئن تر خواهد کرد.
مراحل نصب Nginx در اوبونتو ۲۴.۰۴
نصب Nginx روی اوبونتو فرآیند ساده ای دارد که شامل چند مرحله کلیدی است. ما از مدیر بسته APT که ابزار استاندارد مدیریت نرم افزار در اوبونتو است برای نصب استفاده خواهیم کرد. با دنبال کردن دستورات زیر در ترمینال به راحتی می توانید وب سرور را روی سیستم خود نصب و راه اندازی کنید.
قدم اول : به روزرسانی منابع نرم افزاری
همیشه قبل از نصب هر نرم افزار جدید منابع بسته سیستم عامل را به روز کنید تا از نصب آخرین نسخه ها و رفع وابستگی ها مطمئن شوید. این کار با دستور `apt update` انجام می شود و لیست پکیج های موجود در مخازن پیکربندی شده را به روزرسانی می کند. این مرحله ارتباط با سرورهای مخازن اوبونتو برقرار کرده و فهرست بسته های قابل نصب و نسخه های آن ها را دریافت می کند.
$ sudo apt update
پس از اجرای این دستور سیستم شما از آخرین اطلاعات مربوط به بسته های نرم افزاری موجود آگاه خواهد شد.
قدم دوم : نصب Nginx
پس از به روزرسانی موفقیت آمیز لیست بسته ها می توانید با استفاده از مدیر بسته APT وب سرور Nginx را نصب کنید. دستور نصب بسیار ساده است و APT به صورت خودکار تمام وابستگی های مورد نیاز برای اجرای Nginx را نیز دانلود و نصب خواهد کرد.
$ sudo apt install nginx
سیستم از شما تاییدیه برای دانلود و نصب بسته ها را درخواست خواهد کرد. کلید `Y` را فشار داده و Enter کنید تا فرآیند نصب آغاز شود. پس از اتمام نصب سرویس Nginx به صورت خودکار شروع به کار می کند.
قدم سوم : بررسی وضعیت سرویس Nginx
بعد از اتمام نصب ضروری است که وضعیت سرویس Nginx را بررسی کنید تا مطمئن شوید به درستی اجرا شده است. این بررسی به شما نشان می دهد که آیا وب سرور فعال است در حال اجراست یا با خطایی مواجه شده است. ما از ابزار `systemctl` که بخشی از سیستم مدیریت سرویس systemd در اوبونتو است استفاده می کنیم.
$ sudo systemctl status nginx
خروجی این دستور وضعیت فعلی سرویس Nginx را نمایش می دهد. اگر همه چیز درست باشد باید عبارت `active (running)` را در خروجی مشاهده کنید. اگر سرویس فعال نبود می توانید آن را با دستور `sudo systemctl start nginx` راه اندازی کنید.
قدم چهارم : تنظیمات فایروال
اگر روی سرور خود فایروال UFW (Uncomplicated Firewall) را فعال کرده اید که یک اقدام امنیتی بسیار توصیه شده است باید دسترسی به پورت های ۸۰ (برای ترافیک HTTP) و ۴۴۳ (برای ترافیک HTTPS) را باز کنید تا کاربران بتوانند از خارج به وب سرور شما دسترسی پیدا کنند. UFW خوشبختانه پروفایل های آماده ای برای Nginx دارد که کار را بسیار آسان می کند.
برای مشاهده پروفایل های موجود UFW برای Nginx دستور زیر را اجرا کنید :
$ sudo ufw app list
شما باید پروفایل های زیر را ببینید :
- Nginx Full : این پروفایل دسترسی به پورت های ۸۰ (HTTP) و ۴۴۳ (HTTPS) را باز می کند.
- Nginx HTTP : این پروفایل فقط دسترسی به پورت ۸۰ (HTTP) را باز می کند.
- Nginx HTTPS : این پروفایل فقط دسترسی به پورت ۴۴۳ (HTTPS) را باز می کند.
بسته به نیاز خود (آیا از SSL استفاده می کنید یا خیر) یکی از پروفایل ها را برای باز کردن دسترسی انتخاب کنید. برای مثال اگر فعلاً فقط می خواهید دسترسی HTTP را باز کنید :
$ sudo ufw allow ‘Nginx HTTP’
اگر در آینده SSL را پیکربندی کردید باید پروفایل `Nginx HTTPS` یا `Nginx Full` را فعال کنید و احتمالاً پروفایل `Nginx HTTP` را غیرفعال کنید تا ترافیک به HTTPS هدایت شود.
پس از اعمال تغییر وضعیت فایروال را بررسی کنید تا مطمئن شوید قانون جدید اضافه شده است :
$ sudo ufw status
شما باید در لیست قوانین اجازه دسترسی برای سرویس Nginx (HTTP یا Full) را مشاهده کنید.
قدم پنجم : تنظیمات دیفالت Nginx و دسترسی
Nginx پس از نصب یک سایت پیش فرض راه اندازی می کند که نشان دهنده نصب موفقیت آمیز است. این صفحه پیش فرض در مسیر `/var/www/html` قرار دارد و فایل تنظیمات آن در مسیر `/etc/nginx/sites-available/default` قرار دارد که به `/etc/nginx/sites-enabled/default` لینک شده است.
شناخت محل این فایل ها برای شروع کار و تنظیمات آتی مهم است. محتوای نمایشی صفحه پیش فرض Nginx در واقع فایل `index.html` موجود در `/var/www/html` است.
می توانید این صفحه پیش فرض را از طریق مرورگر مشاهده کنید تا از دسترسی پذیری وب سرور مطمئن شوید.
قدم ششم : تست وب سرور
برای اطمینان نهایی از نصب صحیح و دسترسی پذیری وب سرور می توانید آدرس IP عمومی سرور یا دامنه متصل شده به آن را در مرورگر وب خود وارد کرده و صفحه پیش فرض Nginx را مشاهده کنید. اگر صفحه خوش آمدگویی Nginx با عنوان Welcome to nginx! نمایش داده شد یعنی نصب موفق بوده است و وب سرور شما به درستی در حال اجراست و از طریق شبکه قابل دسترسی است (با توجه به تنظیمات فایروال).
اگر با استفاده از آدرس IP سرور نتوانستید به صفحه دسترسی پیدا کنید موارد زیر را بررسی کنید :
- وضعیت سرویس Nginx (`sudo systemctl status nginx`).
- وضعیت فایروال UFW و قوانین مربوط به Nginx (`sudo ufw status`).
- تنظیمات فایروال شبکه یا ارائه دهنده سرویس ابری شما که ممکن است ترافیک ورودی را مسدود کرده باشند.
همچنین می توانید از ابزارهای خط فرمان مانند `curl` برای تست دسترسی از داخل خود سرور استفاده کنید :
$ curl http : //localhost
یا با استفاده از آدرس IP محلی سرور :
$ curl http : //۱۲۷.۰.۰.۱
این دستور باید کد HTML صفحه پیش فرض Nginx را در خروجی نمایش دهد.
تنظیمات پیشرفته و مدیریت Nginx
پس از نصب اولیه و اطمینان از عملکرد صحیح معمولاً نیاز به تنظیمات بیشتری برای میزبانی وب سایت ها پیکربندی های خاص یا مدیریت سرویس دارید. این بخش به برخی از این تنظیمات پرکاربرد می پردازد که به شما کمک می کند از Nginx به نحو احسن استفاده کنید و وب سایت های خود را راه اندازی کنید.
تنظیم دامنه یا Virtual Host در Nginx
برای میزبانی سایت های مختلف روی یک سرور با Nginx نیاز به تنظیم Virtual Host یا Server Block دارید. Server Block در Nginx معادل Virtual Host در Apache است و به شما اجازه می دهد چندین دامنه را روی یک آدرس IP میزبانی کنید. این کار شامل ایجاد فایل های کانفیگ جداگانه برای هر دامنه است که Nginx را هدایت می کند چگونه درخواست ها را برای آن دامنه خاص پردازش کند.
مراحل کلی تنظیم Server Block :
- ایجاد دایرکتوری ریشه سایت : برای هر سایت یک دایرکتوری جداگانه برای نگهداری فایل ها (HTML, CSS, تصاویر و …) ایجاد کنید. معمولاً این دایرکتوری ها در مسیر `/var/www/` قرار می گیرند.
- تنظیم مجوزها : اطمینان حاصل کنید که کاربر وب سرور (معمولاً `www-data`) مجوز دسترسی به فایل های سایت شما را دارد.
- ایجاد فایل تنظیمات Server Block : در مسیر `/etc/nginx/sites-available/` یک فایل جدید با نام دامنه خود ایجاد کنید (مثلاً `your_domain.conf`). محتوای این فایل شامل دستورالعمل هایی برای Nginx است از جمله `server_name` (نام دامنه شما) `root` (مسیر دایرکتوری ریشه سایت) و تنظیمات دیگر.
- فعال کردن Server Block : یک لینک نمادین (symlink) از فایل تنظیمات در `sites-available` به مسیر `/etc/nginx/sites-enabled/` ایجاد کنید. Nginx هنگام راه اندازی فایل های موجود در `sites-enabled` را می خواند.
- تست تنظیمات Nginx : قبل از اعمال تغییرات با دستور `sudo nginx -t` صحت نحوی فایل های تنظیمات را بررسی کنید.
- بارگذاری مجدد Nginx : پس از تایید صحت تنظیمات سرویس Nginx را بارگذاری مجدد کنید تا تغییرات اعمال شوند (`sudo systemctl reload nginx`).
این فرآیند به شما امکان می دهد چندین وب سایت مجزا را به صورت همزمان روی یک سرور Nginx اجرا کنید.
نصب و پیکربندی SSL روی Nginx
افزایش امنیت سایت با استفاده از SSL/TLS و فعال کردن HTTPS بسیار حیاتی است. HTTPS ارتباط بین مرورگر کاربر و سرور شما را رمزنگاری می کند و اعتماد کاربران را افزایش می دهد. این شامل دریافت گواهینامه SSL (مانند گواهینامه های رایگان از Let’s Encrypt با استفاده از Certbot) و پیکربندی Nginx برای استفاده از آن گواهینامه برای رمزنگاری ارتباطات است.
استفاده از Certbot معمولاً ساده ترین راه برای دریافت و نصب گواهینامه Let’s Encrypt بر روی Nginx در اوبونتو است. Certbot به صورت خودکار تنظیمات Nginx شما را برای استفاده از گواهینامه پیکربندی می کند و قابلیت تمدید خودکار گواهینامه را نیز فراهم می آورد.
مراحل کلی استفاده از Certbot برای Nginx :
- نصب Certbot : Certbot و پلاگین Nginx آن را نصب کنید (معمولاً با `sudo apt install certbot python۳-certbot-nginx`).
- اجرای Certbot : دستور `sudo certbot –nginx -d your_domain -d www.your_domain` را اجرا کنید (نام دامنه خود را جایگزین `your_domain` کنید). Certbot به صورت تعاملی شما را راهنمایی می کند.
- تنظیمات خودکار Nginx : Certbot به صورت خودکار فایل تنظیمات Server Block شما را ویرایش کرده و دستورالعمل های لازم برای SSL را اضافه می کند و ترافیک HTTP را به HTTPS ریدایرکت می کند.
- تست تمدید خودکار : مطمئن شوید که فرآیند تمدید خودکار به درستی کار می کند (`sudo systemctl status certbot.timer`).
پیکربندی دستی SSL نیز امکان پذیر است اما پیچیده تر است و شامل تنظیم دایرکتیوهای `listen ۴۴۳ ssl`, `ssl_certificate`, `ssl_certificate_key` و `ssl_protocols` در فایل تنظیمات Server Block می شود.
مدیریت سرویس Nginx (شروع توقف راه اندازی مجدد)
آشنایی با دستورات مدیریت سرویس Nginx (مانند start, stop, restart, reload) برای اعمال تغییرات در تنظیمات راه اندازی مجدد در صورت نیاز یا توقف موقت سرویس ضروری است. این دستورات از طریق systemd در اوبونتو مدیریت می شوند و ابزار اصلی برای تعامل با سرویس ها `systemctl` است.
- شروع سرویس Nginx : اگر سرویس متوقف شده است با این دستور آن را راه اندازی کنید. $ sudo systemctl start nginx
- توقف سرویس Nginx : برای متوقف کردن کامل وب سرور. $ sudo systemctl stop nginx
- راه اندازی مجدد سرویس Nginx : این دستور سرویس را متوقف کرده و دوباره راه اندازی می کند. برای اعمال تغییرات اساسی که نیاز به راه اندازی مجدد کامل دارند استفاده می شود. $ sudo systemctl restart nginx
- بارگذاری مجدد تنظیمات Nginx : این دستور بدون توقف سرویس اصلی فقط فایل های تنظیمات را مجدداً بارگذاری می کند. این روش سریع تر است و برای اعمال تغییرات در Server Block ها یا تنظیمات جزئی استفاده می شود. اگر خطایی در تنظیمات وجود داشته باشد بارگذاری مجدد انجام نخواهد شد. $ sudo systemctl reload nginx
- بررسی وضعیت سرویس : همانطور که قبلاً اشاره شد برای بررسی وضعیت فعلی سرویس. $ sudo systemctl status nginx
- فعال کردن شروع خودکار هنگام بوت : این دستور تضمین می کند که Nginx پس از هر بار راه اندازی مجدد سرور به صورت خودکار شروع به کار کند. $ sudo systemctl enable nginx
- غیرفعال کردن شروع خودکار هنگام بوت : اگر نمی خواهید Nginx هنگام بوت سیستم اجرا شود. $ sudo systemctl disable nginx
تسلط بر این دستورات به شما امکان می دهد کنترل کاملی بر روی وب سرور Nginx خود داشته باشید و تغییرات لازم را به سرعت و با اطمینان اعمال کنید.
جمع بندی
در این راهنما نحوه نصب وب سرور پرکاربرد Nginx بر روی اوبونتو ۲۴.۰۴ را به صورت گام به گام یاد گرفتید. همچنین با مراحل اولیه راه اندازی و برخی تنظیمات کلیدی پس از نصب آشنا شدید. اکنون وب سرور شما آماده میزبانی سایت ها و سرویس های وب شماست.
ما مراحل ضروری شامل به روزرسانی سیستم نصب بسته Nginx بررسی وضعیت سرویس پیکربندی فایروال UFW و تست دسترسی به صفحه پیش فرض را پوشش دادیم. علاوه بر این نگاهی به مفاهیم و فرآیندهای مربوط به تنظیم Virtual Host (Server Block) برای میزبانی چندین دامنه و فعال سازی SSL/TLS با استفاده از Certbot برای افزایش امنیت انداختیم. آشنایی با دستورات `systemctl` برای مدیریت سرویس Nginx نیز بخش مهمی از این راهنما بود.
با دنبال کردن این راهنما شما اکنون یک وب سرور Nginx فعال و در حال اجرا روی Ubuntu ۲۴.۰۴ دارید و می توانید شروع به استقرار وب سایت ها و اپلیکیشن های خود کنید. برای پیکربندی های پیچیده تر و بهینه سازی عملکرد مطالعه مستندات رسمی Nginx توصیه می شود.
چگونه وضعیت سرویس Nginx را در اوبونتو بررسی کنم؟
برای بررسی وضعیت سرویس Nginx در اوبونتو ۲۴.۰۴ از دستور sudo systemctl status nginx در ترمینال استفاده کنید. این دستور نشان می دهد که آیا سرویس فعال (running) غیرفعال (inactive) یا با خطا مواجه شده است.
فایل تنظیمات اصلی Nginx در اوبونتو ۲۴.۰۴ کجاست؟
فایل تنظیمات اصلی Nginx در اوبونتو ۲۴.۰۴ در مسیر /etc/nginx/nginx.conf قرار دارد. فایل های تنظیمات Server Block (Virtual Host) سایت های مختلف معمولاً در مسیر /etc/nginx/sites-available/ ایجاد شده و به /etc/nginx/sites-enabled/ لینک می شوند.
تفاوت اصلی Nginx با وب سرور آپاچی چیست؟
تفاوت اصلی Nginx و آپاچی در معماری آن هاست. Nginx از معماری رویدادمحور و ناهمزمان استفاده می کند که آن را برای مدیریت تعداد زیادی اتصال همزمان با مصرف منابع کمتر مناسب می سازد. آپاچی به طور سنتی از معماری مبتنی بر فرآیند یا ترد استفاده می کند.
چگونه وب سرور Nginx را در اوبونتو حذف یا غیرفعال کنم؟
برای حذف Nginx در اوبونتو ابتدا سرویس را متوقف کنید (sudo systemctl stop nginx) سپس بسته را حذف کنید (sudo apt remove nginx) یا برای حذف کامل شامل فایل های پیکربندی (sudo apt purge nginx). برای غیرفعال کردن شروع خودکار از sudo systemctl disable nginx استفاده کنید.
آیا امکان نصب PHP و MySQL برای کار با Nginx روی اوبونتو ۲۴.۰۴ وجود دارد؟
بله کاملاً امکان پذیر است. برای اجرای اپلیکیشن های PHP با Nginx نیاز به نصب PHP-FPM (FastCGI Process Manager) و پیکربندی Nginx برای ارسال درخواست های PHP به PHP-FPM دارید. MySQL نیز به صورت جداگانه نصب می شود و برای ذخیره داده ها استفاده می شود.
آیا شما به دنبال کسب اطلاعات بیشتر در مورد "آموزش نصب Nginx در Ubuntu ۲۴.۰۴" هستید؟ با کلیک بر روی تکنولوژی، آیا به دنبال موضوعات مشابهی هستید؟ برای کشف محتواهای بیشتر، از منوی جستجو استفاده کنید. همچنین، ممکن است در این دسته بندی، سریال ها، فیلم ها، کتاب ها و مقالات مفیدی نیز برای شما قرار داشته باشند. بنابراین، همین حالا برای کشف دنیای جذاب و گسترده ی محتواهای مرتبط با "آموزش نصب Nginx در Ubuntu ۲۴.۰۴"، کلیک کنید.