سلام دوستان؛
همان طور که می دانید Nginx یک نرم افزار مبتنی بر وب و اپن سورس است و با PHP v7 یعنی آخرین نسخه پی اچ پی که تاکنون موجود است، سازگار می باشد. در این آموزش، قصدا داریم LEMP (لینوکس، ENginx، MySQL، PHP) را بررسی کنیم. تمام این موارد روی سیستم عامل CentOS پیاده می شوند پس به کانفیگ و نصب lemp می پردازیم.
کانفیگ 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
سپس آن را در مرورگر خود درج کنید. باید صفحه ای مشابه تصویر زیر را مشاهده کنید:
گام دوم: نصب 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
نصب شامل چهار گام اصلی است:
- گام اول نصب Nginx روی CentOS 7
- گام دوم نصب MySQL (MariaDB)
- گام سوم نصب PHP
- گام چهارم کانفیگ Nginx برای کارکرد بهتر با PHP 7
توضیح داده شد که چگونه می توان این عناصر را کنار هم پیاده سازی کرد.
نکته: تمام پیکربندی ها روی سیستم عامل CentOS توضیح داده شده است.
به این صورت می توان وب سرور انجین ایکس را نصب کرد. بعد از آن MySQL را پیاده سازی می کنیم. در مرحله سوم PHP را نصب می کنیم. در آخرین قدم نیز سازگاری وب سرور با PHP را به کمک دستورات مربوطه مورد ارزیابی قرار می دهیم. به این صورت طی 4 گام اساسی نصب lemp یا همگام سازی این عناصر برای لینوکس پایان می یابد.
امیدوارم از مقاله نصب lemp راضی بوده باشید. موفق باشید. 🙂