نصب و پیکربندی Nginx بر روی سرور Ubuntu 18

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

Nginx یک وب سرور کدباز و رایگانی است که وظیفه ارسال صفحات وب به اینترنت را دارد. در واقع می توان به وسیله آن صفحات ایستا (static) یا پویا (dynamic) که توسط PHP تولید شده اند را ارسال کرد. دلیل شهرت Nginx، عملکرد بالای HTTP و HTTPS و سرور پروکسی معکوس آن است. این سرور پیکربندی ساده ای داشته و از منابع کمی استفاده می کند بنابراین بهترین جایگزین برای آپاچی به شمار می رود.

نصب و پیکربندی Nginx بر روی سرور Ubuntu 18.04

روش نصب Nginx روی Ubuntu 18.04به صورت زیر است:

1: به روز رسانی سیستم با استفاده از دستور apt
2: نصب Nginx با استفاده از دستور apt install nginx
3: پیکربندی سرور Nginx
4: فعال کردن Nginx و ری استارت کردن آن

اجازه دهید تمام مراحل بالا را با جزییات کامل نشان دهیم.

مرحله 1: ورود به سرور با استفاده از دستور ssh

ابتدا از طریق دستور ssh وارد سرور خود شوید:


$ ssh user@server
$ ssh vivek@server1.cyberciti.biz


مرحله2: پیدا کردن IP آدرس سرور لینوکس در Ubuntu

دستور IP زیر را وارد کنید:


$ ip show
$ ip addr show


IP آدرس 10.105.28.46 را یادداشت کنید. ممکن است آدرس IPv4 عمومی داشته باشید که همه اینها بستگی به setup شما دارد.

مرحله 3: نصب Nginx روی Ubuntu 18.04

برای نصب آپدیت های امنیتی روی Ubuntu 18.04، دستور apt زیر را اجرا کنید:


$ sudo apt update
$ sudo apt upgrade


خروجی آن به این صورت خواهد بود:


Hit:1 http://us-east-1.ec2.archive.ubuntu.com/ubuntu bionic InRelease
Get:2 http://us-east-1.ec2.archive.ubuntu.com/ubuntu bionic-updates InRelease [88.7 kB]
Get:3 http://us-east-1.ec2.archive.ubuntu.com/ubuntu bionic-backports InRelease [74.6 kB]
Get:4 http://security.ubuntu.com/ubuntu bionic-security InRelease [88.7 kB]
Fetched 252 kB in 1s (503 kB/s)
Reading package lists… Done
Building dependency tree
Reading state information… Done
All packages are up to date.


در آخر، وب سرور Nginx را به این صورت نصب می کنیم:


$ sudo apt install nginx


مرحله 4: اجرای دستورهای start/stop/restart سرور Nginx روی Ubuntu

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


$ sudo systemctl enable nginx


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


$ sudo systemctl start nginx


به وسیله دستور زیر آن را ری استارت کنید:


$ sudo systemctl restart nginx


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


$ sudo systemctl stop nginx


بارگذاری مجدد Nginx با دستور زیر قابل اجراست:


$ sudo systemctl reload nginx


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


$ sudo systemctl status nginx


مرحله 5: باز کردن پورت 80 و 443 با استفاده از دستور UFW (پیکربندی firewall)

UFW (مخفف uncomplicated firewall) به معنای فایروال بدون پیچیدگی است. که برای مدیریت فایروال لینوکس استفاده شده و هدفش ایجاد یک رابط ساده برای کاربر است. برای باز کردن پورت 80 (HTTP) و 443 (HTTPS) دستور زیر را اجرا نمایید:


$ sudo ufw allow https comment ‘Open all to access Nginx port 443’
$ sudo ufw allow http comment ‘Open access Nginx port 80’
$ sudo ufw allow ssh comment ‘Open access OpenSSH port 22’
$ sudo ufw enable


سپس وضعیت فایروال را بررسی کنید:


$ sudo ufw status


مرحله 6: بررسی عملکرد Nginx در Ubuntu 18.04

وب سرور شما در حال اجراست. اکنون نوبت تست کردن آن است. با استفاده ازIP آدرس موجود در مرحله 2، یک مرورگر باز کرده و URL زیر را داخل آن وارد کنید:


http://10.105.28.46/


یا از IP آدرس عمومی استفاده کنید:


http://104.200.23.232/


صفحه پیش فرض بالا بیانگر این است که سرور Nginx و Ubuntu به درستی روی سیستم نصب شده است.

مرحله 7: پیکربندی Nginx

بگذارید دامنه عمومی خودمان را ( cms.cyberciti.biz یا www.cyberciti.biz و …) توسط یک دایرکتوری راه اندازی کنیم.

ساخت یک کاربر به منظور ذخیره کردن صفحات وب

با استفاده از دستور useradd، یک کاربر جدید با نام www-pubcms اضافه کنید:


$ sudo useradd -s /usr/sbin/nologin -m -d /home/lighttpd/ -c ‘cms.cyberciti.biz user’ www-pubcms


سپس آن را با دستور passwd رمزگذاری کنید:


$ sudo passwd -l www-pubcms
passwd: password expiry information changed.


ساخت دایرکتوری برای ذخیره سازی صفحات وب با استفاده از دستور mkdir

به این صورت است:


$ sudo mkdir -v /home/lighttpd/http/


ساخت یک نمونه صفحه وب جدید

با استفاده از ویرایشگر متنی دستور nano یا vim را اجرا کنید:


$ sudo nano /home/lighttpd/http/index.html
یا
$ sudo vim /home/lighttpd/http/index.html


کد HTML زیر را ضمیمه کنید:


<html>
<head>
<title>CMS.CYBERCITI.BIZ</title>
</head>
<body>
<h1>Welcome</h1>
This is a test page for cms.cyberciti.biz.
<hr>
<small>Powered by Nginx and Ubuntu 18.04 LTS</small>
</body>
</html>


سپس مجوز لازم را تعیین کنید:


$ sudo chown -vR www-pubcms:www-pubcms /home/lighttpd/


پیکربندی دامنه مجازی برای cms.cyberciti.biz

دستورهای زیر را وارد نمایید:


$ sudo vim /etc/nginx/sites-available/http.cms.cyberciti.biz.conf
یا
$ sudo nano /etc/nginx/sites-available/http.cms.cyberciti.biz.conf


سپس پیکربندی را ضمیمه کنید:


our first viraul host cms.cyberciti.biz
server {
listen 80; # port
server_name cms.cyberciti.biz; # dns server name

# log files
access_log /var/log/nginx/cms.cyberciti.biz_access.log;
error_log /var/log/nginx/cms.cyberciti.biz_error.lg;

# document root where files stores for cms.cyberciti.biz domain
root /home/lighttpd/http;
index index.html index.htm;
}


سپس فایل را ذخیره کرده و ببندید. با استفاده از دستور ln، یک لینک جدید در دایرکتوری sites-enabled ساخته تا دامنه cms.cyberciti.biz فعال شود:


$ cd /etc/nginx/sites-enabled/
$ sudo ln -v -s /etc/nginx/sites-available/http.cms.cyberciti.biz.conf .


تست و بارگذاری مجدد سرور Nginx

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


$ sudo nginx -t



nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful


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


$ sudo systemctl reload nginx


مطمئن شوید که نام دامنه (مثلا 104.200.23.232 ) را با دقت وارد IP آدرس عمومی کردید. می توانید با استفاده از دستورhost یا dig یک رکورد برای cms.cyberciti.biz بسازید:


$ host cms.cyberciti.biz
cms.cyberciti.biz has address 104.200.23.232
cms.cyberciti.biz has IPv6 address 2600:3c00:1::68c8:17e8


نام دامنه را در مرورگر خود وارد کنید:


http://cms.cyberciti.biz/


وارد کردن لاگ فایل های Nginx

• /var/log/nginx/ : لاگ فایل های Nginx را نشان می دهد.

• /etc/nginx/ : دایرکتوری فایل های پیکربندی Nginx است. همه فایل های پیکربندی فعال شده در این /etc/nginx/sites-enabled/ وجود دارند که از دایرکتوری /etc/nginx/sites-enabled/ لینک شده اند.
• /etc/nginx/nginx.conf : فایل اصلی تنظیمات است.

با استفاده از دستورهای tail، more، grep و cat می توان به لاگ فایل های سرور دست یافت:


$ tail -f /var/log/nginx/access.log
$ more /var/log/nginx/error.log
$ grep ‘something’ /var/log/nginx/cms.cyberciti.biz_access.log
$ cat /var/log/nginx/cms.cyberciti.biz_access.log


با چک کردن لاگ فایل ها مطمئن شوید که همه چیز در تمام دامنه ها به درستی عمل می کند.

با استفاده از دستور ss یا netstat از باز بودن پورت ها در Ubuntu مطمئن شوید:


$ ss -tulpn
$ ss -tulpn | grep :80
$ netstat -tulpn


جمع بندی

اکنون نصب و پیکربندی Nginx روی سرور Ubuntu 18.04 به درستی انجام شد. در قسمت دوم این مجموعه، پیکربندی سرورHTTPS ( مجوزهای SSL/TLS ) برای انجام اقدامات امنیتی را آموزش خواهیم داد. جهت کسب اطلاعات بیشتر به این صفحه مراجعه کنید.


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

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

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

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

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

سرور ابری

سرور ابری

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

۲ تیر ۱۳۹۹ ۵

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

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

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

۱۱ بهمن ۱۴۰۰ ۳

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

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

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

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

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

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

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

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

دیدگاه‌ها

comment symbol

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

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

نوشتن دیدگاه

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

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