می خواهم Nginx, MySQL, PHP را روی سیستم‌عامل CentOS کانفیگ کنم

سلام دوستان؛
همان طور که می دانید Nginx یک نرم افزار مبتنی بر وب و اپن سورس است و با  PHP v7 یعنی آخرین نسخه پی اچ پی که تاکنون موجود است، سازگار می باشد. در این آموزش، قصدا داریم LEMP (لینوکس، ENginx، MySQL، PHP) را بررسی کنیم.  تمام این موارد روی سیستم عامل CentOS پیاده می شوند پس به کانفیگ و نصب lemp می پردازیم.

کانفیگ CentOS و نصب LEMP (لینوکس، ENginx، MySQL، PHP)

کانفیگ CentOS و نصب lemp

پیش نیازها: دسترسی روت به VPS

قصد داریم به کانفیگ lemp بپردازیم. حتما می پرسید lemp چیست؟ در واقع lemp از حروف ابتدایی چهار واژه لینوکس، Nginx, MySQL, PHP تشکیل شده است. در این مقاله قصد داریم به نحوه نصب و پیکربندی این موارد بپردازیم. در نهایت سیستم عامل شما با بهترین کانفیگ ممکن در دسترس است. 🙂 دقت داشته باشید ما این تنظیمات را روی سیستم عامل CentOS پیاده می کنیم.

گام اول: نصب Nginx روی CentOS 7

ابتدا برای شروع نصب lemp باید یکسری گام ها را طی کرد. از آنجا که Nginx در مخازن پیش فرض CentOS موجود نیست، با اجرای این دستور EPEL را نصب خواهیم کرد:

yum install epel-release -y

سپس باید خود Nginx را نصب کنیم.

yum install nginx -y

بعد از اینکه نصب اتمام یافت باید انجین ایکس را استارت و فعال کنیم. دستور زیر را به همین منظور اجرا می کنیم:

systemctl start nginx
systemctl enable nginx

حالا برای بررسی اینکه آیا Nginx در حال اجرا است یا نه و دستور قبلی که اجرا کردیم نتیجه ای داشته یا نه، می توانید آدرس IP خود را از طریق مرورگر بررسی کنید. اول، IP خود را مشخص کنید:

dig +short myip.opendns.com @resolver1.opendns.com

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

کانفیگ CentOS و نصب LEMP (لینوکس، ENginx، MySQL، PHP) نصب lempگام دوم: نصب MySQL (MariaDB)

پس از نصب وب سرور، برای ادامه مراحل نصب lemp می توانیم به نصب MySQL اقدام کنیم. دستور Yum را اجرا می کنیم تا آن را نصب کنیم:

yum install mariadb-server mariadb -y

بعد از اینکه پروسه نصب تمام شد باید سرویس را استارت و فعال کنیم. برای این منظور دستور زیر را وارد می کنیم:

systemctl start mariadb
systemctl enable mariadb

در مرحله آخر نیز اسکریپت  اولیه را اجرا می کنیم که برخی از تنظیمات پیش فرض را حذف می کند:

mysql_secure_installation

MariaDB از شما رمز عبور مربوط به سرور را می پرسد، سپس سوال می شود که آیا می خواهید یک رمز عبور تنظیم کنید؟ حرف Y را وارد کنید و سپس مراحل بعدی را دنبال کنید:

Enter current password for root (enter for none):
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorization.

New password: password
Re-enter new password: password
Password updated successfully!
Reloading privilege tables..
 ... Success!

در ادامه کلید ENTER را بزنید و صبر کنید تا تنظیمات پیش فرض اعمال شوند. بعد از مشاهده سوالات پیش فرض باز هم کلید اینتر را بزنید. پس از اتمام نصب، باید به نصب PHP بپردازیم.

گام سوم: نصب PHP

در این مرحله بسته های مورد نیاز برای نصب PHP v7.1 را فراهم می کنیم:

wget http://rpms.remirepo.net/enterprise/remi-release-7.rpm
rpm -Uvh remi-release-7.rpm

سپس به نصبphp71 و فعال سازی آن می پردازیم چون به طور پیش فرض غیر فعال شده است:

yum install yum-utils -y
yum-config-manager --enable remi-php71

در مرحله بعدی به نصب پکیج PHP می پردازیم. دستور زیر برای همین مورد است:

yum --enablerepo=remi,remi-php71 install php-fpm php-common

در نهایت هم ماژول های رایج را به کمک دستور زیر نصب می کنیم:

yum --enablerepo=remi,remi-php71 install php-opcache php-pecl-apcu php-cli php-pear php-pdo php-mysqlnd php-pgsql php-pecl-mongodb php-pecl-redis php-pecl-memcache php-pecl-memcached php-gd php-mbstring php-mcrypt php-xml

گام چهارم: کانفیگ Nginx برای کارکرد بهتر با PHP 7

با اجرای vim یا ویرایشگر نانو یک فایل پیکربندی Nginx ایجاد کنید:

nano /etc/nginx/conf.d/default.conf

نکته: در این مرحله می توانید از آموزش کامل کار با ویرایشگر Nano Text Editor کمک بگیرید.

زمانی که به بخش ویرایشگر فایل وارد شدید، قطعه کد زیر را به عنوان محتوای فایل درج کنید:

server {
    listen   80;
    server_name  your_server_ip;

    # note that these lines are originally from the "location /" block
    root   /usr/share/nginx/html;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }
    error_page 404 /404.html;
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
        root /usr/share/nginx/html;
    }

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

سپس فایل را با کلیدهای ctrl+x ذخیره کنید.

نکته بسیار مهم: بخش  را your_server_ip با آیپی واقعی سرور خودتان جایگزین کنید. (که به صورت قرمز رنگ مشخض شده است.)

سپس باید Nginx را مجددا راه اندازی کنیم. دستور زیر را وارد می کنیم:

systemctl restart nginx

حالا که انجین ایکس راه اندازی شد باید فایل پیکربندی PHP-FPM را باز کنیم. همان طور که در آموزش های ویرایشگر نانو گفتیم به کمک دستور زیر می توان این فایل را برای ادیت باز کرد:

nano /etc/php-fpm.d/www.conf

سپس باید خط های زیر را در فایل بیابید و با مقادیر مناسب جایگزین کنید:

user = apache to user = nginx

group = apache to group = nginx

listen.owner = nobody to listen.owner = nginx

listen.group = nobody to listen.group = nginx

و در نهایت بعد از کد زیر:

;listen = 127.0.0.1:9000

این خط را وارد کنید:

listen = /var/run/php-fpm/php-fpm.sock

مجددا کلیدهای CTRL + X، را بزنید و فایل پیکربندی  را ذخیره کنید. و در نهایت، باید php-fpm را بوت و  آن را فعال کنید. برای استارت و فعال سازی از دستور زیر کمک بگیرید:

systemctl start php-fpm.service
systemctl enable php-fpm.service

در نهایت نصب lemp موفقیت آمیز خواهد بود!

جمع بندی نهایی

در این مقاله به آموزش و کانفیگ پیش نیازهای CentOS و نصب lemp پرداختیم. همان طور که می دانید واژه lemp از حروف ابتدای چهاد کلمه زیر تشکیل شده است:

  • لینوکس
  • ENginx
  • MySQL
  • PHP

نصب  شامل چهار گام اصلی است:

  1. گام اول نصب Nginx روی CentOS 7
  2. گام دوم نصب MySQL (MariaDB)
  3. گام سوم نصب PHP
  4. گام چهارم کانفیگ Nginx برای کارکرد بهتر با PHP 7

توضیح داده شد که چگونه می توان این عناصر را کنار هم پیاده سازی کرد.

کانفیگ CentOS و نصب lempنکته: تمام پیکربندی ها روی سیستم عامل CentOS توضیح داده شده است.

به این صورت می توان وب سرور انجین ایکس را نصب کرد. بعد از آن MySQL را پیاده سازی می کنیم. در مرحله سوم PHP را نصب می کنیم. در آخرین قدم نیز سازگاری وب سرور با PHP را به کمک دستورات مربوطه مورد ارزیابی قرار می دهیم. به این صورت طی 4 گام اساسی نصب lemp یا همگام سازی این عناصر برای لینوکس پایان می یابد.

امیدوارم از مقاله نصب lemp راضی بوده باشید. موفق باشید. 🙂