آموزش نصب Nginx در اوبونتو

آموزش نصب Nginx در اوبونتو

در این مقاله به آموزش نصب Nginx در اوبونتو ۲۰٫۰۴ میپردازیم که میتوانید مقالات قبلی آموزش نصب گرافنا در اوبونتو و آمنوزش نصب جاوا در اوبونتو ۲۰ را نیز مشاهده کنید.

مقدمه

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

در این راهنما ، ما در مورد چگونگی نصب Nginx در سرور Ubuntu 20.04 خود ، تنظیم فایروال ، مدیریت فرایند Nginx و ایجاد بلوک های سرور برای میزبانی بیش از یک دامنه از یک سرور واحد بحث خواهیم کرد.


پیش نیازها

قبل از شروع این راهنما ، باید یک کاربر معمولی و غیر ریشه با امتیازات sudo در سرور خود تنظیم کنید. هنگامی که یک حساب کاربری در دسترس دارید ، به عنوان کاربر غیر ریشه خود وارد شوید.

 

نصب  Nginx ( مرحله اول)

از آنجا که Nginx در مخازن پیش فرض اوبونتو موجود است ، می توان آن را از طریق این مخازن با استفاده از سیستم بسته بندی مناسب نصب کرد.

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

 sudo apt update
sudo apt install nginx

بعد از پذیرش مرحله اول ، apt Nginx و هرگونه وابستگی لازم به سرور شما را نصب می کند.

 

تنظیم فایروال

(مرحله دوم)

قبل از آزمایش Nginx ، برای دسترسی به سرویس باید نرم افزار فایروال تنظیم شود. Nginx پس از نصب ، خود را به عنوان سرویس با ufw ثبت می کند ، و این باعث می شود دسترسی آسان Nginx ساده باشد.

تنظیمات برنامه را که ufw می داند چگونه با آن کار کند تایپ کنید:

sudo ufw app list

بعد از وارد کردن دستور بالا خروجی زیر را باید دریافت کنید:

خروجی
Available applications:
Nginx Full
Nginx HTTP
Nginx HTTPS
OpenSSH

همانطور که از خروجی نشان داده شده است ، سه پروفایل برای Nginx در دسترس است:

  • Nginx Full: این پروفایل هر دو درگاه ۸۰ (ترافیک وب عادی و بدون رمزگذاری) و پورت ۴۴۳ (ترافیک رمزگذاری شده TLS / SSL) را باز می کند
  • Nginx HTTP: این نمایه فقط پورت ۸۰ را باز می کند (ترافیک وب عادی و بدون رمزگذاری)
  • Nginx HTTPS: این نمایه فقط درگاه ۴۴۳ را باز می کند (ترافیک رمزگذاری شده TLS / 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)

 

برسی webserver

(مرحله سوم)

در پایان مراحل نصب ، اوبونتو ۲۰٫۰۴ وب سرور Nginx را استارت می کند. برای صحت عملکرد میتوانیم با تایپ دستور زیر از فعال بودن و صحت عملکرد وب سرور انجنیکس مطلع شویم:

systemctl status nginx
خروجی
● nginx.service – A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2020-04-20 16:08:19 UTC; 3 days ago
Docs: man:nginx(8)
Main PID: 2369 (nginx)
Tasks: 2 (limit: 1153)
Memory: 3.5M
CGroup: /system.slice/nginx.service
├─۲۳۶۹ nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
└─۲۳۸۰ nginx: worker process

 

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


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

نکته: اگر آدرس آیپی سرور را نمیدانید میتوانید با وارد کردن دستور زیر از سایت مورد نظر استعلام آیپی سرور را ارسال کنیم و خروجی که برابر است با آیپی سرور را دریافت کنید,مثل:

curl -4 icanhazip.com

خروجی:

http://your_server_ip

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

آموزش نصب Nginx در اوبونتو

آموزش نصب Nginx در اوبونتو

 

اگر در این صفحه هستید ، سرور شما به درستی کار می کند و آماده مدیریت است.

 

مدیریت پروسه های Nginx

(مرحله چهارم)

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

در زیر لیستی از پرکاربردترین دستورات nginx را لیست میکنیم:

۱-برای متوقف کردن وب سرور

sudo systemctl stop nginx

۲-برای شروع پروسه وب سرور بعد از متوقف کردن یا بصورت کلی برای شروع پروسه وب سرور

sudo systemctl start nginx

۳-برای restart کردن (ریست کردن پروسه)

sudo systemctl restart nginx

۴-برای بارگیری مجدد یا reload که تفاوت زیادی دارد با ریستارت میتوانید از دستور زیر استفاده کنید.

نکته: reload باعث شروع مجدد پروسه میشود ولی با این تفاوت که اتصالات و… را kill نمیکند و بدون مشکل میتوان بارگزاری مجدد بدون قطع دسترسی ها انجام داد.

sudo systemctl reload nginx

۵-اگر میخواهید بعد از خاموش و روشن شدن سرور مجازی یا سرور اختصاصی Nginx شروع به کار نکند و در لیست استارت اتوماتیک نباشد از دستور زیر استفاده کنید.

sudo systemctl disable nginx

۶-و برای لغو ماهیت دستور بالا و شروع اتوماتیک وب سرور بعد از خاموش و روشن شدن سرور از دستور زیر استفاده کنید.

sudo systemctl enable nginx

 

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

به ادامه مقاله آموزش نصب Nginx در اوبونتو میپردازیم.

 

تنظیم بلوک های سرور

(مرحله پنجم)بسیار مهم

هنگام استفاده از وب سرور Nginx ، می توانید از بلاک های سرور (مشابه میزبان های مجازی در آپاچی) برای کپسوله کردن جزئیات پیکربندی و میزبانی بیش از یک دامنه از یک سرور واحد استفاده کنید. ما دامنه ای به نام famaserver.com را راه اندازی می کنیم ، اما شما باید این را با نام دامنه خود جایگزین کنید.
Nginx در اوبونتو ۲۰٫۰۴ دارای یک بلوک سرور است که بصورت پیش فرض فعال شده است تا پیکربندی شود تا اسناد را از یک فهرست در  var/www/html ارائه دهد. اگرچه این یک سایت واحد به خوبی کار می کند ، اگر میزبان چندین سایت باشید ، می تواند ناخوشایند شود. به جای اصلاح  var/www/html ، بیایید یک ساختار دایرکتوری در var/www برای سایت famaserver.com ایجاد کنیم ، در این صورت / var/www/html را در جای خود به عنوان دایرکتوری پیش فرض قرار می دهیم که در صورت عدم درخواست مشتری مطابقت دارد. سایت های دیگر

با استفاده از پرچم -p ، برای ایجاد هر فهرست راهنمایی لازم ، دایرکتوری را برای famaserver.com ایجاد کنید:

sudo mkdir -p /var/www/famaserver.com/html

بعد ، مالکیت دایرکتوری را با متغیر محیط $user اختصاص دهید:

sudo chown -R $USER:$USER /var/www/famaserver.com/html

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

sudo chmod -R 755 /var/www/famaserver.com

بعد ، با استفاده از nano یا ویرایشگر مورد علاقه خود ، صفحه index.html نمونه را ایجاد کنید:

nano /var/www/famaserver.com/html/index.html

در داخل فایل ایجاد شده با دستور nano محتویات html زیر را وارد کنید:

<html>
<head>
<title>Welcome to famaserver.com!</title>
</head>
<body>
<h1>Success! The famaserver.com server block is working!</h1>
</body>
</html>

یا میتوانید دستورات یا کد های html دلخواه خود را وارد و جایگزین کنید.

پس از اتمام وارد کردن کد های html ویرایشگر nano را ذخیره و خارج شوید.برای ذخیره کلید ctrl+x را بزنید و با تایپ کردن کلید y به نشانه تایید ذخیره کلید enter را زده تا فایل بدرستی ذخیره و خارج شود.

برای اینکه Nginx بتواند این محتوا را ارائه دهد ، لازم است یک بلوک سرور را با دستورالعمل های درست ایجاد کنید. به جای تغییر مستقیم پرونده پیکربندی پیش فرض ، اجازه دهید پرونده جدیدی در /etc/nginx/sites-available/famaserver.com ایجاد کنیم:

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

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

server {
listen 80;
listen [::]:80;

root /var/www/famaserver.com/html;
index index.html index.htm index.nginx-debian.html;

server_name famaserver.com www.famaserver.com;

location / {
try_files $uri $uri/ =404;
}
}

نکته:

 

توجه کنید که پیکربندی root  را در فهرست جدید و نام server_ نام دامنه خود به روز کرده ایم.

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

sudo ln -s /etc/nginx/sites-available/famaserver.com/etc/nginx/sites-enabled/

اکنون دو بلوک سرور فعال شده و پیکربندی شده اند تا به درخواست ها بر اساس دستورالعمل های گوش دادن و server_name آنها پاسخ دهن:

۱-famaserver.com:به درخواست های famaserver.com و www.famaserver.com شما پاسخ خواهد داد.

۲-default:به هر درخواست در پورت ۸۰ که با دو بلوک دیگر مطابقت ندارد پاسخ خواهد داد.

برای جلوگیری از بروز مشکل حافظه سطل احتمالی که می تواند ناشی از افزودن نامهای اضافی سرور باشد ، لازم است یک مقدار واحد را در پرونده /etc/nginx/nginx.conf تنظیم کنید. پرونده را باز کنید:

sudo nano /etc/nginx/nginx.conf

دستورالعمل server_names_hash_bucket_size را پیدا کنید و نماد # را حذف کنید تا خط را فعال  کنید. اگر از نانو استفاده می کنید ، می توانید با فشار دادن CTRL و w به سرعت کلمات موجود در پرونده را جستجو کنید.


http {

server_names_hash_bucket_size 64;

}

پس از اتمام پرونده را ذخیره و خارح شوید.

سپس ، تست کنید تا مطمئن شوید که هیچ خطای نحوی در هیچ یک از پرونده های Nginx شما وجود ندارد:

sudo nginx -t

اگر مشکلی وجود ندارد ، Nginx را مجدداً فعال کنید تا تغییرات خود را فعال کنید:

sudo systemctl restart nginx

اکنون باید در خدمت نام دامنه شما باشد. می توانید با حرکت به http: //famaserver.com ، جایی که باید چیزی شبیه به این را مشاهده کنید :

آموزش نصب Nginx در اوبونتو

آموزش نصب Nginx در اوبونتو

 

آشنایی با پرونده ها و راهنمای مهم Nginx

مرحله آخر

اکنون که می دانید چگونه خود سرویس Nginx را مدیریت کنید ، باید چند دقیقه وقت بگذارید تا خود را با چند فهرست و پرونده مهم آشنا کنید.


محتوا

/var/www/html:محتوای وب واقعی ، که به طور پیش فرض فقط شامل صفحه پیش فرض Nginx است که قبلاً دیدید ، از فهرست /var/www/html استفاده می شود. این امر با تغییر پرونده های پیکربندی Nginx قابل تغییر است.

پیکربندی سرور

/etc/nginx:فهرست پیکربندی Nginx. همه پرونده های پیکربندی Nginx در اینجا ساکن هستند.

/etc/nginx/nginx.conf: پرونده اصلی پیکربندی Nginx. این می تواند برای ایجاد تغییر در تنظیمات جهانی Nginx اصلاح شود.

/etc/nginx/sites-available/: دایرکتوری که در آن بلوکهای سرور هر سایت قابل ذخیره است. Nginx از پرونده های پیکربندی موجود در این فهرست استفاده نمی کند مگر اینکه به فهرست سایت های فعال شده مرتبط باشند. به طور معمول ، تمام پیکربندی بلوک سرور در این دایرکتوری انجام می شود ، و سپس با پیوند دادن به دایرکتوری دیگر فعال می شود.

/etc/nginx/sites-enabled/:دایرکتوری که در آن بلوکهای سرور در هر سایت فعال است. به طور معمول ، اینها با پیوند دادن به فایلهای پیکربندی موجود در فهرست سایتهای موجود ایجاد می شوند.

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

Server Logs(لاگ های سرور)

/var/log/nginx/access.log:هر درخواستی به سرور وب شما در این پرونده ثبت شده ثبت می شود مگر اینکه Nginx پیکربندی شده باشد تا کار دیگری انجام دهد.

/var/log/nginx/error.log: هرگونه خطای Nginx در این گزارش ثبت می شود.

نتیجه گیری میکنیم که اکنون میتوانید تعداد سایت های مختلفی را بر روی وب سرور nginx فعال کنید و در کنار هم از آنها با محتوا و فایل هایی مختلف مدیریت کنید که این امر در همه ی وب سرور ها مرسول و با روش های مختلفی قابل سرویس دهی میباشند مثلا در سرور فاما سرور که باعث بوجود آمدن این دامنه و هاست شده تا شما مقالات ما را مطالعه کنید از وب سرور لایت اسپید استفاده کرده ایم و همینطور وب سرور آپاچی را نیز در کنار لایت اسپید در حال استفاده هستیم و برای درک بهتر موضوع میتوانید مقاله تفاوت Lite speed و Nginx   را مشاهده کنید.

 

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

منبع فاما سرور.

 

 

 

 

 

نظرات کاربران
مطالب مرتبط
سرور مجازی ایده آل
سرور مجازی ایده آل

سرور مجازی ایده آل یا وی پی اس بصورت VPS مخفف عبارت Virtual Private Server به معنی سرور مجازی خصوصی است….

دانلود iso image
دانلود iso image

این پست رو اختصاص میدهیم به دانلود iso image آماده نصب برای راحتی و سرعت بیشتر دانلود شما عزیزان که…

آموزش نصب cpanel در centos

آموزش نصب cpanel در centos :سی پنل(cpanel) یک پنل مدیریت محتوا میباشد که توسط رابط کاربری گرافیکی (gui) مدیریت میشود…

درباره فناوران آساک

فاما سرور از گروه شرکت های فاما نام گذاری و تشکیل شده است که در قسمت فوتر میتوانید با خدمات دیگر ما نیز آشنا بشوید و خرسندیم که در این راه و برای رسیدن به موفقیت در کنار شما خواهیم بود.

سرور مجازی ایران

سرور اختصاصی ایران

سرور مجازی آلمان

سرور مجازی آمریکا

سرور مجازی فرانسه

سرور مجازی

سرور ایران

خرید vps

سرور بیگ بلو باتن