Nginx چیست و چگونه بر روی سرور نصب می شود
مقدمه
اگر بهتازگی وارد دنیای سرورها و تنظیمات آنها شدهاید و با اصطلاحات و پیکربندیهای مختلف آشنا نیستید، نگران نباشید! در این مجموعه مقالات، قصد داریم هر موضوعی که به سرور و مدیریت آن مربوط میشود را به شما آموزش دهیم. این اولین مقاله از سری آموزشهای سایت MagicVM (ماشین مجازی جادویی) است و امروز قصد داریم شما را با Nginx آشنا کنیم.
فهرست مطالب
- Nginx چیست
- مزایای Nginx نسبت به Apache
- نصب Nginx روی سرور (Ubuntu/Debian و CentOS/RHEL)
- تنظیمات اولیه و پیکربندی Nginx
- مدیریت و دیباگ Nginx
- نتیجهگیری
۱. Nginx چیست؟
Nginx یک وبسرور متنباز، سبک و بسیار کارآمد است که برای مدیریت درخواستهای HTTP و معکوسپراکسی (Reverse Proxy) بهکار میرود. این سرور به دلیل عملکرد بالا، مصرف کم منابع و توانایی مدیریت تعداد زیادی اتصال همزمان، به یکی از محبوبترین وبسرورها در دنیا تبدیل شده است. همچنین، Nginx میتواند بهعنوان Load Balancer و Cache Server نیز مورد استفاده قرار گیرد.
۲. مزایای Nginx نسبت به Apache
- مصرف کمتر منابع: Nginx در مقایسه با Apache از RAM و CPU کمتری استفاده میکند.
- مدیریت بهتر اتصالات همزمان: به دلیل معماری مبتنی بر رویدادها (Event-driven)، توانایی مدیریت هزاران اتصال همزمان را دارد.
- سرعت بالاتر در پردازش درخواستها: برای درخواستهای استاتیک بسیار سریعتر از Apache عمل میکند.
- پشتیبانی از Load Balancing و Reverse Proxy: به راحتی میتوان از آن برای توزیع بار میان چندین سرور استفاده کرد.
۳. نصب Nginx روی سرور
نصب روی Ubuntu/Debian
- ابتدا بستههای سیستم را بهروز کنید:
sudo apt update && sudo apt upgrade -y
- Nginx را نصب کنید:
sudo apt install nginx -y
- سرویس Nginx را فعال و اجرا کنید:
sudo systemctl enable nginx sudo systemctl start nginx
- بررسی وضعیت Nginx:
sudo systemctl status nginx
- اگر فایروال فعال است، پورت HTTP و HTTPS را باز کنید:
sudo ufw allow 'Nginx Full'
نصب روی CentOS/RHEL
- بستههای سیستم را بهروز کنید:
sudo yum update -y
- Nginx را نصب کنید:
sudo yum install epel-release -y sudo yum install nginx -y
- سرویس Nginx را فعال و اجرا کنید:
sudo systemctl enable nginx sudo systemctl start nginx
- بررسی وضعیت Nginx:
sudo systemctl status nginx
- باز کردن پورتهای فایروال:
sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --permanent --add-service=https sudo firewall-cmd --reload
۴. تنظیمات اولیه و پیکربندی Nginx
بررسی فایل تنظیمات اصلی Nginx
فایل اصلی تنظیمات Nginx در مسیر /etc/nginx/nginx.conf
قرار دارد. برای ویرایش آن، از دستور زیر استفاده کنید:
sudo nano /etc/nginx/nginx.conf
ایجاد یک سرور مجازی (Virtual Host)
برای میزبانی یک وبسایت، باید یک فایل تنظیمات جدید ایجاد کنید:
sudo nano /etc/nginx/sites-available/example.com
محتوای زیر را در آن قرار دهید:
server {
listen 80;
server_name example.com www.example.com;
root /var/www/example.com;
index index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
}
سپس این فایل را فعال کنید:
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
و Nginx را ریاستارت کنید:
sudo systemctl restart nginx
۵. مدیریت و دیباگ Nginx
بررسی وضعیت Nginx
برای بررسی وضعیت اجرای سرویس:
sudo systemctl status nginx
بررسی لاگهای Nginx
اگر مشکلی در سرویس وجود دارد، میتوانید لاگهای خطا را بررسی کنید:
sudo tail -f /var/log/nginx/error.log
تست پیکربندی Nginx
قبل از ریاستارت کردن Nginx، بررسی کنید که تنظیمات صحیح هستند:
sudo nginx -t
ریاستارت Nginx
اگر تغییری در تنظیمات دادهاید، برای اعمال آنها Nginx را ریاستارت کنید:
sudo systemctl restart nginx
نتیجهگیری
Nginx چیست؟ یک وبسرور قدرتمند و کارآمد است که در بسیاری از موارد جایگزین مناسبی برای Apache محسوب میشود. در این مقاله، مراحل نصب، تنظیمات اولیه و مدیریت این سرویس را بررسی کردیم. اکنون میتوانید از آن برای میزبانی وبسایتها و مدیریت ترافیک ورودی سرور خود استفاده کنید.
اگر هنوز سوال و یا ابهامی در مورد این موضوع دارید یا نیاز به توضیحات بیشتری دارید برایمان در بخش نظرات بنویسید تا توضیحات بیشتری آماده کنیم.
خبر خوش این که دیگه نیازی ندارید این همه تنظیمات دقیق را در خط فرمان اجرا کنید تا سرویس NginX رو نصب کنید! یک حساب کاربری در مجیک وی ام ایجاد کنید تا این ماشین جادویی همه ی این تنظیمات رو به صورت خودکار و بلادرنگ برای شما انجام دهد.
منابع: