نصب Nginx
در حال حاضر Nginx در ریپازیتوریهای پیشفرض اوبونتو موجود است، در نتیجه نصب آن به راحتی و با یک دستور ساده انجام میشود. قبل از نصب بهتر است فهرست پکیجهای local را بروز رسانی کنیم. به دستورات زیر دقت کنید:
sudo apt-get update
sudo apt-get install nginx
ممکن است در هنگام نصب سوالی مبنی بر تایید نصب پرسیده شود. با تایید و دنبال کردن روند نصب، Nginx و تمام نیازمندیهای ضروری آن دریافت و نصب خواهند شد.
تنظیمات فایروال
از آنجا که Nginx یک وب سرور است، به پورتهای مشخصی نیاز دارد و باید فایروال سیستم اجازه دسترسی به این پورتها را به Nginx بدهد. خوشبختانه در هنگام نصب Nginx، این وب سرور خود را به عنوان یک سرویس به ufw یا هر فایروال دیگر که بر روی سیستم نصب شده است، میشناساند. این کار، اعمال تنظیمات فایروال را بسیار راحت میکند.
ما میتوانیم به کمک دستور زیر، لیست تنظیمات برنامههای کاربردی که ufw میشناسد دریافت کنیم:
sudo ufw app list
برای Nginx احتمالا خروحی زیر را خواهیم داشت:
Available applications:
Nginx Full
Nginx HTTP
Nginx HTTPS
OpenSSH
لیست بالا پروفایلهای مربوط به Nginx هستند که با فعالسازی هر کدام، دسترسیهای خاصی برای وب سرور Nginx از طرف فایروال مجاز خواهد شد. شرح هر کدام از پروفایلهای بالا در ادامه آورده شده است:
Nginx Full: این پروفایل هر دو پورت ۸۰ و ۴۴۳ را باز خواهد کرد. پورت ۸۰ برای ترافیک http و پورت ۴۴۳ برای ترافیک https کاربرد دارد.
Nginx HTTP: این پروفایل فقط پورت ۸۰ را باز خواهد کرد.
Nginx HTTPS: این پروفایل نیز تنها پورت ۴۴۳ را باز خواهد کرد.
از آنجایی که ما تنظیمات SSL را برای سرور خود انجام ندادهایم، تنها نیاز به مجاز ساختن ترافیک بر روی پورت ۸۰ داریم. این کار را میتوانیم به کمک دستور زیر انجام دهیم:
sudo ufw allow 'Nginx HTTP'
برای حصول اطمینان از اعمال تغییرات نیز میتوانیم دستور زیر را وارد کنیم:
sudo ufw status
اگر مراحل را به درستی طی کرده باشیم، باید ترافیک HTTP مجاز را در خروجی مشاهده کنیم:
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
Nginx HTTP ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
Nginx HTTP (v6) ALLOW Anywhere (v6)
چک کردن وب سرور
در پایان فرآیند نصب، اوبونتو سرویس Nginx را استارت میکند. در نتیجه وب سرور باید فعال و در حال کار باشد. به کمک دستور زیر میتوانیم وضعیت کنونی وب سرور را مشاهده کنیم:
systemctl status nginx
اگر در خروجی دستور بالا، وضعیت سرویس active باشد، نشانگر این است که سرویس به درستی راه اندازی شده است. حال اگر مرورگر خود را بازکرده و به آدرسهای زیر مراجعه کنید:
http://your_domain_or_ip
به جای عبارت your_domain_or_ip باید نام دامنه یا آی پی سرور(سیستم) خود را وارد کنید. در نتیجه این کار باید صفحه پیشفرض Nginx را مشاهده کنید:
این صفحه برای این منظور نمایش داده شده که شما از درست کار کردن وبسرور اطمینان حاصل کنید.
مدیریت سرویس Nginx
حال باید بدانیم چگونه وبسرور خود را متوقف و یا راهاندازی کنیم. یا اگر تغییراتی در تنظیمات آن اعمال کردیم، چگونه این تغییرات را بارگذاری کنیم. برای انجام اعمالی از این دست میتوانیم از دستورات زیر استفاده کنیم:
برای stop نمودن سرویس:
sudo systemctl stop nginx
برای راه اندازی سرویس در زمانی که متوقف شده است:
sudo systemctl start nginx
برای متوقف سازی و راه اندازی مجدد سرویس:
sudo systemctl restart nginx
زمانی که تغییراتی در تنظیمات وب سرور اعمال کردهایم، میتوانیم بدون از کار انداختن سرویس و راه اندازی مجدد، تغییرات را بارگذاری کنیم. این کار به کمک دستور زیر انجام میشود:
sudo systemctl reload nginx
بطور پیشفرض nginx به گونهای نصب میشود که با هر بار راه اندازی سیستم عامل، بصورت خودکار شروع به فعالیت کند. برای جلوگیری از این کار میتوانیم از دستور زیر استفاده کنیم:
sudo systemctl disable nginx
برای اینکه به سرویس این قابلیت را بدهیم که با هر بار راهاندازی سیستم عامل بصورت خودکار شروع به فعالیت کند، میتوانیم از دستور زیر استفاده کنیم:
sudo systemctl enable nginx
موفق باشید.