آموزش نصب و پیکربندی Nginx روی CentOS 7
در این مقاله میخوانید
نصب Nginx روی CentOS 7 بهدلیل عملکرد و سهولت استفاده، بهترین انتخاب برای داشتن سروری با پاسخگویی سریع و بهینه است. باتوجه به اهمیت استفاده از این وبسرور در این مطلب از آموزش سنت او اس، نحوه نصب Nginx روی CentOS 7 را به صورت کامل و گامبهگام آموزش خواهیم داد.
خرید سرویس لینوکسی با سیستم CentOS از پارس پک
شما میتوانید از این مقاله برای مدیریت سرورهای لینوکس خود استفاده کنید و اگر قصد خرید هر یک از سرویسهای لینوکسی پارس پک را دارید، میتوانید با کارشناسان فروش ما در ارتباط باشید. همچنین، شما میتوانید برای اطلاع از تعرفهها و هزینهها به لینکهای زیر مراجعه کنید.
نصب Nginx روی CentOS 7
برای نصب Nginx روی CentOS 7 اگر از کاربر non-root استفاده میکنید، باید مجوز Sudo داشته باشید و پیش از تمام دستورها، Sudo را اضافه کنید.
برای نصب انجیناکس، ریپازیتوری EPEL را اضافه کنید:
yum install epel-release -y
درادامه، Nginx و ویرایشگر متن Nano را برای راحتی کار نصب کنید:
yum install nginx nano -y
بهطور پیشفرض، انجیناکس برای کار با آدرسهای 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 مقالهی زیر را بخوانید.
حالا اجازه دهید 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
پیکربندی مکان فایلهای وبسایت برای نصب Nginx روی CentOS 7
بهطور پیشفرض، Nginx صفحه اطلاعات را در وبسایت نمایش میدهد. حال باید مکان متفاوتی برای فایلهای وبسایت تنظیم و صفحه خود را اضافه کنید. ابتدا، دایرکتوریهای موردنیاز را ایجاد کنید:
mkdir -p /var/www/default
سپس خودِ صفحه را در پوشهای جدید ایجاد کنید:
nano /var/www/default/index.html
حال به آن محتوا اضافه کنید. این محتوا هرچیزی میتواند باشد؛ مثلاً:
<h1>My first web page</h1>
پسازآن Owner دایرکتوری و فایل موجود در آن را روی کاربرِ Nginx تنظیم کنید:
chown -R nginx:nginx /var/www/default/
از سرور مجازی در پیکربندی انجیناکس استفاده و پیکربندی را برای مکان فایلهای وبسایت جابهجا کنید. برای انجام این کار، پیکربندی انجیناکس را باز کنید:
nano /etc/nginx/nginx.conf
باید بخش سرور را که با listen 80 default_server شروع میشود و در آن پارامتر root که مسیر فایلهای وبسایت را تعیین میکند، پیدا کنید. حالا آن را با مسیر / var/www/default/ ایجادشده جایگزین کنید:
server { listen 80 default_server; # listen [::]:80 default_server; server_name _; root /var/www/default/; ...
فایل را ذخیره و انجیناکس را ریستارت کنید:
systemctl restart nginx
اکنون هنگام دسترسی به آدرس سرور از پنجره مرورگر، محتویات صفحه جدید ایجادشده را مشاهده خواهید کرد.
مراحل نصب 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; }
انجینایکس را ریستارت کنید:
systemctl restart nginx
حالا فایلی برای آزمایش عملکرد php-fpm ایجاد کنید:
echo "<!--?php phpinfo(); ?-->" > /var/www/default/info.php
سپس، http://server-IP/info.php را در نوار آدرس مرورگر باز کنید و اطلاعات مربوط به PHP را ببینید.
این خروجی تأیید میکند که nginx + php-fpm کار میکند. پس از آزمایش عملکرد سرور، حتماً این صفحه را حذف کنید؛ زیرا امنیت سرور را بهخطر میاندازد.
جمعبندی
Nginx بهعنوان یک جایگزین مناسب برای آپاچی، یکی از بهترین و محبوبترین وبسرورها در دنیا است. این وبسرور برخلاف رقیب دیرینه خود آپاچی، بهدلیل مصرف کم منابع، زمان پاسخگویی سرور را تسریع میبخشد. در این مطلب از آموزش لینوکس سعی کردیم نحوه نصب Nginx روی CentOS 7 را بهصورت کامل و گامبهگام آموزش دهیم.
سؤالات متداول
۱. توزیع CentOS 7 چیست؟
CentOS 7 یکی از توزیعهای لینوکس برای استفاده سازمانی است و بهنوعی مانند نسخه رایگان لینوکس Red Hat Enterprise است.
۲. نام کاربری و رمزعبور پیشفرض «CentOS 7» چیست؟
برای توزیعهایی که بهطور پیشفرض اجازه ورود بهعنوان root را میدهند (مانند RHEL یا CentOS یا Scientific Linux)، نام کاربری root و رمزعبور fln75g است.