با سلام و درود، انشاالله چند تا آموزش پیرو وب سرور 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 ). پیشنهاد میشه برای هر سرور بلاک، لاگ فایل های جداگانه داشته باشید.
ارسال پاسخ