نصب و پیکربندی 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

مرحله 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/

مرحله 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 -tulpn $ ss -tulpn | grep :80 $ netstat -tulpn
جمع بندی اکنون نصب و پیکربندی Nginx روی سرور Ubuntu 18.04 به درستی انجام شد. در قسمت دوم این مجموعه، پیکربندی سرورHTTPS ( مجوزهای SSL/TLS ) برای انجام اقدامات امنیتی را آموزش خواهیم داد. جهت کسب اطلاعات بیشتر به این صفحه مراجعه کنید.