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

نصب Nginx | MySQL | PHP – LEMP در CentOS 7

نحوه نصب Nginx | MySQL | PHP - LEMP در CentOS 7

تو این آموزش، نحوه نصب LEMP stack – MySQL | Nginx رو بر روی سرور CentOS 7 یاد خواهید گرفت. این مورد یکی از محبوب ترین گروه های نرم افزاری هست که میتونید از اون برای ساخت وب سایت خودتون استفاده کنید. پس بی معطلی بیاید این آموزش کوتاه ولی در عین حال کاربردی رو شروع کنیم.

مواردی که تو این آموزش بهش میپردازیم :

  • LEMP چیست ؟
  • نصب Nginx در CentOS 7
  • نصب MySQL – MariaDB در CentOS 7
  • نصب PHP v7 در CentOS 7
  • کانفیگ کردن Nginx برای PHP v7

LEMP چیست ؟

LEMP مجموعه برنامه هایی هست که به طور جمعی برای سرویس دهی به وب سایت های پویا (dynamic) یا برنامه های وب کار میکنند. LEMP شامل Linux ( سیستم عامل سرور )، ENginX / Nginx ( برنامه وب سرور ) ، MySQL ( سیستم مدیریت پایگاه داده ) و PHP ( زبان برنامه نویسی ) هست.

LEMP یک گزینه محبوب برای LAMP هست، که به جای Nginx از Apache استفاده میکنه و تمرکز خودش رو روی سرویس دهی صفحات وب ثابت میذاره. همچنین WAMP و MAMP هم وجود داره که جایگزین لینوکس با ویندوز و macOS میشه.

نحوه نصب LEMP Stack

پس از اینکه مطمئن شدید سیستم عامل سرورتون CentOS 7هست، پس میتونیم مرحله به مرحله نصب رو پیش ببریم.

تو این آموزش ما با استفاده از برنامه ی PuTTY به سرور متصل میشیم و دستور ها رو وارد میکنیم. پس ابتدا نیازه که برنامه ی PuTTY رو دانلود کنید.

قبل از شروع مطمئن بشید که پارامتر های IP ، Port و یوزرنیم (Username) و پسورد (Password) رو در اختیار دارید. اگه سرور خریداری شدتون از شرکت آذردیتا هست این پارامتر ها پس از خرید براتون ایمیل شده، هرچند از بخش پورتال مشتریان هم میتونید VPS خودتون رو کنترل و مدیریت کنید.

 ۱. نصب Nginx در CentOS 7

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

yum install epel-release -y

۲. سپس، ما خود Nginx رو با دستور زیر نصب خواهیم کرد :

yum install nginx -y

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

systemctl start nginx
systemctl enable nginx

۴. با مراجعه به آدرس IP عمومی سرور خودتون بررسی کنید که آیا Nginx در حال اجرا هست یا خیر. صفحه ایی که مشاهده می کنید باید به این شکل باشه :

install nginx mysql php on centos7 01 - نصب Nginx | MySQL | PHP - LEMP در CentOS 7

اگه دسترسی روت ندارید، ابتدای کد های بالا از دستور sudo استفاده کنید.

 ۲. نصب MySQL – MariaDB در CentOS 7

تو این قسمت ما قصد داریم MySQL رو با استفاده از سرویس MariaDB ، نصب کنیم.

۱. MariaDB در مخازن پیش فرض CentOS گنجونده شده، بنابراین میتونیم به راحتی دستور yum رو برای نصب اون اجرا کنیم :

yum install mariadb-server mariadb -y

۲. پس از اتمام نصب، سرویس MariaDB رو فعال و استارت کنید :

systemctl start mariadb
systemctl enable mariadb

۳. با اجرای دستور زیر نصب رو ایمن کنید :

mysql_secure_installation

۴. MariaDB از شما رمزعبور root میخواد که شما این مورد رو ندارید چون فقط MySQL رو نصب کرده اید. به همین دلیل، کافیه enter رو فشار بدید.

۵. در پیام بعدی سوال میشه که آیا میخواید گذرواژه روت رو تنظیم کنید. 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:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
... Success!

۶. اسکریپت چند سوال امنیتی رو میپرسه که ما به شما توصیه میکنیم Y رو برای همه اونها فشار بدید.

Remove anonymous users? [Y/n]
Disallow root login remotely? [Y/n]
Remove test database and access to it? [Y/n]
Reload privilege tables now? [Y/n]

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

 ۳. نصب PHP v7 در CentOS 7

۱. ما باید یک مخزن اضافی CentOS بارگیری و نصب کنیم که شامل بسته های مورد نیاز برای PHP v7.3 باشه. این دستورات رو یکی پس از دیگری اجرا کنید :

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

۲. با دستور زیر مخزن php73 رو فعال کنید، که به طور پیش فرض هم غیرفعال هست :

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

۳. پس از اون با دستور زیر، بسته PHP رو نصب کنید :

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

وقتی از شما اجازه نصب خواسته شد، کافیه Y رو فشار بدید.

۴. خب الان مطمئن بشید که سرویس به درستی کار میکنه، ماژول های رایج PHP رو با دستور زیر نصب کنید :

yum --enablerepo=remi,remi-php73 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 v7

آخرین کاری که باید انجام بدیم پیکربندی Nginx برای کار با PHP 7 هست. نحوه انجام این کار به شرح زیر اورده شده :

۱. با اجرای ویرایشگر متن nano ، یک فایل پیکربندی Nginx جدید ایجاد کنید :

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

سپس این کد رو اضافه کنید :

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;
    }
}
به جای your_server_ip ایپی سرور خودتون رو قرار بدید.

۲. با زدن CTRL + X (یا CMD + X برای کاربران Mac) پرونده رو ذخیره کنید. بعد، 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
برای امتیاز به این نوشته کلیک کنید!
[کل: ۰ میانگین: ۰]

سعید زارعین

سعید هستم 27 ساله، یک عدد تولید محتوا(ئر) خلاق :)))

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

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

همچنین ببینید
بستن
دکمه بازگشت به بالا