در این مقاله آموزش خواهیم داد که چگونه چند دامنه را در سرور  Ubuntu با وب سرور Nginx  بدون داشتن کنترل پنل مدیریت نماییم.

تنظیم چند دامنه در Ubuntu با وب سرور Nginx

1. نصب Nginx

در مرحله  اول با انجام مراحل زیر می توانید نصب وب سرور را انجام دهید  که با کامند زیر ابتدا پکیج های شما را جهت استفاده از آخرین نسخه آپدیت می نماید و بعد اقدام به دانلود و نصب Nginx می نماید:

sudo apt update && sudo apt install nginx

sudo apt install -y nginx

بعد از نصب می توانید با وارد کردن کامند زیر ورژن نصب شده را مشاهده نمایید:

nginx -v

و سپس با کامند زیر وضعیت وب سرور را بررسی نمایید که فعال و در حال اجرا باشد:

sudo service nginx status

2. کانفیگ firewall

پیشنهاد می شود برای ufw firewall را فعال نمایید تا در Nginx امکان اضافه کردن rule را داشته باشید. قبل از فعال کردن ufw دسترسی  SSH را بررسی نمایید تا در سرور دسترسی شما بلاک نشود:

sudo ufw allow OpenSSH

حالا به سراغ تنظیم rule در Nginx می رویم:

sudo ufw allow 'Nginx HTTP'
Rule added
Rule added (v6)

فعال سازی ufw فایروال:

sudo ufw enable

حالا وضعیت فایروال را بررسی نمایید:

sudo ufw status
Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
Nginx HTTP                 ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)
Nginx HTTP (v6)            ALLOW       Anywhere (v6)

خب حالا وب سرور شما آماده است!

3. پیکربندی Server Blocks

اگر مایل به استفاده از چند دامنه در وب سرور Nginx می باشید بهتر است که  Server Block و  دایرکتوری مورد نظر را ایجاد نمایید. حتی اگرمایل به استفاده از یک دامنه هم می باشید بهتر است که Server Block جدید را ایجاد نمایید زیرا در صورتی که درآینده تصمیم به اضافه کردن دامنه ای باشید این کار بسیار راحتتر خواهد بود.

در این مقاله ما با دامنه های mytest1.com و mytest2.com  سرور بلاک و دایرکتوری جدید را ایجاد می نماییم.

3.1. ایجاد دایرکتوری جدید و تغییر Permission

خب اقدام به ایجاد دو دایرکتوری /var/www/ برای دو دامنه مورد نظرمان می نماییم:

sudo mkdir -p /var/www/mytest1.com/public_html
sudo mkdir -p /var/www/mytest2.com/public_html

اگر می خواهیم دسترسی ای ایجاد نماییم که کاربری غیر  از root هم امکان تغییر فایل را داشته باشد می توانیم owner را تغییر دهیم.

sudo chown -R $(whoami):$(whoami) /var/www/mytest1.com/public_html
sudo chown -R $(whoami):$(whoami) /var/www/mytest2.com/public_html

3.2. ایجاد صفحه تست

الان می توانیم یک صفحه index.html را برای هر یک از دامنه هایمان ایجاد نماییم.

sudo echo "Welcome to mytest1.com!" > /var/www/mytest1.com/public_html/index.html
sudo echo "Welcome to mytest2.com!" > /var/www/mytest2.com/public_html/index.html

3.3. ایجاد اولین Server Block

Server Block پیش فرض در این مسیر وجود دارد: /etc/nginx/sites-available/default

حال این فایل را با نام  جدید مطابق دامنه کپی می کنیم:

sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/mytest1.com

سپس این فایل را ادیت می کنیم:

sudo nano /etc/nginx/sites-available/mytest1.com

در ادامه این فایل را scroll نمایید و root /var/www/html را بیابید.سپس این مسیر root را می بایست مطابق دایرکتوری که قبل تر ایجاد نموده این ادیت نماییم، به عنوان مثال: /var/www/mytest1.com/public_html

تنظیم چند دامنه در Ubuntu با وب سرور Nginx

سپس  خط server_name _;  را بیابید (شما می توانید با Ctrl + w این لاین را سرچ کنید) سپس مطابق نام دامنه آن را تغییر دهید:

تنظیم چند دامنه در Ubuntu با وب سرور Nginx

تنظیمات را ذخیره و nano را ببندید. با دستور Ctrl + X و سپس وارد کردن Y تنظیمات ذخیره خواهد شد.

خب قبل از این که سایر مراحل را پیش برویم اطمینان حاصل کنید که فایل کانفیگ Nginx وجود دارد و معتبر است.

sudo nginx -t

اگر به درستی وارد شده باشد، تصویری زیر نمایش داده خواهد شد:

تنظیم چند دامنه در Ubuntu با وب سرور Nginx

در مقاله بعدی آموزش خواهیم داد که چگونه دامنه دوم را ایجاد خواهیم نمود.