آموزش نصب و پیکربندی Nginx در CentOS 7

۱۳ آذر ۱۳۹۹ مطالعه ۴ دقیقه

Nginx چیست؟

Nginx جایگزینی برای آپاچی است و یکی از معروف ترین وب سرورها در دنیا تلقی می شود. برعکس آپاچی، Nginx منابع کمتری از بین برده و موجب بهبود پاسخگویی سرور می شود و همین طور طراحی مبتنی بر رویداد آن باعث محبوبیتش شده است.
علاوه بر این، به ادمین اجازه می دهد پیکربندی های advanced را راه اندازی کرده و بتواند با حجم زیادی از اتصالات همزمان سروکار داشته باشد. Nginx جدای مزیت هایش برای یک HTTP وب سرور، به عنوان یک reverse proxy، لود بالانسر و mail سرور استاندارد هم عمل می کند.
در این مقاله به آموزش نصب و پیکربندی Nginx در CentOS 7 خواهیم پرداخت.

پیش نیازها:

• یک سرور CentOS یا VM
• دسترسی root
• SELinux

آموزش نصب Nginx در CentOS 7

روش پیکربندی زیر، مراحل ضروری راه اندازی Nginx در CentOS 7 را با جزئیات کامل توضیح می دهد.
برای دستورالعمل نصب CentOS 8، لطفا نحوه نصب Nginx در CentOS 7 را مطالعه نمایید.

مرحله 1: کلیه مخازن را به روز رسانی کنید.

برای این کار، دستور زیر را اجرا نمایید:


 $ sudo yum -y update


-y یک پارامتر اختیاری است و از ایجاد سوالات تاییدی جلوگیری می کند. توجه داشته باشید که از آن زیاد استفاده خواهیم کرد. اگر نمی خواهید از این پارامتر استفاده کنید باید دستورها را تایید کنید.

مرحله 2: نصب پکیج های اضافی برای Enterprise Linux (EPEL)

Nginx در repository (مخازن) استانداردی که همراه پکیج CentOS می آید قابل دسترسی نیست، بنابراین باید مخزن EPEL را نصب کنیم. استفاده از EPEL رایگان بوده و پکیج های open- source(منبع باز) متعددی برای نصب با Yum در اختیارمان قرار می دهد.

برای نصب EPEL دستور زیر را با استفاده از Yum اجرا کنید:


$ sudo yum install -y epel-release


مرحله 3: نصب Nginx

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


$ sudo yum –y install nginx


مرحله 4: شروع سرویس Nginx

Nginx شما نصب شد اما به طور اتوماتیک شروع به کار نخواهد کرد. برای شروع آن دستور زیر را اجرا کنید:


$ sudo systemctl start nginx


بعد از زدن enter گرچه Nginx باید شروع به کار کند اما return value دریافت نخواهید کرد. برای چک کردن آن از دستور زیر استفاده کنید:


$ sudo systemctl status nginx


باید یک عبارت سبز رنگی بیاید که نوشته باشد‘active (running) ’ . اگر نیامد یعنی نمونه Nginx شما به درستی استارت نشده است.

توجه: اگر آپاچی سرور اجرا شده دارید باید آن را قبل از استارت کردن Nginx غیرفعال کنید. برای این کار از دستور sudo service httpd stop استفاده کنید. حواستان باشد که غیر فعال کردن آپاچی، هر وب سایت جدیدی که اجرا شده است را به هم می زند.

اکنون آپاچی را غیرفعال کردید اما شاید همچنان حین reboot کردن سرور به طور اتوماتیک استارت شود. برای غیرفعال کردن استارت اتوماتیک، دستور زیر را اجرا کنید:


 $ sudo systemctl disable httpd


مرحله 5: پیکربندی Nginx برای استارت شدن در Boot

اکثر ادمین ها می خواهند مطمئن شوند هر وقت سرور restart می شود، Nginx به طور اتوماتیک استارت خواهد شد. برای این کار دستور زیر را انجام دهید:


$ sudo systemctl enable nginx


مرحله 6: پیکربندی Firewall جهت انجام Traffic

centOS 7 به طور پیش فرض Firewallها را فعال و دسترسی به پورت های 80 و 443 را مسدود می کند. در واقع هر HTTP داخلی و HTTP packet را از Nginx مسدود خواهد کرد.

برای مجوز دادن به HTTP و HTTP traffic از دستورهای زیر استفاده کنید:


firewall-cmd –zone=public –permanent –add-service=http

firewall-cmd –zone=public –permanent –add-service=https

firewall-cmd –reload


بعد از هر دستور باید عبارت success را ببینید که نشان می دهد دستور به درستی اجرا شده است.

مرحله 7: اثبات نصب Nginx

ساده ترین روش برای این که بفهمیم Nginx به درستی اجرا شده یا نه این است که نگاهی به IP آدرس عمومی سرور خود بیاندازیم. فقط کافی است مرورگر خود را باز کرده و سایت http://server_IP_or_domain_name/ ببینید.

ابتدا IP آدرس عمومی سرور خود را پیدا کنید.


$ ip a


IP آدرس عمومی سرور

IP آدرس ما این است 192.168.122.1/24. IP آدرس خود را کپی و در مرورگر paste کنید. باید صفحه Welcome to Nginx ظاهر شود.

ورود به NGINEX

آموزش رفع خطای ‘test failed’

اگر یک پیام حاوی ‘test failed’ error درفایل nginx.conf دریافت کردید احتمالا به مشکل IP آدرس برخوردید.
Nginx سرویس به طور پیش فرض تحت فرمان IPv4 و IPv6 است. اگر سرور شما از IPv6 پشتیبانی نکند، تست fail خواهد شد. با این وجود می توان این مشکل را با تغییر دادن فایل پیکربندی اصلی درست کرد.

فایل پیکربندی اصلی /etc/nginx/nginx.conf را باز کنید. خط زیر را پیدا کنید:


listen [::]:80 default_server;


فقط ‘#’ را در ابتدای خط اضافه کنید. مطابق زیر:


# listen [::]:80 default_server;


تغییراتی که انجام دادید را save کرده و Nginx سرویس را reload کنید.


 $ sudo systemctl reload nginx


در مرورگر، IP آدرس سرور خود را Browse کنید. باید صفحه پیش فرض Nginx test را ببینید.

پیکربندی فایل ها و Root کردن Nginx

به طور حتم باید محل قرارگیری فایل های پیکربندی Nginx و root directory پیش فرض Nginx سرور را بدانید.

Server Blocks‌ Additional

ادمین ها در آپاچی، برای اجرای چندین وب سایت از host های مجازی استفاده می کنند. در حالی که در Nginx، اجرای چند وب سایت در یک سرور با server blocks صورت می گیرد.

Server blocks Additional با درست کردن فایل های پیکربندی جدید با پسوند فایل .conf به وجود آمده اند. این فایل ها را در /etc/nginx/conf.d قرار بدهید تا هر زمان که Nginx شروع به کار کرد بارگیری شوند.

Root کردنNginx سرور به صورت پیش فرض

Root کردنNginx سرور به طور پیش فرض به این صورت است /usr/share/nginx که در فایل پیکربندی server block پیش فرض که در /etc/nginx/conf.d/default.conf قرار دارد به طور کامل مشخص شده است.

root directory document پیش فرض که شامل وب فایل ها می شود به این صورت است usr/share/nginx/html.

مدیریت Nginx – دستورهای رایج

متوقف کردن Nginx

برای متوقف کردن Nginx سرور از دستور زیر استفاده کنید:


$ sudo systemctl stop nginx


Restart کردن Nginx

برای Restart کردن Nginx سرویس طبق دستور زیر پیش بروید:


$ sudo systemctl restart nginx


Reload کردن Nginx

اگر شما تغییری در پیکربندی اصلی Nginx ایجاد کردید باید سرور را reload کرده تا تغییرات انجام پذیرند.


sudo systemctl reload nginx $


غیرفعال کردن شروع اتوماتیک در Boot

اگر نمی خواهید Nginx به طور اتوماتیک در ‌Boot استارت شود، دستور زیر را اجرا کنید:


$ sudo systemctl disable nginx


پیکربندی یک directory جدید

اگر شما چندین وب سایت را میزبانی می کنید بهترین کار این است که طبق نام گذاری استاندارد پیش بروید.


$ sudo mkdir -p /var/www/yourdomain.com/public_html


سپس به یک صفحه index نیاز داریم. دستور زیر به شما کمک می کند تا پیکربندی را تست کنید.


 $ sudo nano /var/www/yourdomain.com/public_html/index.html $


برای تست کردن یک خط از متن را در index.html وارد کنید. سپس فایل را save کرده و ببندید.

با تغییر دادن مجوزهای فایل Linux، می توانید به صورت آنلاین به اطلاعات دسترسی یابید.


sudo chmod 755 /var/www/yourdomain.com/public_html $


صفحه index.html را باز کنید. این صفحه باید به صورت آنلاین در دسترس باشد.

درآخر

بعد از نصب موفقیت آمیز Nginx در CentOS 7، گزینه های زیادی برای نصب کامل LEMP که جاگزین شناخته شده ای برای LAMP stack هست پدیدار می شود. LEMP یک عبارت اختصاری است که هر کدام از حروف آن برای یک مولف کدباز به کار می رود.

• L – به جای Linux OS
• E – به جای Nginx (اگر آن را به صورت ‘engine x’ تلفظ کنیم)
• M – به جای MySQL یا سیستم مدیریت داده های پیوندی MariaDB
• P – به جای PHP

هر کدام از اینها بر روی دیگری می نشینند. Linux OS در لایه اصلی قرار می گیرد.


داغ‌ترین مطالب روز

بهترین DNS برای گیم

بهترین DNS برای گیم

DNS یکی از مهم ترین مواردی است که سبب می شود تا تجربه شما از بازی کردن بهبود یافته و اتصال شما به سرورها پایداری و ثبات پیدا کند. اما پیدا کردن دی ان اس خوب برای بازی ها آنلاین به خصوص بازی هایی نظیر Valorant، Call of Duty و … همواره چالش محسوب شده […]

۱۶ خرداد ۱۴۰۱ ۷

سرور ابری

سرور ابری

سرور ابری و یا سرویس ابری از اصطلاحاتی هستند که امروزه به آن زیاد بر می خوریم. اما شاید تا کنون درک درستی در خصوص خدمات مبتنی بر ابر و سرور ابری (سرور رایانش ابری) نداشته باشیم. انتخاب خدمات مرکز داده مناسب ، می تواند تاثیر به سزایی در هزینه های یک کسب و کار […]

۲ تیر ۱۳۹۹ ۵

آموزش دانلود از اینترنت

آموزش دانلود از اینترنت

دانلود کردن بخش جدایی ناپذیر این روزهای زندگی شده است. هر روز حجم عظیمی از اطلاعات دانلود و آپلود شده و به زندگی مجازی جان می بخشد. اما نحوه دانلود اصولی و حرفه ای از اینترنت به چه صورت است؟ چطور دانلود کنیم که از سالم بودن فایل اطمینان بالایی داشته باشیم؟ در این مقاله […]

۱۱ بهمن ۱۴۰۰ ۳

آموزش رفع مشکل وصل نشدن اینترنت در ویندوز 7

آموزش رفع مشکل وصل نشدن اینترنت در ویندوز 7

اینترنت یکی از مهم ترین عناصر زندگی در عصر امروز است. اما اگر نتوانیم با ویندوز به اینترنت وصل شویم چه؟ مشکل وصل نشدن اینترنت در ویندوز 7 چیست؟ در این مقاله به آموزش رفع مشکل وصل نشدن اینترنت در ویندوز 7 می پردازیم تا با بررسی راه حل های آن بتوانید به صورت اصولی […]

۲۸ اردیبهشت ۱۴۰۱ ۳

سرور مجازی مناسب کسب‌وکار کوچک

سرور مجازی مناسب کسب‌وکار کوچک

امروزه در دنیای مدرن و پیشرفته‌ای زندگی می‌کنیم که پتانسیل‌های کسب‌وکارها بدون معرفی در فضای مجازی، دست‌نخورده و اتلاف شده باقی می‌مانند و امکان شکست آن‌ها افزایش می‌یابد. بنابراین، طراحی و استفاده از یک وب سایت می‌تواند به گسترش این کسب‌وکارهای کوچک کمک کند و آن را به سرعت توسعه دهد. این وب سایت به […]

۳۰ شهریور ۱۴۰۰ ۲

دیدگاه‌ها

comment symbol

برای این مقاله ۰ دیدگاه نوشته شده است. دیدگاه شما چیست؟

شما نیز، دیدگاه خود را از طریق دکمه زیر به اشتراک بگذارید.

نوشتن دیدگاه

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *