اطلاعیه

بستن
هنوز اطلاعیه ای در دست نیست.

آموزش نصب LEMP "Linux, Nginx, MariaDB, PHP-FPM" در Debian 9 Stretch

بستن
X
 
  • فیلتر کردن
  • زمان
  • نمایش
Clear All
پست های جدید

    آموزش نصب LEMP "Linux, Nginx, MariaDB, PHP-FPM" در Debian 9 Stretch

    در این مقاله ما درباره نحوه نصب LEMP (Linux + Nginx + MariaDB + PHP-FPM) stack روی Debian 9 Stretch به عنوان جایگزینی برای LAMP (میتوانید آموزش نصب LAMP روی Debian 9 را نیز مطالعه کنید) صحبت خواهیم کرد.

    علاوه بر این، ما نحوه اجرای تنظیمات Nginx / PHP-FPM را نشان خواهیم داد به طوریکه حتی مدیران جدید سیستم میتوانند وب سرورهای جدید تجاری را به نحوی راه اندازی کنند که صفحات داینامیک را نیز در آنها داشته باشند.

    برای این منظور، از آخرین آپدیت های ریپازیتوری های رسمی توزیع ها نهایت استفاده را خواهیم برد. ما فرض را بر این میگذاریم که شما دبیان 9 را نصب شده بر روی کیس، ویرچوال ماشین یا VPS دارید، یا از Debian 8 Jessie به Debian 9 آپگرید شده باشد.


    همچنین توصیه میشود مطالعه کنید :

    آموزش تصویری نصب وب سرور قدرتمند Nginx به همراه دیتابیس MariaDB و PHP در اوبونتو 16.04 و 16.10 (نسخه Server و Desktop)




    نصب LEMP در Debian 9 Stretch

    شما ممکن است تعجب کنید که چرا ما به جای PHP از PHP-FPM به عنوان بخشی از LEMP استفاده کردیم. برخلاف وب سرورهای دیگر انجین ایکس از PHP پشتیبانی نمیکند.

    به همین دلیل، PHP-FPM (یکی از ابزارهای مدیریت سریع Process ها) برای کنترل درخواستهای صفحات PHP استفاده میشود. شما میتوانید اطلاعات بیشتری درباره PHP-FPM در سایت رسمی PHP بیاموزید.

    ورژن پیش فرض که در ریپازیتوری های دبیان فراهم آمده php7.0-fpm میباشد. همانطور که ممکن است شما براساس نام پکیج حدس زده باشید این ورژن میتواند حتی درخواست های به سمت صفحات شامل کدهای PHP 7 را کنترل کند.


    نکته : قبل از اینکه جلوتر برویم، اگر آپاچی را از قبل نصب دارید، مطمئن شوید که سرویس آن غیرفعال و stop شده باشد.


    با توجه به آنچه گفته شده، بیایید LEMP را به همراه اجزاء و محتویاتش همانند زیر نصب کنیم.
    کد PHP:
    # aptitude update
    # aptitude install nginx mariadb-server mariadb-client php-mysqli php7.0-fpm 
    زمانیکه نصب کامل شد، ابتدا از اجرا بودن Nginx و PHP-FPM مطمئن بشویم سپس هر دوی سرویس ها را در boot فعال میکنیم که بعد از بوت شدن سیستم به صورت اتوماتیک اجرا شوند.
    کد PHP:
    # systemctl status nginx php7.0-fpm 
    درصورتی که یکی از هر دوی این سرویس ها اجرا نشده بودند، دستورات زیر را برای اجرای آن سرویس وارد کنید.
    کد PHP:
    # systemctl start nginx php7.0-fpm
    # systemctl enable nginx php7.0-fpm 
    هرکدام از دیتابیس های MariaDB یا MySQL که نصب شده باشد، اجرای mysql_secure_installation برای اجرای تنظیمات امنیتی اولیه و تنظیم کردن پسورد برای یوزر root دیتابیس مهم میباشد.
    کد PHP:
    # mysql_secure_installation 
    اگر شما نحوه کارکرد دستور بالا را نمیدانید، میتوانید به مرحله 4 از نحوه نصب MariaDB 10 در Debian و Ubuntu مراجعه کنید. (به زودی)



    تنظیمات Nginx برای استفاده از PHP-FPM در Debian 9

    فایل تنظیمات اصلی Nginx در مسیر /etc/nginx/sites-available/default میباشد، که ما باید تغییر زیر را در block سرور در این مسیر ایجاد کنیم.
    • از فعال بودن بلاک location که درخواست های PHP را کنترل میکند مطمئن شوید، به استثنای یک مورد که در آن قسمت fastcgi_pass به کارت شبکه loopback اشاره میکند.
    • در قسمت index عبارت index.php را اضافه کنید تا مشخص کنید که در صورتی که این فایل موجود بود باید به صورت پیش فرض و قبل از index.html یا فایل های دیگر مورد استفاده قرار گیرد.
    • قسمت server_name را اضافه کنید که به ip آدرس یا Hostname سرورتان اشاره میکند. در این مثال ما از 192.168.10.242 استفاده میکنیم.
    • علاوه بر این مطمئن شوید که قسمت root به location ی که فایل های .php شما ذخیره خواهند شد اشاره میکند. (به صورت پیش فرض مسیر /var/www/html)


    برای مثال :

    Click image for larger version  Name:	nginx default file configuration.png Views:	1 Size:	88.0 KB ID:	22091


    بعد از اینکه تنظیمات بالا را انجام دادید شما میتوانید از دستور زیر برای تست کردن فایل تنظیمات به منظور بررسی هر گونه خطایی استفاده کنید.
    کد PHP:
    # nginx -t 
    Click image for larger version  Name:	nginx test configuration file.png Views:	1 Size:	8.9 KB ID:	22090


    در اینجا فایل /etc/nginx/site-available/default شما باید چیزی شبیه به تصویر زیر باشد که عددهای مارک شده در تصویر در حقیقت نمایشگر مراحل کانفیگی است که در بالا لیست کردیم.
    کد PHP:
    # grep -Ev '#' /etc/nginx/sites-available/default 
    Click image for larger version  Name:	nginx check configuration file.png Views:	1 Size:	44.9 KB ID:	22092



    تست Nginx و PHP-FPM روی Debian 9

    برای اینکه مطمئن شویم که در حال حاضر از Nginx به عنوان وب سرور استفاده میکنیم فایلی به نام info.php درون مسیر /var/www/html با محتوای زیر ایجاد میکنیم.
    کد PHP:
    <?php
    phpinfo
    ();
    ?>
    سپس در مرورگر آدرس http://192.168.10.242/info.php را تایپ کرده و بررسی میکنیم که در بالای صفحه عبارت های موجود در تصویر زیر را مشاهده کنیم.

    Click image for larger version  Name:	test nginx and php-fpm on debian.png Views:	1 Size:	35.6 KB ID:	22093


    نکته : اگر به هنگام باز کردن یک فایل .php در مرورگرتان که توسط Nginx نمایش داده میشود بجای اینکه فایل اجرا شود، دانلود شود کافیست که cache مرورگرتان را پاک کنید یا از یک مرورگر متفاوت استفاده کنید، اگر شما از کروم استفاده میکنید ممکن است بخواهید با استفاده از مد incognito تست کنید. همچنین با restart کردن سرویس Nginx این مشکل هم رفع خواهد شد.


    در نهایت در مرورگر خود فایل habilibooks.phpرا که قبلا در آموزش نصب LAMP (Linux, Apache, MariaDB - MySQL, PHP) روی دبیان 9 ایجاد کردیم باز کنید.همانطور که در تصویر زیر مشاهده میکنید این فایل توسط انجین اکس قابل مشاهده است.

    Click image for larger version  Name:	Check-PHP-Pages-Served-by-Nginx.png Views:	1 Size:	99.6 KB ID:	22094




    خلاصه

    در این پست ما درباره نحوه نصب و کانفیگ انجینکس برای نمایش صفحات php داینامیک مان صحبت کردیم مهم است که توجه کنید بعد از این نصب اولیه تنظیمات دیگری هستند که باید برای امنیت وب سرور مورد توجه قرار گیرند.

    شما میتوانید یک آموزش ابتدایی در مقاله راهنمای جامع برای امنیت و بهبود بخشیدن کارایی وب سرور Nginx را مطالعه کنید.

    اگر شما به دنبال ویرچوال هاستینگ روی Nginx هستید پیشنهاد میشود مقاله نحوه تنظیم ویرچوال هاست های براساس نام و براساس IP روی Nginx را مطالعه کنید.


    همچنین توصیه میشود مطالعه کنید.

    نحوه رمزگذاری دایرکتوری ها در وب سرور Nginx

    آموزش نصب SSL (تنظیمات https به همراه گواهینامه SSL) در وب سرور nginx روی RHEL/CentOS 7/6


    مثل همیشه سوالات و نظرات ارزشمند خود را با ما به اشتراک بگذارید.
    آخرین ویرایش توسط Habili; در تاریخ/ساعت 02-08-2021, 11:05 PM.
    Instagram : https://www.instagram.com/iranlinuxforum

    Voip Trainer - Asterisk - Elastix - Agi Programming- NewRock

    Voip Expert :ASTERISK-ELASTIX-NewRock Certified-With Experience of Working With
    Sangoma-Digium-Openvox-Synway-Atcom-Quintum Tenor-Polycom-Yealink-Rtx-Snom
    Cisco Collaboration - CME-CUCM-CUPs-CUC-WEBEX
    LPI ( Fundamental - LPI1 and LPI2 ) - Monitoring: ZABBIX-VOIPMONITOR-NAGIOS - CCNA

    Linkedin Profile : https://www.linkedin.com/in/masuma-vahid-26b17b66/

درباره انجمن منطقه لینوکسی ها

انجمن منطقه لینوکسی ها با هدف ارتقاء سطح علمی کاربران در سطح جهانی و همچنین کمک به بالا بردن سطح علمی عمومی در زمینه های تخصصی فوق پایه گذاری شده است. انجمن منطقه لینوکسی ها از طریق کارشناسان و متخصصان پاسخگوی سوالات گوناگون کاربران مبتدی یا پیشرفته میباشد تا حد امکان تلاش شده که محیطی متنوع و کاربر پسند و به دور از هرگونه حاشیه جهت فعالیت کاربران در این انجمن ایجاد شود. لذا ما به صورت مستمر برای پیشرفت کمی و کیفی محتوی و اطلاعات انجمنمان میکوشیم که این برای ما ارزشمند و حائز اهمیت است. کلیه حقوق،اطلاعات و مقالات در این انجمن متعلق به سایت منطقه لینوکسی ها میباشد، و هرگونه نسخه برداری بدون ذکر منبع مورد پیگرد قانونی خواهد شد.

شبکه های اجتماعی
در حال انجام ...
X