وب سرور

آموزش نصب nginx روی ubuntu (گام به گام)

آموزش نصب انجینکس بر روی روی اوبونتو

Nginx یک وب سرور منبع باز محبوب است که به دلیل عملکرد بالا، پایداری و مقیاس پذیری شناخته شده است. در این مطلب به آموزش نصب nginx روی ubuntu می‌پردازیم.

به دلیل توانایی آن در مدیریت کارآمد تعداد زیادی از اتصالات همزمان، پذیرش گسترده ای برای ارائه وب سایت ها و برنامه ها به دست آورده است. اگر به دنبال راه اندازی Nginx در سرور اوبونتو هستید، به جای درستی آمده اید.

در این راهنمای گام به گام، فرآیند نصب Nginx در اوبونتو را به شما آموزش می‌دهیم، از دانلود و پیکربندی نرم‌افزار گرفته تا راه‌اندازی هاست مجازی.

آموزش نصب nginx روی ubuntu (گام به گام)
آموزش نصب nginx روی ubuntu (گام به گام)

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

install nginx
install nginx

حالا باید بررسی کنیم که پیکربندی آن برای شروع در بوت باشد:

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

پس از اجرای دستور، یک فایل تقسیم شده به ماژول ها باز می‌شود. که معمولاً شبیه تصویر زیر است:

install nginx2
install nginx2

هر ماژول یک دستورالعمل است که مسئول تنظیمات خاص وب سرور است. دستورالعمل های ساده و بلوکی وجود دارد. علاوه بر نام و پارامترها، دستورالعمل های بلوک دستورالعمل های اضافی را که در داخل براکت های فرفری قرار داده شده اند ذخیره می‌کنند.

بیایید برخی از دستورالعمل های فایل پیکربندی اصلی را فهرست کنیم:

کاربر کاربری است که تمام فرآیندهای کارگر را اجرا می‌کند.

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 سرور یا دامنه را در نوار آدرس مرورگر قرار دهید:

ip check
ip check

روش دیگر استفاده از دستور curl می‌باشد:

دستور curl
دستور 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 را فعال می‌کند

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.

دکمه بازگشت به بالا