Nginx یکی از محبوب ترین سرور مجازی های وب در جهان است و مسئولیت میزبانی برخی از بزرگترین و محبوب ترین سایت های اینترنتی را بر عهده دارد. در بیشتر موارد نسبت به Apache با منبع سازگارتر است و می تواند به عنوان سرور مجازی وب یا پروکسی معکوس مورد استفاده قرار گیرد.
در این راهنما ، ما درباره نحوه نصب Nginx در سرور مجازی CentOS 8 بحث خواهیم کرد.
پیش نیازها
برای دنبال کردن این راهنما ، به دسترسی به یک سرور مجازی CentOS 8 به عنوان کاربر غیر ریشه با امتیازات sudo و یک فایروال فعال روی سرور مجازی خود نیاز خواهید داشت. برای انجام این کار، می توانید راهنمای تنظیم اولیه سرور مجازی ما برای CentOS 8 را دنبال کنید.
مرحله 1 – نصب سرور مجازی Nginx
به منظور نصب Nginx ، از مدیر بسته dnf ، که پکیج منیجر جدید پیش فرض در CentOS 8 است ، استفاده خواهیم کرد.
بسته nginx را با این دستور نصب کنید:
⦁ $ sudo dnf install nginx

هنگامی که از شما خواسته شد ، y را وارد کنید تا تأیید کنید که می خواهید nginx را نصب کنید. پس از آن ، dnf ، Nginx و هرگونه متعلقات لازم برای سرور مجازی شما را نصب می کند.
بعد از اتمام نصب ، با اجرای دستورهای زیر سرور مجازی را فعال و راه اندازی کنید:
⦁ $ sudo systemctl enable nginx

⦁ $ sudo systemctl start nginx
این باعث می شود Nginx در بوت سیستم شروع شود.
مرحله 2 – تنظیم قوانین فایروال
در صورتی که فایروال firewalld را طبق دستورالعمل راهنمای تنظیم اولیه سرور مجازی ما برای CentOS 8 فعال کرده باشید ، باید تنظیمات فایروال را تنظیم کنید تا بتوانید اتصالات خارجی را در سرور مجازی Nginx خود داشته باشید ، که به طور پیش فرض روی پورت 80 اجرا می شود.
برای فعال کردن دائمی اتصالات HTTP در پورت 80 ، دستور زیر را اجرا کنید:
⦁ $ sudo firewall-cmd –permanent –add-service=http

برای تأیید اینکه سرویس فایروال http به درستی اضافه شده است ، می توانید این دستور را اجرا کنید:
⦁ $ sudo firewall-cmd –permanent –list-all

خروجی مانند این را خواهید دید:
Output
public
target: default
icmp-block-inversion: no
interfaces:
sources:
services: cockpit dhcpv6-client http ssh
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:

برای اعمال تغییرات ، باید سرویس فایروال را مجدد لود کنید:
⦁ $ sudo firewall-cmd –reload

اکنون سرور مجازی Nginx شما کاملاً نصب شده و آماده دسترسی بازدید کنندگان خارجی است.
مرحله 3 – بررسی سرور مجازی وب خود
اکنون با دسترسی به آدرس IP عمومی یا نام دامنه سرور مجازی خود از مرورگر وب خود می توانید آزمایش کنید که آیا سرور مجازی وب Nginx شما در حال کار است یا خیر.
توجه: در صورتی که از vpsgol به عنوان ارائه دهنده میزبانی DNS خود استفاده می کنید ، می توانید مطالب محصول ما را برای راهنمایی های دقیق در مورد چگونگی تنظیم نام دامنه جدید بررسی کنید و آن را روی سرور مجازی خود به کار بگیرید.

اگر نام دامنه ای به سرور مجازی خود معرفی نکرده اید و آدرس IP عمومی سرور مجازی خود را نمی شناسید ، می توانید با اجرای دستور زیر آن را پیدا کنید:
⦁ $ ip addr show eth0 | grep inet | awk ‘{ print $2; }’ | sed ‘s/\/.*$//’

با این کار چند آدرس IP چاپ می شود. می توانید هر یک از آنها را به نوبت در مرورگر وب خود امتحان کنید.
به عنوان یک گزینه جایگزین ، می توانید بررسی کنید که آدرس IP ، همانطور که از سایر لوکیشن های اینترنت مشاهده می شود در دسترس است یا خیر:
⦁ $ curl -4 icanhazip.com

آدرسی را که در مرورگر وب خود دریافت می کنید تایپ کنید و شما را به صفحه فرود پیش فرض Nginx می برد:

اگر این صفحه را مشاهده کردید ، اکنون سرور مجازی وب شما به درستی نصب شده است.
مرحله 4 – مدیریت فرایند Nginx
اکنون که سرور مجازی وب خود را فعال کرده اید ، نحوه مدیریت سرویس Nginx را از طریق systemctl بررسی خواهیم کرد.
هر زمان که نیاز به متوقف کردن سرور مجازی وب خود دارید ، می توانید از این دستور استفاده کنید:
⦁ $ sudo systemctl stop nginx

برای شروع سرور مجازی وب پس از متوقف کردن ، تایپ کنید:
⦁ $ sudo systemctl start nginx

برای متوقف کردن و سپس شروع مجدد خدمات ، می توانید از این دستور استفاده کنید:
⦁ $ sudo systemctl restart nginx

Nginx همچنین می تواند تغییرات پیکربندی را بدون افت اتصالات مجدد لود کند. برای انجام این کار ، تایپ کنید:
⦁ $ sudo systemctl reload nginx

به طور پیش فرض ، Nginx پیکربندی شده است تا وقتی سرور مجازی بوت شود ، به طور خودکار شروع شود. اگر این چیزی نیست که شما می خواهید ، می توانید این قانون را با تایپ کردن دستور زیر غیرفعال کنید:
⦁ $ sudo systemctl disable nginx

برای فعال کردن مجدد سرویس و شروع مجدد Nginx در بوت ، می توانید از این دستور استفاده کنید:
⦁ $ sudo systemctl enable nginx

مرحله 5 – آشنایی با فایل ها و راهنمای مهم Nginx
اکنون که می دانید چگونه سرویس Nginx را مدیریت کنید ، باید چند دقیقه وقت بگذارید تا با چند دایرکتوری و فایل مهم آشنا شوید.
محتوا
/ usr / share / nginx / html: محتوای وب واقعی ، که به طور پیش فرض فقط شامل صفحه پیش فرض Nginx است که قبلاً دیدید ، از دیرکتوری / usr / share / nginx / html ارائه می شود. این امر با تغییر فایل های پیکربندی Nginx قابل تغییر است.
پیکربندی سرور مجازی
⦁ / etc / nginx: دیرکتوری پیکربندی Nginxاست. همه فایل های پیکربندی Nginx در اینجا قرار دارند.
⦁ /etc/nginx/nginx.conf: فایل اصلی پیکربندی Nginxاست. می تواند برای ایجاد تغییر در تنظیمات جهانی Nginx اصلاح شود.
⦁ /etc/nginx/conf.d/: این دایرکتوری حاوی فایل های پیکربندی بلوک سرور مجازی است ، جایی که می توانید وب سایت هایی را که در Nginx میزبان هستند تعریف کنید. یک رویکرد معمولی این است که هر وب سایت را در یک فایل جداگانه با نام دامنه وب سایت مانند your_domain.conf قرار دهید.
logهای سرور مجازی
⦁ /var/log/nginx/access.log:هر درخواستی به سرور مجازی وب شما در این فایل log ثبت می شود ، مگر اینکه Nginx به گونه ای پیکربندی شده باشد که کار دیگری انجام دهد.
⦁ /var/log/nginx/error.log:هرگونه خطای Nginx در این log ثبت می شود.
مرحله 6 – تنظیم بلوک های سرور مجازی (اختیاری)
در صورتی که مایل به میزبانی وب سایت های متعدد در یک سرور مجازی وب Nginx هستید ، باید بلوک های سرور مجازی را تنظیم کنید. بلوک های سرور مجازی Nginx با روشی مشابه هاست های مجازی Apache کار می کنند و به یک سرور مجازی واحد نیز اجازه می دهند به چندین نام دامنه پاسخ دهد و برای هر یک از آنها مطالب مختلفی ارائه دهد. در CentOS 8 ، بلوک های سرور مجازی در فایل های .conf واقع در /etc/nginx/conf.d تعریف شده اند.
ما یک بلوک سرور مجازی را برای دامنه ای به نام your_domain تنظیم خواهیم کرد.
به طور پیش فرض ، Nginx در CentOS 8 پیکربندی شده است تا اسناد را از دیرکتوری موجود در / usr / share / nginx / html ارائه دهد. اگرچه برای یک سایت واحد خوب عمل می کند ، اگر هاست چندین سایت هستید ، می تواند غیرقابل کنترل شود. به جای تغییر / usr / share / nginx / html ، یک ساختار دایرکتوری را در / var / www برای وب سایت your_domain ایجاد خواهیم کرد ، و / usr / share / nginx / html را در جای خود به عنوان دایرکتوری پیش فرض قرار می دهیم که در صورت عدم مطابقت درخواست کلاینت با سایت های دیگر ارائه شود.
با استفاده از فلگ -p ، برای ایجاد هر دیرکتوری لازم ، دایرکتوری را برای your_domain ایجاد کنید:
⦁ $ sudo mkdir -p /var/www/your_domain/html

در مرحله بعدی ، مالکیت دایرکتوری را با متغیر محیط USER $ اختصاص دهید ، که باید کاربر سیستم فعلی شما را ارجاع دهد:
⦁ $ sudo chown -R $USER:$USER /var/www/your_domain/html

در مرحله بعدی ، برای آزمایش پیکربندی بلوک سرور مجازی ، یک صفحه index.html نمونه ایجاد خواهیم کرد. ویرایشگر متن پیش فرض که با CentOS 8 همراه است vi است. vi یک ویرایشگر متن بسیار قدرتمند است ، اما می تواند برای کاربرانی که فاقد تجربه با آن هستند ، تا حدودی خسته کننده باشد. برای تسهیل ویرایش فایل های پیکربندی روی سرور مجازی CentOS 8 خود ، بهتر است ویرایشگر کاربر پسند دیگری مانند nano را نصب کنید:
⦁ $ sudo dnf install nano

اکنون می توانید از nano برای ایجاد فایل index.html نمونه استفاده کنید:
⦁ $ nano /var/www/your_domain/html/index.html

در داخل آن فایل ، کد HTML زیر را اضافه کنید:
/var/www/your_domain/html/index.html
<html>
<head>
<title>Welcome to your_domain</title>
</head>
<body>
<h1>Success! Your Nginx server is successfully configured for <em>your_domain</em>. </h1>
<p>This is a sample page.</p>
</body>
</html>

پس از اتمام فایل را ذخیره کنید و ببندید. اگر از nano استفاده کرده اید ، می توانید با فشار دادن CTRL + X ، Y ، سپس ENTER این کار را انجام دهید.
برای اینکه Nginx بتواند این محتوا را ارائه دهد ، باید یک بلوک سرور مجازی با دستورالعمل صحیح که به ریشه وب سفارشی ما اشاره دارد، ایجاد کنیم. ما یک بلوک سرور مجازی جدید در /etc/nginx/conf.d/your_domain.conf ایجاد خواهیم کرد:
⦁ $ sudo nano /etc/nginx/conf.d/your_domain.conf

در بلوک تنظیمات زیر پیست کنید:
/etc/nginx/conf.d/your_domain.conf
server {
listen 80;
listen [::]:80;

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

server_name your_domain www.your_domain;

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

وقتی ویرایش محتوای آن را انجام دادید ، فایل را ذخیره کنید و ببندید.
برای اطمینان از اینکه هیچ خطای نحوی در هیچ یک از فایل های Nginx وجود ندارد ، این دستور را اجرا کنید:
⦁ $ sudo nginx -t

اگر مشکلی پیش نیاید ، خروجی زیر را مشاهده خواهید کرد:
Output
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

پس از انجام تست پیکربندی ، Nginx را مجدداً راه اندازی کنید تا تغییرات خود را فعال کنید:
⦁ $ sudo systemctl restart nginx

قبل از اینکه بتوانید تغییرات را از مرورگر خود آزمایش کنید ، باید زمینه های امنیتی SELinux سرور مجازی خود را به روز کنید تا Nginx مجاز به ارائه محتوا از دیرکتوری / var / www / your_domain شما باشد.
دستور زیر اجازه می دهد تا ریشه سند سفارشی شما به عنوان محتوای HTTP ارائه شود:
⦁ $ chcon -vR system_u:object_r:httpd_sys_content_t:s0 /var/www/your_domain/

اکنون می توانید با رفتن به http: // your_domain ، مکان تنظیم دامنه دلخواه خود را آزمایش کنید ، جایی که چیزی شبیه به این را مشاهده خواهید کرد:

این صفحه کد HTML را که ما در ریشه سند سفارشی ایجاد شده برای بلوک سرور مجازی تعریف کرده ایم ، ارائه می دهد. اگر می توانید این صفحه را ببینید ، به این معنی است که سرور مجازی Nginx شما به درستی پیکربندی شده است تا بتواند دامنه شما را ارائه دهد.
نتیجه
در این راهنما ، نحوه نصب و راه اندازی Nginx ، یک وب سرور مجازی با کارایی بالا و پروکسی معکوس را آموختیم. چگونگی مدیریت سرویس Nginx در حال اجرا بر روی سرور مجازی شما را مرور کردیم ، و دایرکتوری های اصلی مورد استفاده Nginx برای ذخیره فایل های پیکربندی ، محتوا و log ها را دانستیم.
از اینجا به بعد گزینه های بسیاری دارید که برای نوع محتوا و فناوری هایی که ممکن است بخواهید در وب سایت هایی که در سرور مجازی وب خود میزبانی می کنید، از آن ها استفاده کنید.

 

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

نحوه نصب Nginx در CentOS 8  –  استفاده از Cron برای خودکارسازی کارها در اوبونتو 18

پکیج کردن و انتشار برنامه Snap در اوبونتو 18نصب و استفاده ازRadamsa برای فوز کردن برنامه ها روی Ubuntu 18

استقرارهای تولید Node.js خود را با Shipit در CentOS 7 –  نحوه راه اندازی Eclipse Theia Cloud IDE Platform در Debian 10

چگونگی استفاده از migrations و seeders دیتابیس  –  نحوه نصب Docker Compose در Debian 10

نحوه نصب R روی اوبونتو 18.04 – چگونه می توان با کتابخانه (library) درخواست ها در پایتون شروع به کار کرد

چگونه می توان هاست های مجازی Apache را در اوبونتو 18.04  –  نحوه اجرای صفحه گذاری در MySQL با PHP روی اوبونتو 18.04

نصب پشته Nginx، MySQL، PHP LEMP در CentOS 8 – نحوه تنظیم پلتفرم Eclipse Theia Cloud IDE در CentOS 7

نحوه نصب پشته یا استک Nginx ، MySQL ، PHP LEMP  –  بسته بندی برنامه Laravel 6 برای توسعه با Docker Compose

مراحل ایمن سازی Apache HTTP در FreeBSD 12  – بهینه سازی درخواست های MySQL با ذخیره سازی ProxySQL در اوبونتو 16

درک Objectهای Map و Set در JavaScript  –  استفاده از Ansible برای نصب و راه اندازی وردپرس با LAMP در اوبونتو 18

نحوه راه اندازی Eclipse Theia Cloud IDE در اوبونتو  –  چگونه می توان پلتفرم كد سرور Cloud IDE را در اوبونتو 18.04

نحوه استفاده از Cron برای خودکارسازی کارها در CentOS 8   –  چگونه می توان از رول های ansible برای انتزاع محیط زیرساختی

نحوه نوشتن کد ناهمگام (غیر همزمان) در Node.js –  نحوه پیکربندی یک خوشه Galera با MySQL در سرورهای اوبونتو 18

راه اندازی اولیه سرور با CentOS 8 –   تهیه نسخه پشتیبان و بازیابی یک خوشه Kubernetes

نحوه تنظیم کلیدهای SSH در CentOS 8 –  نحوه نصب و استفاده از PostgreSQL در CentOS 7

نحوه ساختن یک برنامه Node.js با Docker  Quickstart  –  چگونه می توان پلتفرم Eclipse Theia Cloud IDE را روی اوبونتو

چگونه می توان هاست های مجازی Apache را در اوبونتو  –  مدیریت DNS با استفاده از DNSControl در Debian 10

نحوه تایید صحت رمز عبور با Apache در اوبونتو 18.04 –  چگونه می توان پلتفرم Cloud IDE کد سرور را روی CentOS 7

نحوه نصب و استفاده از TimescaleDB در CentOS 7نحوه نصب Apache Kafka در Debian 10

نحوه تایید صحت رمز عبور با Apache در اوبونتو 18.04  –  نحوه نصب وردپرس با OpenLiteSpeed ​​در اوبونتو 18.04

 

 

کلمات کلیدی خرید سرور

خرید vps – خرید سرور مجازی – خرید سرور – سرور هلند – فروش vps – سرور مجازی آمریکا – خریدvps – سرور مجازی هلند – فروش سرور مجازی – سرور آمریکا – vps – سرور مجازی انگلیس – سرور مجازی آلمان – سرور مجازی کانادا – خرید vps آمریکا – خرید وی پی اس – سرور – خرید سرور مجازی هلند – vps خرید – سرور مجازی فرانسه – سرور مجازی هلند – خرید vps آمریکاخرید سرور مجازی ارزان هلندvpsخرید vps هلندخرید سرور مجازی آمریکاخرید vps فرانسهتست vpsسرور مجازی تستسرور مجازی ویندوزارزانترین vpsخرید وی پی اسvps ارزان –