نصب nginx روی ubuntu

با سلام و درود، انشاالله چند تا آموزش پیرو وب سرور nginx خواهم داشته و سعی می کنم از مقدماتی تا پیشرفته با هم پیش بریم. در این آموزش که قسمت اول از این مجموعه آموزش ها هست، به نصب مقدماتی nginxروی لینوکس – اوبونتو پرداخته شده.

معرفی Nginx :

لغت nginx در اصل « موتور ایکس – engine x» می باشد که یک سرور HTTP و reverse proxy رایگان، اپن سورس و باکارایی بالا می باشد که مسئولیت بارگذاری سایت های بزرگی روی نت را دارد.

نکته: Nginx  همی می تونه یک وب سرور مستقل باشه و هم می تونه به عنوان یک  reverse proxy برای Apche و دیگر وب سرور های موجود باشد.

در مقایسه با وب سرور آپاچی، انجین ایکس می تونه تعداد زیادی connectionرو به صورت همزمان مدیریت کند و برای هر connection نیز memory footprint کوچکی دارد.

پیش نیاز ها:

اول از همه مطمین باشید که با user با دسترسی sudo داشته باشید و همچنین وب سروی مانند آپاچی یا هر وب سرور دیگری روی پورتهای ۸۰ و ۴۴۳ نداشته باشید.

نصب Nginx :

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

ابتدا پکیج ها رو بروزرسانی می کنیم و سپس اقدام به نصب:

sudo apt update
sudo apt install nginx

همین که نصب تمام شد، سرویس Nginx به صورت خودکار اجرا خواهد شد، می توانید وضعیت سرویس را با دستور زیر چک کنید:

sudo systemctl status nginx

کانفیگ کردن firewall

با فرض اینکه از UFW برای مدیریت فایروال استفاده می کنید، شما نیاز دارید تا پورت های HTTP و HTTPS رو باز بگذارید (پورت ۸۰ و ۴۴۳). شما یان کار را می توانید با فعال کردن پروفایل ‘Nginx Full’ انجام دهید که جفت پورت ها را باز می کند:

sudo ufw allow 'Nginx Full'

برای تایید وضعیت:

sudo ufw status

تست نصب شدن nginx

برای ان منظور کافیست http://YOUR_IP را داخل مرورگر خود باز کنید.

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

شما می توانید سرویس nginx را همانند دیگر سرویس های systemd مدیریت کنید:

جهت توقف (stop) سرویس Nginx :

sudo systemctl stop nginx

شروع مجدد (start) سرویس Nginx

sudo systemctl start nginx

برای ری استارت (restart) کردن سرویس nginx:

sudo systemctl restart nginx

جهت reloadکردن سرویس nginxبعد از اینکه کانفیگ ها را تغییر دادید:

sudo systemctl reload nginx

به صورت پیش فرض سرویس Nginx بهنگام بوت (boot) اجرا می شود. اگر میخواهید آن را غیر فعال کنید از دستور زیر استفاده کنید:

sudo systemctl disable nginx

برای فعال سازی مجدد سرویس Nginx :

sudo systemctl enable nginx

ساختار فایل های کانفیگ Nginx :

  • تمامی فایل های کانفیگ Nginxداخل دایرکتوری /etc/nginx قرار دارند.
  • فایل کانفیگ اصلی Nginxدر /etc/nginx/nginx.conf می باشد.
  • پیشنهاد میشه برای مدیریت راحت تر برای هر دامنه از کانفیگ فایل جداگانه استفاده کنید.
  • سرور بلاک های Nginx داخل دایرکتوری /etc/nginx/sites-available نگهداری می شوند. و فایل های کانف در این دایرکتوری توسط Nginx استفاده نمی شوند مگر اینکه سیمبول لینک بین این فایل و دایرکتوری /etc/nginx/sites-enabled ایجاد شده باشد.
  • دایرکتوری /etc/nginx/snippets شامل اسنیپت های کانفیگ می باشد که می تواند در هر فایل سرور بلاک شامل شود.
  • لاگ فایل های Nginxc داخل دایرکتوری /var/log/nginx قرار دارند (access.log و error.log ). پیشنهاد میشه برای هر سرور بلاک، لاگ فایل های جداگانه داشته باشید.