Nginx یک وب سرور متن باز و قدرتمند است که برای ارائه خدمات وب استفاده میشود. این وب سرور به دلیل کارایی بالا، قابلیت پیکربندی قوی و قابلیت مقیاسپذیری برای میلیونها درخواست همزمان، جزء محبوبترین وب سرورها در دنیا محسوب میشود.
Nginx در سال 2004 توسط Igor Sysoev توسعه داده شد. او از هدف خود برای ایجاد یک سرور وب با کارایی بالا و قابلیت مقیاسپذیری برخوردار بود. در طول سالها، Nginx به سرعت در صنعت وب رشد کرد و در حال حاضر در بسیاری از سایتهای بزرگ و معروف استفاده میشود.
مثالهای کاربردی:
- ارائه خدمات وب برای وب سایتها و برنامههای تحت وب.
- توزیع بار و مدیریت درخواستهای ورودی برای سایتهای پرترافیک.
- ایجاد پروکسی برای اتصال به سرویسها و سرورهای دیگر.
- ارائه خدمات امن با استفاده از SSL/TLS.
- بهبود عملکرد وب سایت با استفاده از کشسازی.
مراحل نصب وب سرور Nginx در AlmaLinux 9
برای تکمیل این آموزش، باید به عنوان یک کاربر غیر روت با امتیازات sudo وارد سرور خود شوید و یک فایروال اولیه راه اندازی کنید.
همچنین، به یک نام دامنه نیاز دارید که به آدرس IP سرور شما اشاره کند.
Nginx را روی AlmaLinux 9 نصب کنید
ابتدا فهرست بسته محلی خود را با دستور زیر به روز کنید:
sudo dnf update -y
سپس از دستور زیر برای نصب وب سرور Nginx استفاده کنید:
sudo dnf install nginx -y
Output
Installed:
almalinux-logos-httpd-90.5.1-1.1.el9.noarch
nginx-1:1.20.1-10.el9.alma.x86_64
nginx-filesystem-1:1.20.1-10.el9.alma.noarch
!Complete
هنگامی که نصب شما به پایان رسید، دستورات زیر را اجرا کنید تا وب سرور Nginx فعال و راه اندازی شود:
sudo systemctl enable nginx
sudo systemctl start nginx
بررسی کنید که وب سرور Nginx شما در AlmaLinux 9 فعال و در حال اجرا باشد:
sudo systemctl status nginx
Output
nginx.service - The nginx HTTP and reverse proxy server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor pre>
Active: active (running) since Mon 2022-09-19 04:17:16 EDT; 36s ago
Process: 4568 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, stat>
Process: 4569 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCES>
Process: 4570 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)
Main PID: 4571 (nginx)
Tasks: 3 (limit: 23609)
Memory: 2.8M
CPU: 34ms
...
فایروال را برای وب سرور Nginx پیکربندی کنید
در این مرحله، ما فرض کردیم که فایروال را فعال کرده اید. اکنون باید اتصالات HTTP را با دستور زیر فعال کنید:
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
forward: yes
masquerade: no
:forward-ports
:source-ports
:icmp-blocks
:rich rules
اکنون فایروال را بارگذاری مجدد کنید تا تغییرات اعمال شود:
sudo firewall-cmd –reload
اکنون وب سرور Nginx شما بر روی AlmaLinux 9 نصب شده است، بیایید بررسی کنیم که سرور وب شما فعال و فعال است.
به صفحه فرود پیش فرض Nginx دسترسی پیدا کنید
در این مرحله، می توانید بررسی کنید که سرور شما با آدرس IP عمومی سرور شما راه اندازی و کار می کند. اگر آدرس IP عمومی سرور خود را ندارید، می توانید آن را با دستور زیر دریافت کنید:
hostname -I
همچنین می توانید از ابزار curl برای دریافت IP خود از icanhazip.com با دستور زیر استفاده کنید:
curl -4 icanhazip.com
سپس آدرس IP خود را در مرورگر وب خود تایپ کنید تا به صفحه پیش فرض Nginx دسترسی پیدا کنید.
اگر صفحه زیر را مشاهده کنید به این معنی است که وب سرور Nginx شما به درستی نصب شده است و روی AlmaLinux 9 راه اندازی شده است.
مدیریت عملکرد Nginx را در AlmaLinux 9
اکنون که وب سرور خود را راه اندازی کرده اید، می توانید عملکرد Nginx را در AlmaLinux 9 مدیریت کنید. برای متوقف کردن وب سرور خود می توانید از دستور زیر استفاده کنید:
sudo systemctl stop nginx
هنگامی که وب سرور Nginx شما متوقف شد، می توانید با دستور زیر دوباره آن را راه اندازی کنید:
sudo systemctl start nginx
برای توقف و راه اندازی مجدد سرویس می توانید از دستور زیر استفاده کنید:
sudo systemctl restart nginx
هنگامی که تغییرات پیکربندی را در AlmaLinux 9 انجام دادید، باید وب سرور Nginx را مجدداً بارگیری کنید. برای انجام این کار، می توانید دستور زیر را اجرا کنید:
sudo systemctl reload nginx
Nginx طوری پیکربندی شده است که هنگام بوت شدن سرور به طور خودکار شروع به کار کند. اگر نمی خواهید این اتفاق بیفتد دستور زیر را اجرا کنید:
sudo systemctl disable nginx
برای شروع دوباره Nginx در بوت می توانید از دستور زیر استفاده کنید:
sudo systemctl enable nginx
اکنون می توانید بلوک های سرور را برای میزبانی چندین وب سایت در یک وب سرور Nginx در AlmaLinux 9 تنظیم کنید.
بلوک های سرور Nginx را در AlmaLinux 9 تنظیم کنید
بلوکهای سرور Nginx مانند میزبانهای مجازی آپاچی هستند که به یک سرور اجازه میدهند به چندین نام دامنه پاسخ دهد و محتوای متفاوتی را برای هر یک از آنها ارائه دهد.
ابتدا باید یک دایرکتوری برای دامنه خود با دستور زیر ایجاد کنید:
sudo mkdir -p /var/www/your-domain/html
سپس، باید مالکیت دایرکتوری را با متغیر محیطی $USER اختصاص دهید، که باید کاربر فعلی سیستم شما را با دستور زیر ارجاع دهد:
sudo chown -R $USER:$USER /var/www/your-domain/html
در اینجا باید یک صفحه نمونه index.html برای آزمایش پیکربندی بلوک سرور ایجاد کنید. در اینجا ما از ویرایشگر متن vi برای ایجاد آن استفاده می کنیم، می توانید از ویرایشگر متن مورد علاقه خود استفاده کنید:
sudo vi /var/www/your-domain/html/index.html
سپس کد 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>
پس از اتمام کار فایل خود را ذخیره کرده و ببندید.
در این مرحله، شما باید یک بلوک سرور با دستورالعمل های صحیح ایجاد کنید که به وبروت سفارشی شما اشاره می کند.
یک بلوک سرور جدید در /etc/nginx/conf.d/your-domain.conf ایجاد کنید:
sudo vi /etc/nginx/conf.d/your-domain.conf
اکنون بلوک تنظیمات زیر را کپی کنید:
}server
;listen 80
;listen [::]:80
; root /var/www/your-domain/
;index index.html index.htm index.nginx-debian.html
;server_name your-domain www.your-domain
} / location
;try_files $uri $uri/ =404
{
{
پس از اتمام کار، فایل را ذخیره و ببندید. دستور زیر را اجرا کنید تا مطمئن شوید که هیچ یک از فایل های Nginx شما در AlmaLinux 9 خطای سینتکسی وجود نداشته باشد:
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 را با دستور زیر Restart کنید:
sudo systemctl restart nginx
شما باید اجازه دهید روت سند سفارشی شما به عنوان محتوای HTTP ارائه شود، برای انجام این کار دستور زیر را اجرا کنید:
chcon -vR system_u:object_r:httpd_sys_content_t:s0 /var/www/your-domain/
اکنون می توانید تنظیمات دامنه سفارشی خود را با تایپ نام دامنه خود در مرورگر وب خود آزمایش کنید:
http://your_domain_name
اگر صفحه زیر را می بینید به این معنی است که سرور Nginx شما به درستی پیکربندی شده است تا به دامنه شما سرویس دهد.
در این آموزش، شما یاد گرفتید که Nginx Web Server را روی AlmaLinux 9 نصب کنید و بلوک های سرور Nginx را راه اندازی کنید. امیدواریم این مقاله آموزشی برای شما مفید بوده باشد، برای دیدن باقی آموزش ها میتوانید وارد منوی پشتیبانی بخش آموزش ها شوید، در صورتی که درباره این آموزش به مشکل یا سوالی برخورد کردید، میتوانید آن را در بخش دیدگاه بیان کنید.