سنت او اسسیستم عامل لینوکسمقالات وب

چگونه LEMP stack را بر روی سنت او اس ۷ نصب کنیم؟

پشته LEMP  یا همان lemp stack که از اول واژه های لینوکس، NGINX، MariaDB و PHP به دست آمده است یک پیکربندی محبوب برای سرورهاست که برای توسعه و اپلیکیشن های میزبانی وب مورد استفاده قرار می گیرد. چهار جزء تشکیل دهنده این پشته به  گونه ای انتخاب شده اند که می توان به جای هر کدام از آن ها از فناوری های دیگر  نیز استفاده کرد. پشته LEMP یکی از گزینه های رایج و کاربردی است که در آن وب سرور آپاچی با NGINX جایگزین می شود. در این مقاله قصد داریم نحوه نصب LEMP  بر روی سنت او اس ۷  را با هم مرور کنیم. پس همراه وب ایده باشید.

قبل از اینکه بخواهید کار را آغاز کنید باید موارد زیر را مدنظر داشته باشید:

  • برای اینکه بتوانید این پشته را نصب کنید به دسترسی روت یا کاربری با دسترسی بالا نیاز دارید
  • هاست نیم سرور خود را پیکربندی کنید.
  • سیستم خود را به روزرسانی نمایید.

 نصب NGINX:

در این آموزش ما NGINX را از مخزن رسمی این وب سرور دانلود کرده و نصب خواهیم کرد. اگر به دنبال توزیع های دیگر هستید می توانید به صفحه ادمین NGINX بروید  و راهنمای موجود را مطالعه نمایید.  در ویرایشگری فایلی را در /etc/yum.repos.d/nginx.repo  ایجاد کنید و موارد زیر را بدان بیفزایید:

 

/etc/yum.repos.d/nginx.repo

۱

۲

۳

۴

۵

[nginx]

name=nginx repo

baseurl=http://nginx.org/packages/mainline/centos/7/$basearch/

gpgcheck=0

enabled=1

نکته: اگر از سنت او اسی استفاده می کنید که ورژن آن بالاتر از ۷ است می توانید عبارت ۷ را در baseurl  در nginx.repofile با ورژن صحیح جایگزین نمایید:

 

به روزرسانی YUM و نصب NGIMX:

به کمک دستور زیر می توانید NGINX را نصب کنید:

 

باید مطمئن شوید NGINX در حال اجراست و به صورت خودکار در ریبوت سیستم استارت می شود:

 

پایگاه داده MariaDB:

شما می توانید سرور MariaDB و MySQL/MariaDB-PHP را نصب کنید. ممکن است در طول این فرایند از شما خواسته شود پسورد روت را تنظیم کنید:

 

مطمئن شوید که NGINX در حال اجراست و به صورت خودکار در ریبوت سیستم اجرا می شود:

 

حالا اسکریپت mysql_secure_installation را اجرا کنید:

 

 

اگر از شما خواسته نشد پسورد کاربرد روت MYSQL را به هنگام نصب MariaDB ایجاد کنید به هنگام درخواست پسورد روت در این مرحله می توانید اینتر را بزنید:

 

اگر درخواستی داشتید می توانید پسورد روت را ایجاد کنید:

 

در موارد زیر می توانید با عبارت Y به سوالات پاسخ دهید:

  • Remove anonymous users?
  • Disallow root login remotely?
  • Remove test database and access to it?
  • Reload privilege tables now?

 

به شل SQL پایگاه داده mariaDB لاگین کنید. پسورد کاربر روت را در صورت نیاز وارد نمایید:

 

 

پایگاه داده و کاربر تستی را ایجاد کنید. باید testdb و testuser را با نام های مناسبی که در تنظیمات خود ایجاد کرده اید جایگزین نمایید. پسورد را هم با پسورد قوی جایگزین نمایید:

 

 

نصبPHP:

حالا باید به کمک دستور زیر PHP و dependencyهای آن را نصب کنید:

 

مطمئن شوید که PHP-FPM در حال اجراست و در بوت سیستم به صورت خودکار استارت می شود:

 

به PHP بگویید تنها URI هایی را برای فایل ها قبول کند که واقعا بر روی سرور وجود دارد.  اینکار خطرات و اسیب پذیری هایی که در مورد PHP می تواند ایجاد شود را کاهش می دهد.

 

PHP به گونه ای تنظیم شده است که تحت کاربر آپاچی اجرا می شود اما این کاربر باید با کاربر و گروه کاربری استفاده شده توسط NGINX همخوانی داشته باشد. اگر NGINX را از طریق مزخن NGINX نصب کرده اید ، این وب سرور از کاربر و گروه nginx استفاده خواهد کرد.  برای همخوانی بیشتر می توانید متغیرهای کاربر و گروه را در www.conf  تغییر دهید:

 

تنظیم پیکربندی سایت NGINX:

دایرکتوری روت را برای سایت خود ایجاد کنید. در عبارت زیر example.com را با نام دامنه خود جایگزین نمایید:

 

 

پیکربندی پیش فرض فراهم شده را غیر فعال کنید:

 

 

فایل پیکربندی سایت باید در مسیری به نام /etc/nginx/conf.d/ نگهداری شود. فایل پیکربندی را برای سایت خود ایجاد کنید. باز هم در عبارت های زیر example.com را با دامنه خود تعویض نمایید:

/etc/nginx/conf.d/example.com.conf

 server {

    listen         ۸۰ default_server;

    listen         [::]:۸۰ default_server;

    server_name    example.com www.example.com;

    root           /var/www/example.com;

    index          index.html;

 

    location / {

      try_files $uri $uri/ =404;

    }

 

    location ~* \.php$ {

      fastcgi_pass 127.0.0.1:9000;

      include         fastcgi_params;

      fastcgi_param   SCRIPT_FILENAME    $document_root$fastcgi_script_name;

      fastcgi_param   SCRIPT_NAME        $fastcgi_script_name;

    }

}

 

بلوک سرور بالا گزینه های پیکربندی زیر را مشخص می کند:

  • NGINX در پورت ۸۰ به اتصالات و ارتباطات ورودی گوش می دهد.
  • try_files به NGINX می گوید که فایل درخواستی یا دایرکتوری در  فایل سیستم روت  سایت وجود دارد . اگر چنین چیزی وجود نداشته باشد خطای ۴۰۴ نشان داده می شود.
  • location ~* \.php$ به NGINX می گوید این پیکربندی را به همه فایل های .php در دایرکتوری روت سایت که در برگیرنده هر زیردایرکتوری شامل  فایل PHP است اعمال نماید.
  • علامت * در موقعیت ~* \.php$   نشان می دهد که نام فایل PHP  به حروف کوچک و بزرگ حساس نیست.
  • fastcgi_pass آی پی آدرس و پورت جایی که PHP به اتصالات ورودی گوش می دهد را نشان می دهد.

 پشته LEMP خود را مورد بررسی قرار دهید:

PHP را ریستارت کنید و پیکربندی NGINX را دوباره بارگذاری نمایید:

 

صفحه تستی را ایجاد کنید تا تایید نمایید NGINX می تواند php را رندر کند و به پایگاه داده وصل شود. testuser و password را با دسترسی های MYSQL که در بالا ایجاد کردید جایگزین نمایید:

/var/www/example.com/test.php

 ۱

۲

۳

۴

۵

۶

۷

۸

۹

۱۰

۱۱

۱۲

۱۳

۱۴

۱۵

۱۶

۱۷

۱۸

۱۹

۲۰

۲۱

۲۲

۲۳

۲۴

 

به http://example.com/test.php  در مرورگر خود بروید. شما باید پیامی همچون You have connected successfully را دریافت نمایید. اگر خطایی داشتید یا  صفحه بارگذاری نشد پیکربندی های خود را دوباره بررسی کنید.بعد از اینکه مطمئن شدید همه چیز به درستی کار می کند فایل تست را حذف نمایید:

 

چگونه LEMP stack را بر روی سنت او اس ۷ نصب کنیم؟
امتیاز دهید
برچسب ها

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

بستن