آموزش نصب LEMP بر روی سرور CentOS 7

در این آموزش نصب LEMP بر روی سرور CentOS 7 را یاد خواهید گرفت. LEMP یکی از محبوب ترین گروه های نرم افزاری است که می توانید برای ساخت وب سایت خود استفاده کنید.

LEMP چیست؟

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

LEMP یک جایگزین محبوب برای LAMP است با این تفاوت که LAMP به جای Nginx از آپاچی استفاده می کند و برای صفحات وب static کاربرد دارد. همچنین سرویس های WAMP و MAMP نیز می باشند که برای سیستم عامل های  Windows و macOS به جای لینوکس طراحی شده اند.

آموزش نصب LEMP

در این مراحل قصد داریم تا نحوه نصب Nginx و MySQL و پس از آن PHP را به شما آموزش دهیم.

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

مرحله اول  :  نصب Nginx بر روی CentOS

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

yum install epel-release –y

سپس Nginx را با دستور زیر نصب نمایید:

yum install nginx -y

پس از اتمام مراحل نصب ، دستورات زیر را پشت سر هم اجرا نمایید:

systemctl start nginx

systemctl enable nginx

start و فعال کردن سرویس Nginx

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

صفحه پیشفرض Nginx

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

مشاهده وضعیت فایروال سرور مجازی CentOS

برای رفع این مساله می بایست پورت 80 را در فایروال سرور اضافه نمایید و یا می توانید با دستور زیر فایروال CentOS را غیر فعال نمایید:

sudo systemctl stop firewalld

مرحله دوم : نصب MySQL  (Mariadb)

MariaDB در repository های پیش فرض CentOS قابل دسترسی می باشد ، بنابراین می توانیم به راحتی دستور yum را برای نصب آن اجرا کنید:

yum install mariadb-server mariadb -y

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

systemctl start mariadb

systemctl enable mariadb

سپس نصب MariaDB را با اجرای دستور زیر secure کنید:

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.3

برای نصب PHP  باید یک repository دیگر CentOS را که حاوی بسته های لازم برای PHP v7.3 است ، بارگیری و نصب نمایید.

این دستورات را یکی پس از دیگری اجرا کنید:

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

rpm -Uvh remi-release-7.rpm

سپس repository   php 7.3 را که به طور پیش فرض غیرفعال است، فعال کنید:

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 7

در این مرحله از آموزش نصب LEMP بر روی سرور CentOS 7 می بایست د پیکربندی Nginx برای کار کردن  با PHP 7 را انجام بدهید. در زیر چگونگی  انجام این کار نشان داده شده است.

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

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

سپس متن کد زیر را درون آن کپی نمایید:

توجه داشته باشید که در این قطعه کد به جای عبارت your_server_ip می بایست IP سرور خود را قرار بدهید:

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;

    }

}

ایجاد فایل default.conf

با کلیدهای CTRL+X فایل را ذخیره کنید و سپس با دستور زیر سرویس Nginx را restart  کنید:

systemctl restart nginx

فایل پیکربندی PHP-FPM را باز کنید:

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

خطوط زیر را با استفاده از CTRL+W سرچ کرده و تغییرات گفته شده در زیر را اعمال کنید:

user = apache to user = nginx

group = apache to group = nginx

listen.owner = nobody to listen.owner = nginx

listen.group = nobody to listen.group = nginx

ویرایش فایل www.conf
ویرایش فایل www.conf
ویرایش فایل www.conf

بعد از اعمال تغییرات ، خط listen = 127.0.0.1:9000 را در فایل پیدا نموده و آن را با خط زیر جایگزین کنید:

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

ویرایش فایل www.conf

سپس فایل را با استفاده از کلیدهای CTRL + X ذخیره کنید. در آخر ، PHP-FPM را start کنید و آن را در boot فعال کنید:

systemctl start php-fpm.service

systemctl enable php-fpm.service

آموزش نصب LEMP به پایان رسید و همانطور که مشاهده نمودید مراحل نصب بسیار ساده می باشد و با داشتن دانش ابتدایی از command-line می توانید به آسانی آن را بر روی سرور مجازی VPS خود نصب و راه اندازی نمایید.

اگر قصد خرید سرور مجازی لینوکس و یا ویندوز برای راه اندازی وبسایت خود و یا پیاده سازی سرویس های مختلف را دارید ، از پلن های متنوع میزبان اول دیدن نمایید.

LEMP چیست؟

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

تفاوت LEMP و LAMP چیست؟

LEMP یک جایگزین محبوب برای LAMP است با این تفاوت که LAMP به جای Nginx از آپاچی استفاده می کند و برای صفحات وب static کاربرد دارد.