نصب و پیکربندی Nginx در CentOS 7

نصب و پیکربندی Nginx در CentOS 7

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

نصب Nginx در CentOS 7

برای نصب Nginx در CentOS 7، اگر از یک کاربر غیر روت استفاده می کنید، باید مجوز sudo داشته باشید و قبل از همه دستورات sudo را اضافه کنید.

برای نصب EnginX، مخزن EPEL را اضافه کنید:

yum install epel-release -y

سپس Nginx و ویرایشگر متن نانو را برای سهولت استفاده نصب کنید:

yum install nginx nano -y

به طور پیش فرض، EngineX برای کار با آدرس های IPv4 و IPv6 پیکربندی شده است. اگر آخرین نسخه روی سرور پیکربندی نشده باشد، وب سرور به سادگی شروع نمی شود. بنابراین، بلافاصله به تنظیمات بروید:

nano /etc/nginx/nginx.conf

خط بعدی را پیدا کنید و آن را نظر دهید. یعنی علامت # را در ابتدای آن قرار دهید:

listen       [::]:80 default_server;

نتیجه:

#        listen       [::]:80 default_server;

حالا فایل را ذخیره کنید و تنظیمات را برای خطاها بررسی کنید:

nginx -t

خروجی شما باید به شکل زیر باشد:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok

nginx: configuration file /etc/nginx/nginx.conf test is successful

اگر خروجی متفاوتی دارید، به این معنی است که چه خطاهایی باید در پیکربندی برطرف شوند.

برای آموزش کامل نحوه نصب Cpanel بر روی سرور VPS یا اختصاصی لینوکس CentOs 7 مقاله زیر را مطالعه کنید.

نصب cPanel در CentOs 7

حالا اجازه دهید Nginx را شروع کرده و آن را به Autorun اضافه کنیم:

systemctl enable --now nginx

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

firewall-cmd --zone=public --permanent --add-service=http

firewall-cmd --zone=public --permanent --add-service=https

firewall-cmd --reload

چگونه Engine X را روی CentOS 7 نصب کنیم؟

پیکربندی مکان فایل های وب سایت برای نصب Nginx در CentOS 7

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

mkdir -p /var/www/default

سپس خود صفحه را در یک پوشه جدید ایجاد کنید:

nano /var/www/default/index.html

حالا به آن محتوا اضافه کنید. این محتوا می تواند هر چیزی باشد. مثلا:

<h1>My first web page</h1>

سپس، مالک دایرکتوری و فایل موجود در آن را به کاربر Nginx تنظیم کنید:

chown -R nginx:nginx /var/www/default/

از سرور مجازی در پیکربندی EngineX، پیکربندی را به محل فایل های وب سایت منتقل کنید. برای انجام این کار، پیکربندی EngineX را باز کنید:

nano /etc/nginx/nginx.conf

باید بخش سروری را پیدا کنید که با listen 80 default_server شروع می شود و پارامتر اصلی مسیر فایل های وب سایت را مشخص می کند. اکنون آن را با مسیر /var/www/default/ ایجاد شده جایگزین کنید:

    server {
        listen       80 default_server;
#        listen       [::]:80 default_server;
        server_name  _;
        root         /var/www/default/;
...

فایل را ذخیره کرده و EngineX را مجددا راه اندازی کنید:

systemctl restart nginx

حالا وقتی آدرس سرور را از پنجره مرورگر وارد می کنید، محتوای صفحه جدید ایجاد شده را مشاهده می کنید.

چگونه PHP را روی Engine X نصب کنم؟

مراحل نصب PHP

هنگام نصب Nginx روی سرور لینوکس CentOS 7، استفاده از PHP یک نیاز ضروری است. برای کار با PHP باید php-fpm را نصب کنید:

yum install php-fpm

حالا آن را اجرا کرده و به Startup اضافه کنید:

systemctl enable --now php-fpm

تنظیمات php-fpm را در انتهای بخش سرور مانند قبل به پیکربندی Nginx اضافه کنید:

nano /etc/nginx/nginx.conf
location ~ .php$ {

try_files $uri =404;

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

fastcgi_param SCRIPT_NAME $fastcgi_script_name;

fastcgi_buffer_size 128k;

fastcgi_buffers 256 16k;

fastcgi_busy_buffers_size 256k;

fastcgi_temp_file_write_size 256k;

include fastcgi_params;

}

موتورX را مجددا راه اندازی کنید:

systemctl restart nginx

اکنون یک فایل برای آزمایش عملکرد php-fpm ایجاد کنید:

echo "<!--?php phpinfo(); ?-->" > /var/www/default/info.php

سپس http://server-IP/info.php را در نوار آدرس مرورگر باز کنید و اطلاعات PHP را ببینید.

چگونه Nginx را روی CentOS 7 نصب کنیم؟

این نتیجه تایید می کند که nginx + php-fpm کار می کند. پس از تست عملکرد سرور، حتما این صفحه را حذف کنید. زیرا امنیت سرور را تهدید می کند.

نتیجه

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

سوالات متداول

1. توزیع CentOS 7 چیست؟

CentOS 7 یکی از توزیع‌های لینوکس برای استفاده سازمانی است و به نوعی مانند نسخه رایگان لینوکس Red Hat Enterprise است.

2. نام کاربری و رمز عبور پیش فرض CentOS 7 چیست؟

برای توزیع‌هایی که به‌طور پیش‌فرض اجازه ورود به ریشه را می‌دهند (مانند RHEL یا CentOS یا Scientific Linux)، نام کاربری root و رمز عبور fln75g است.