آموزش نصب Nginx و تنظیم در Ubuntu – Debian – Almalinux – Rocky linux و ویندوز



آموزش نصب Nginx (انجینکس)

Nginx (انجینکس) یک وب سرور رایگان و منبع باز با عملکرد بالا است که برای مدیریت وب سایت های پر ترافیک و به عنوان reverse proxy، لود بالانسر و پخش مدیا استفاده میشه. وب سرور انجینکس در مقایسه با Apache عملکرد بهتری داره و قادر به سرویس دهی به پروتکل های مختلف مانند HTTP، TCP، UDP و ایمیل (IMAP، SMTP و POP3) است. Nginx برای سیستم عامل های لینوکسی مانند Debian، CentOS و RedHat قابل استفاده است و به دلیل انعطاف پذیری و کارایی بالا برای وب سایت های شخصی و شرکتی انتخاب مناسبی است.

مزایا Nginxمعایب Nginx
کارایی بالا: پردازش همزمان تعداد زیادی درخواست با مصرف کم منابعتنظیمات پیچیده‌تر: برای کاربران مبتدی تنظیمات ممکن است پیچیده باشد.
مقیاس‌پذیری بالا: مناسب برای سایت‌ های با ترافیک بالا و پشتیبانی از reverse pr-oxy و load balancing.پشتیبانی کمتر برای ویژگی‌های داینامیک: محدودیت در پردازش ویژگی‌ های داینامیک نسبت به Apache.
مصرف منابع کم: نسبت به وب سرورهای دیگر مصرف کمتری از RAM و CPU دارد.مستندات کمتر در برخی موارد: برخی ویژگی‌ ها و مشکلات کمتر مستند شده‌ اند.
امنیت بالا: به دلیل ویژگی‌های built-in مانند محدود کردن دسترسی و حفاظت از درخواست‌ هانیاز به تنظیمات اضافی برای برخی ویژگی‌ها: مانند ماژول‌های خاص که ممکن است در ابتدا غیرفعال باشند.

 

مزایای استفاده از Nginx

Nginx به دلیل طراحی سبک و کارایی بالا در پاسخگویی به درخواست های وب سایت های پر ترافیک شناخته شده است. این وب سرور قادر است درخواست های زیادی را به طور همزمان پردازش کنه و به همین دلیل گزینه ای مناسبی برای سایت هایی با حجم ترافیک بالا است. از ویژگی های دیگه Nginx می توان به پشتیبانی از Cache، فشرده سازی فایل ها، و قابلیت مقیاس پذیری برای سرورهای مختلف اشاره کرد.

Nginx در مقایسه با Apache

یکی از مزایای اصلی Nginx نسبت به Apache، توانایی آن در مدیریت تعداد زیادی درخواست همزمان است. Nginx با استفاده از معماری غیرهمگام (asynchronous) و event-driven، میتونه منابع کمتری مصرف کرده و عملکرد بهتری داشته باشه، به ویژه در هنگام بارگذاری صفحات سنگین یا درخواست های متعدد. این ویژگی ها باعث شده که Nginx به عنوان وب سرور پیشرفته برای وب سایت های پویا و پیچیده شناخته شود.

کاربردهای مختلف Nginx

Nginx تنها به عنوان یک وب سرور محدود نمی شود. این نرم افزار به عنوان یک لود بالانسر برای توزیع بار ترافیک به سرورهای مختلف، reverse proxy برای بهبود عملکرد و امنیت، و سرور رسانه ای برای پخش ویدئو و فایل های صوتی مورد استفاده قرار می گیرد. همچنین، Nginx می تواند برای مدیریت ترافیک ورودی به سرورهای ایمیل (IMAP، SMTP، POP3) نیز به کار رود.

 

در این آموزش نحوه نصب Nginx در سیستم عامل Ubuntu – Debian – Almalinux – Rocky linux و ویندوز را بررسی میکنیم.

 

 

نصب Nginx در ubuntu (نصب انجین ایکس روی اوبونتو)

نصب Nginx در اوبونتو ساده است، چون بسته‌ های آن در مخازن اوبونتو موجود است. برای نصب، کافیه که با دستور apt-get بسته Nginx رو نصب کنید. بعد از خرید VPS، میتونین به راحتی این وب سرور را راه‌ اندازی کنید.

sudo apt update
sudo apt install nginx

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

sudo systemctl enable nginx

بعد از نصب پکیج بد دستور بالا میتونین با اجرای دستورات زیر وضعیت Nginx را بررسی کنید

sudo systemctl status nginx

 

مدیریت Nginx

برای مدیریت سرویس‌ های Nginx، از دستورات زیر استفاده کنید

غیرفعال کردن nginx :

sudo systemctl stop nginx

فعال کردن Nginx:

sudo systemctl start nginx

راه‌اندازی مجدد Nginx (برای اعمال تغییرات):

sudo systemctl restart nginx

با رگذاری مجدد تنظیمات بدون راه‌اندازی مجدد سرویس :

sudo systemctl reload nginx

 

در صورتیکه فایروال ufw در Ubuntu فعال است، لازم هست که پورت های HTTP 80 و HTTP 443 که برای وب سرور هستند را باز کنید.

sudo ufw allow 'Nginx Full'

 

برای بررسی عملکرد Nginx، آدرس IP سرور را در مرورگر وارد کنید:

http://localhost

 

 

آموزش نصب Nginx در Debian

آموزش نصب انجینکس در debian همانند نصب در سیستم عامل اوبونتو است، همان مراحل سیستم عامل اوبونتو را میتوانید انجام بدین. در vps آمریکا یا سرور مجازی امارات برای راه اندازی سایت میتوانید از این وب سرور استفاده کنید.

sudo apt update && sudo apt upgrade -y
sudo apt install nginx -y
sudo systemctl start nginx
sudo systemctl enable nginx
sudo ufw allow 'Nginx Full'

آموزش نصب Nginx در Rocky linux و Almalinux

برای نصب Nginx روی Rocky Linux، ابتدا سیستم عامل را بروز کنید.

 sudo dnf update -y

Nginx در مخازن پیش‌فرض Rocky Linux موجود است، بنابراین میتونین بصورت مستقیم از مخزن نصب و سرویسشو فعالسازی کنید.

sudo dnf install nginx -y

sudo systemctl enable --now nginx

sudo systemctl status nginx

اگر از Firewalld استفاده میکنین، باید پورت‌های HTTP و HTTPS رو باز کنید.

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload

 

آموزش نصب Nginx در ویندوز (windows)

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

https://nginx.org/en/download.html

هنگامی که دانلود انجام شد، می توانیم آن را extract کنید. من از دایرکتوری c:\nginx-1.17.0 استفاده می کنم.

برای نصب و اجرای Nginx، فایل Nginx.exe را انتخاب کرده و دوبار کلیک کنید. اکنون برای استفاده فعال شده است. آدرس های زیر، مسیر های مهم انجینکس در ویندوز هستند. مسیر پیش فرض root در پوشه html است، یعنی فایل هاتون رو باید در این پوشه قرار بدین.

Confis in -> c:\nginx-1.17.0\conf\
Default config -> c:\ nginx-1.17.0\conf\nginx.conf
Logs will be in -> c:\ nginx-1.17.0\logs
Default webroot is -> c:\ nginx-1.17.0\html\
Default listen address -> http://localhost

 

تنظیمات Nginx

Nginx به طور پیش‌ فرض در سرورهای اوبونتو پوشه‌ های خاصی را برای فایل‌ های تنظیمات ایجاد میکنه. در اینجا به آدرس‌ های اصلی این فایل‌ هارو بررسی میکنیم :

 

فایلهای تنظیمات اصلی Nginx:
تمام فایلهای تنظیمات و تنظیمات Nginx در پوشه /etc/nginx قرار دارن.

فایل تنظیمات اصلی Nginx:
فایل تنظیمات اصلی Nginx در مسیر /etc/nginx/nginx.conf قرار داره.

تنظیمات وبسایتها (Server Blocks):
تنظیمات هر وبسایت در یک فایل جداگانه به نام server block میزبانی میشه. این فایلها در مسیر /etc/nginx/sites-available ذخیره میشن.

فعالسازی server block ها:
وقتی یک سایت جدید در Nginx اضافه میکنی، فایل تنظیماتش در پوشه /etc/nginx/sites-available ذخیره میشه، ولی تا زمانی که به Nginx نگی از اون فایل استفاده کنه، سایت فعال نمیشه. برای فعال کردنش، باید یک لینک از اون فایل توی پوشه /etc/nginx/sites-enabled بسازی تا Nginx بتونه اون رو بخونه و اجرا کنه.

مدیریت آسان تنظیمات:
برای مدیریت راحتتر Nginx، بهتر است یک فایل تنظیمات جداگانه برای هر دامنه ایجاد کنید. میتونین به تعداد دلخواه فایلهای server block بسازید و آنها را به راحتی مدیریت کنین.

استفاده از Snippets:
قطعخ کدهایی از تنظیمات که نیاز به استفاده مکرر دارند، میتونن در پوشه /etc/nginx/snippets ذخیره بشن تا در فایلهای تنظیمات سایت Nginx گنجانده بشن.

فعالسازی و غیرفعالسازی Server Block ها
برای فعال کردن یک فایل server block، دستور زیر را اجرا کنید:

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

برای غیرفعال کردن یک فایل server block، دستور زیر را اجرا کنید:

sudo rm /etc/nginx/sites-enabled/example.com.conf

علاوه بر فایلهای تنظیمات اصلی، تنظیمات و فایلهای اضافی دیگری نیز در پوشههای مختلف Nginx موجود هستند. برای کسب اطلاعات بیشتر، میتونین از مستندات وب سرور Nginx استفاده کنین.

 

 

 

نصب ssl روی nginx

برای تنظیم SSL از 2 راه میتونین استفاده کنین، یا دامنه ای که دارید به CDN هایی مثل cloudflare متصل کنین تا بدون انجام تنظیمات در داخل سرور، بتونین از SSL استفاده کنین، یا برای نصب SSL در Nginx، مراحل زیر رو دنبال کنید و Certbot نصب کنید.

sudo apt install certbot python3-certbot-nginx

sudo certbot --nginx

اتصال دامنه به SSL در nginx

Certbot بصورت خودکار تنظیمات Nginx رو بروزرسانی میکنه تا از SSL استفاده کنه، Certbot همچنین بصورت خودکار certificate هارو تمدید میکنه. فقط مطئن بشید که پورت‌ های 80 و 443 باز هستن.

 

تنظیم دامنه در nginx

برای تنظیم دامنه در nginx میتونین از آموزش راه اندازی نصب و تنظیم dns سرور در لینوکس یا اتصال دامنه به CDN کلودفلر استفاده کنید.