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

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

 

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

 

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

 

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

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

 

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

 

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

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


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


 

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

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

 


$ ip show
$ ip addr show


 

پیدا کردن IP آدرس سرور لینوکس در Ubuntu

 

IP آدرس ۱۰.۱۰۵.۲۸.۴۶ را یادداشت کنید. ممکن است آدرس IPv4 عمومی داشته باشید که همه اینها بستگی به setup شما دارد.

 

مرحله ۳: نصب 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


 

مرحله دوم از نصب Nginx روی Ubuntu 18.04

مرحله ۴: اجرای دستورهای 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


 

مرحله سوم از نصب Nginx روی Ubuntu 18.04

 

مرحله ۵: باز کردن پورت ۸۰ و ۴۴۳ با استفاده از دستور UFW (پیکربندی firewall)

UFW (مخفف uncomplicated firewall) به معنای فایروال بدون پیچیدگی است. که برای مدیریت فایروال لینوکس استفاده شده و هدفش ایجاد یک رابط ساده برای کاربر است. برای باز کردن پورت ۸۰ (HTTP) و ۴۴۳ (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


 

مرحله چهارم از نصب Nginx روی Ubuntu 18.04

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

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

 


http://10.105.28.46/


 

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

 


http://104.200.23.232/


 

مرحله پنجم از نصب Nginx روی Ubuntu 18.04

 

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

 

مرحله ۷: پیکربندی 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


 

مطمئن شوید که نام دامنه (مثلا ۱۰۴.۲۰۰.۲۳.۲۳۲ ) را با دقت وارد 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

 

وارد کردن لاگ فایل های 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


 

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

 

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

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

 


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


 

جمع بندی

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

شرکت صفرویک دارای مجوز Servco به شماره 20-95-100 از سازمان تنظیم مقررات و ارتباطات رادیویی