Nginx یک وب سرور منبع باز محبوب است که به دلیل عملکرد بالا، پایداری و مقیاس پذیری شناخته شده است. در این مطلب به آموزش نصب nginx روی ubuntu میپردازیم.
به دلیل توانایی آن در مدیریت کارآمد تعداد زیادی از اتصالات همزمان، پذیرش گسترده ای برای ارائه وب سایت ها و برنامه ها به دست آورده است. اگر به دنبال راه اندازی Nginx در سرور اوبونتو هستید، به جای درستی آمده اید.
در این راهنمای گام به گام، فرآیند نصب Nginx در اوبونتو را به شما آموزش میدهیم، از دانلود و پیکربندی نرمافزار گرفته تا راهاندازی هاست مجازی.
نصب Nginx در اوبونتو یک فرآیند ساده است، اما به دانش فنی نیاز دارد. این آموزش برای مبتدیانی طراحی شده است که به دنبال راه اندازی وب سرور خود با استفاده از Nginx در اوبونتو هستند.
با دنبال کردن مراحل ذکر شده در این راهنما، قادر خواهید بود Nginx را نصب کرده و آن را برای سرویس دهی به وب سایت ها و برنامه های خود در کمترین زمان تنظیم کنید. بنابراین، بدون بحث بیشتر، بیایید به دنیای Nginx شیرجه بزنیم و فرآیند نصب در اوبونتو را شروع کنیم.
آموزش نصب nginx روی ubuntu
برای نصب سرور Nginx، به یک ماشین محلی یا یک سرور ابری با سیستم عامل اوبونتو نیاز دارید. Nginx را میتوان از مخازن رسمی اوبونتو دریافت کرد و به شما امکان میدهد با استفاده از سیستم مدیریت بسته apt به راحتی آن را نصب کنید.
قبل از ادامه نصب، مطمئن شوید که لیست بسته ها را از مخازن آپدیت کرده اید.
sudo apt update
پس از اتمام بهروزرسانی، میتوانید Nginx را روی سیستم نصب کنید:
sudo apt install nginx
اکنون بررسی کنید که سرور وب در حال اجرا و پیکربندی برای شروع در هنگام بوت باشد. بررسی وضعیت وب سرور:
sudo systemctl enable nginx
حالا بررسی کنید که وب سرور در حال اجرا و پیکربندی برای شروع در هنگام بوت باشد. بررسی وضعیت وب سرور:
sudo service nginx status
خط “Active: active (running)…” عملکرد موفقیت آمیز سرور را نشان میدهد.
راه دیگری برای بررسی آن وجود دارد. آدرس IP سرور را در نوار آدرس مرورگر وارد کنید. اگر مشابه تصویر زیر باشد، وب سرور در حال اجرا است.
حالا باید بررسی کنیم که پیکربندی آن برای شروع در بوت باشد:
sudo systemctl is-enabled nginx
اگر خروجی “enabled” را نشان دهد، وب سرور به بوت اضافه شده است.
در زیر دستوراتی برای مدیریت وب سرور داده شده است.
عمل | دستورات |
استارت | sudo systemctl start nginx |
خاموش کردن | sudo systemctl stop nginx |
ری استارت | sudo systemctl restart nginx |
ری لود | sudo systemctl reload nginx |
چک کردن وضعیت | sudo systemctl status nginx |
تست تنظیمات | sudo nginx -t |
تنظیمات فایروال
نصب و پیکربندی فایروال به شما این امکان را میدهد که تمام پورت ها را به جز پورت هایی که نیاز داریم را ببندید: پورت 22 (SSH)، 80 (HTTP)، 443 (HTTPS).
مورد اول برای اتصال به یک سرور راه دور مورد نیاز است. مورد دوم و سوم برای ارتباط بین مشتری و سایت ضروری است.
نصب UFW:
sudo apt install ufw
سپس وب سرور را به لیست برنامه های موجود اضافه کنید:
sudo nano /etc/ufw/applications.d/nginx.ini
فایل را اینگونه پر کنید:
[nginx HTTP]
title=Web Server
description=Enable NGINX HTTP traffic
ports=80/tcp
[nginx HTTPS]\
title=Web Server (HTTPS) \
description=Enable NGINX HTTPS traffic
ports=443/tcp
[nginx full]
title=Web Server (HTTP,HTTPS)
description=Enable NGINX HTTP and HTTPS traffic
ports=80,443/tcp
حالا باید لیست برنامه های موجود را بررسی کنید:
sudo ufw app list
اگر یک وب سرور در بین آنها وجود داشته باشد، همه چیز به درستی انجام میشود. حالا باید فایروال را راه اندازی کنید و اجازه ترافیک در پورت هایی که در بالا به آن ها اشاره کردیم را بدهید:
sudo ufw enable
sudo ufw allow 'Nginx Full'
sudo ufw allow 'OpenSSH'
برای بررسی تغییرات، دستور را وارد کنید:
sudo ufw status
در خروجی باید تمام پورت های مورد نیاز ما را لیست کند.
راه اندازی Nginx
مدیریت وب سرور، اصلاح و نگهداری فایل های پیکربندی است. در میان آنها یک فایل پیکربندی و دو دایرکتوری وجود دارد. اینها به ترتیب nginx.conf، sites-available و sites-enabled هستند. همه آنها در پوشه /etc/nginx هستند.
فایل nginx.conf فایل پیکربندی اصلی است. دایرکتوری sites-available حاوی فایل های پیکربندی میزبان مجازی است. هر فایل نام، آدرس IP و سایر داده های یک سایت خاص را ذخیره میکند.
دایرکتوری فعال شده توسط سایت ها، به نوبه خود، فقط از تنظیمات سایت فعال تشکیل شده است. فقط فهرستی که سایتها فعال هستند فایلهای پیکربندی را برای میزبانهای مجازی میخواند.
همچنین پیوندهایی به سایت های موجود را ذخیره میکند. این ساختار به شما این امکان را میدهد که سایت ها را به طور موقت بدون از دست دادن تنظیمات آنها غیرفعال کنید.
بهتر است نگاهی دقیق تر به فایل پیکربندی اصلی بیندازیم. برای انجام این کار، این فایل را با استفاده از ویرایشگر باز کنید:
sudo nano /etc/nginx/nginx.conf
پس از اجرای دستور، یک فایل تقسیم شده به ماژول ها باز میشود. که معمولاً شبیه تصویر زیر است:
هر ماژول یک دستورالعمل است که مسئول تنظیمات خاص وب سرور است. دستورالعمل های ساده و بلوکی وجود دارد. علاوه بر نام و پارامترها، دستورالعمل های بلوک دستورالعمل های اضافی را که در داخل براکت های فرفری قرار داده شده اند ذخیره میکنند.
بیایید برخی از دستورالعمل های فایل پیکربندی اصلی را فهرست کنیم:
کاربر کاربری است که تمام فرآیندهای کارگر را اجرا میکند.
worker_processes تعداد فرآیندهای کارگر سرور است. نباید از تعداد هسته های پردازنده تجاوز کند. گزینه auto شماره را به صورت خودکار تنظیم میکند.
pid فایلی است که شناسه فرآیند اصلی را نشان میدهد.
include مسئول گنجاندن سایر فایل های پیکربندی مطابق با ماسک مشخص شده است.
events شامل دستورالعمل هایی است که اتصال شبکه را مدیریت میکند.
worker_connections حداکثر تعداد اتصالات همزمان برای یک فرآیند کارگر است.
multi_accept پرچمی است که میتوان آن را فعال (روشن) یا غیرفعال (خاموش) کرد. اگر فعال باشد، فرآیند کارگر همه اتصالات جدید را میپذیرد. در غیر این صورت فقط یکی
use روش رسیدگی به اتصال را مشخص میکند. به طور پیش فرض، سرور کارآمدترین را انتخاب میکند.
http شامل دستورالعمل هایی است که مسئول عملکرد سرور HTTP هستند.
sendfile روش ارسال داده sendfile() را فعال (روشن) یا غیرفعال (خاموش) میکند.
tcp_nopush، tcp_nodelay پارامترهایی هستند که بر عملکرد تأثیر میگذارند. اولی سرور را مجبور میکند تا سرصفحههای پاسخ HTTP را در یک بسته ارسال کند و دومی به شما امکان میدهد دادهها را بافر نکنید و آنها را در فواصل کوتاه ارسال کنید.
keepalive_timeout مسئول مهلت زمانی اتصال keep-alive قبل از پایان دادن به سرور است.
keepalive_requests حداکثر تعداد درخواست ها در یک اتصال keep-alive است.
error_log یک گزارش خطای وب سرور است. برای جمع آوری خطاها برای یک بخش خاص (http، سرور و غیره)، باید دستورالعمل را در داخل آن بخش قرار دهید.
gzip برای فشرده سازی محتوا است.
راه اندازی virtual hosts
یک سرور میتواند چندین سایت را میزبانی کند. همه درخواست ها به آدرس IP آن میآیند و وب سرور بسته به دامنه، نحوه پاسخگویی را تعیین میکند. میزبان های مجازی اطمینان حاصل میکنند که سرور متوجه میشود چه داده هایی به کدام دامنه تعلق دارد.
به عنوان مثال، ما سایت testsite.dev را ایجاد میکنیم.
یک پوشه برای سایت ایجاد میکنیم:
sudo mkdir -p /var/www/testsite.dev/html
سپس فایل ایندکس را اضافه کنید:
sudo nano /var/www/testsite.dev/html/index.html
اکنون آن را با داده های اولیه مورد نیاز برای نمایش سایت پر میکنیم:
<!DOCTYPE html>
<html lang="en">
<head>
<title>testsite.dev</title>
<metacharset="utf-8">
</head>
<body>
<h1>Hello, user</h1>
</body>
</html>
sites-available
ایجاد میکنیم:sudo nano /etc/nginx/sites-available/testsite.dev.conf
آن را با ساده ترین تنظیمات پر میکنیم:
server {
listen 80;
listen[::]:80;
server_name testsite.dev www.testsite.dev;
root /var/www/testsite.dev/html;
index index.html index.xml;
}
The last thing to do is create a link in the sites-enabled
directory to the testsite.dev
site configuration, so it is added from available to enabled:
آخرین کاری که باید انجام دهید این است که پیوندی در دایرکتوری sites-enabled
به پیکربندی سایت testsite.dev
ایجاد کنید، بنابراین از موجود به فعال اضافه میشود:
sudo ln -s /etc/nginx/sites-available/testsite.dev.conf /etc/nginx/sites-enabled/
حالا پیکربندی را آزمایش میکنیم:
sudo nginx -t
با حذف ورودی میزبان مجازی پیش فرض، سایت پیش فرض را غیرفعال کنید:
sudo rm /etc/nginx/sites-enabled/default
شایان ذکر است که پس از غیرفعال کردن سایت پیش فرض، Nginx از اولین بلوک سروری که با آن مواجه میشود به عنوان یک سایت بازگشتی استفاده میکند (یعنی اولین سایت از پیکربندی Nginx در آدرس IP سرور باز میشود)
وب سرور را ری استارت کنید:
sudo systemctl restart nginx
اکنون بررسی کنیم که آیا سایت کار میکند؟ برای انجام این کار، میتوانید آدرس IP سرور یا دامنه را در نوار آدرس مرورگر قرار دهید:
روش دیگر استفاده از دستور curl میباشد:
جمع بندی:
نصب Nginx در اوبونتو یک فرآیند ساده است که با پیروی از راهنمای گام به گام ارائه شده در این آموزش میتوان به سرعت و به راحتی انجام داد.
Nginx یک نرم افزار وب سرور محبوب و قدرتمند است که به دلیل کارایی، مقیاس پذیری و کارایی بالا شناخته شده است. با راهاندازی Nginx در سرور اوبونتو، میتوانید اطمینان حاصل کنید که وبسایتها و برنامههای وب شما بهطور روان و قابل اعتماد اجرا میشوند و تعداد زیادی از اتصالات همزمان را بدون هیچ مشکلی مدیریت میکنند.
علاوه بر این، Nginx انواع ویژگی ها و تنظیمات پیشرفته را ارائه میدهد که به شما امکان میدهد سرور خود را برای عملکرد و امنیت بهتر بهینه کنید.
با آشنایی با اصول اولیه نصب و پیکربندی Nginx، میتوانید از این ویژگی ها برای افزایش سرعت، قابلیت اطمینان و امنیت وب سرور خود استفاده کنید.
به طور کلی، Nginx یک نرم افزار وب سرور همه کاره و قوی است که برای طیف وسیعی از موارد استفاده مناسب است و آن را به ابزاری ارزشمند برای توسعه دهندگان وب و مدیران سیستم تبدیل میکند که به دنبال بهبود عملکرد وب سایت ها و برنامه های وب خود هستند.
سوالات متداول
1. Nginx چیست؟
Nginx یک نرم افزار وب سرور منبع باز محبوب است که اغلب به عنوان سرور پروکسی معکوس، متعادل کننده بار و کش HTTP استفاده میشود.
2. چگونه Nginx را روی اوبونتو نصب میکنید؟
برای نصب Nginx در اوبونتو، میتوانید از مدیر بسته با دستور زیر استفاده کنید:
update sudo apt
sudo apt install nginx
3. پس از نصب Nginx در اوبونتو، چگونه سرویس Nginx را راه اندازی، متوقف و فعال میکنید؟
برای راه اندازی Nginx میتوانید از دستور زیر استفاده کنید:
sudo systemctl start nginx
برای متوقف کردن Nginx، میتوانید از موارد زیر استفاده کنید:
sudo systemctl stop nginx
برای فعال کردن Nginx برای شروع خودکار هنگام بوت شدن سیستم، از موارد زیر استفاده کنید:
sudo systemctl nginx را فعال میکند