زیرساخت ابری هایو

نحوه نصب LEMP در سرور ابونتو 20.04

فهرست مطالب

عبارت LEMP نام یک بسته نرم افزاری است که برای ارائه صفحات وب پویا و برنامه های نوشته شده به زبان PHP استفاده می شود.

این مخفف یک سیستم عامل Linux با وب سرور Nginx (تلفظ می شود E ngine-X) است.

داده های Backend در پایگاه داده MySQL ذخیره می شوند و پردازش پویا توسط PHP انجام می شود.

در این راهنما نحوه نصب LEMP در سرور ابونتو 20.04 را آموزش می دهیم.

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

در ادامه نحوه نصب و راه اندازی بقیه اجزا را شرح خواهیم داد.

پیش نیازهای نصب LEMP در سرور ابونتو

برای تکمیل این آموزش، باید به یک سرور اوبونتو 20.04 به عنوان یک کاربر با دسترسی sudo ویا روت وارد شوید و باید یک فایروال روی سرور فعال باشد.

برای تنظیم این موارد، می توانید راهنمای  تظیمات اولیه سرور Ubuntu 20.04 را دنبال کنید .

نصب LEMP در ابونتو

مرحله 1 – نصب وب سرور Nginx

به منظور نمایش صفحات وب برای بازدیدکنندگان سایت خود، قصد داریم از Nginx، یک وب سرور با کارایی بالا استفاده کنیم.

برای دریافت این نرم افزار از مدیر بسته apt استفاده می کنیم.

ابتدا بهتر است با بروزرسانی مخازن ابونتو شروع کنید و سپس با دستورات زیر nginx را در سرور خود نصب کنید:

sudo apt update
sudo apt install nginx

پس از وارد کردن دستورات بالا از باید کلید Y را برای تایید نصب NGINX وارد کنید.

پس از اتمام نصب، وب سرور Nginx بر روی سرور اوبونتو 20.04 شما فعال و در حال اجرا خواهد بود.

همانطور که در راهنمای اولیه تنظیمات ابونتو توصیه شده است، اگر فایروال ufw را فعال کرده اید، باید به Nginx مجوز اتصال به سرور را بدهید.

Nginx پس از نصب، چند برنامه مختلف برای UFW را ثبت می کند.

برای بررسی اینکه کدام یک از این برنامه های UFW در دسترس هستند،دستور زیر را اجرا کنید:

sudo ufw app list
Output
Available applications:
Nginx Full
Nginx HTTP
Nginx HTTPS
OpenSSH

توصیه می‌شود از آنجایی که در این راهنما SSL را برای سرور خود پیکربندی نکرده‌اید، فقط به ترافیک HTTP معمولی در پورت 80 اجازه اتصال بدهید.

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

sudo ufw allow 'Nginx HTTP'

می توانید با اجرا کردن این دستور تغییرات را بررسی کنید:

sudo ufw status

خروجی این دستور نشان می دهد که ترافیک HTTP اکنون مجاز است:

Output
Status: active

To                        Action                              From
--                         ------                                 ----
OpenSSH            ALLOW                          Anywhere
Nginx HTTP        ALLOW                          Anywhere
OpenSSH (v6)     ALLOW                          Anywhere (v6)
Nginx HTTP (v6) ALLOW                          Anywhere (v6)

با اضافه شدن این قانون جدید در فایروال، می توانید با وارد کردن نام دامنه سرور یا آدرس IP عمومی در مرورگر وب خود، راه اندازی NGINX را بررسی کنید.

اگر دامنه ای به سرور خود متصل نکرده اید و آدرس IP عمومی سرور خود را نمی دانید، می توانید با اجرای دستور زیر آیپی سرور را پیدا کنید:

ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//' 

با این کار چند آدرس IP چاپ می شود.

می توانید هر یک از آنها را تک به تک  در مرورگر وب خود امتحان کنید.

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

curl -4 icanhazip.com

آدرس آیپی یا نام دامنه سرور را در یک مرورگر وب وارد کنید، شما باید به صفحه خوش آمد NGINX وارد شوید. همانند تصویر زیر :

نصب lemp در سرور ابونتو

 

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

مرحله 2 – نصب MySQL

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

MySQL یک سیستم مدیریت پایگاه داده محبوب است که در محیط های PHP استفاده می شود.

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

sudo apt install mysql-server

هنگامی که از شما خواسته شد، نصب را با تایپ کردن Yو سپسENTER تاییدکنید.

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

این اسکریپت برخی از تنظیمات پیش فرض ناامن را حذف می کند و دسترسی به سیستم پایگاه داده شما را قفل می کند.

این اسکریپت تعاملی را با دستور زیر می توانید اجرا کنید:

sudo mysql_secure_installation

VALIDATE PASSWORD PLUGIN این سؤال را  از شما می‌پرسد که آیا می‌خواهید پیکربندی را انجام دهید ؟

توجه: در صورت فعال بودن این ویژگی، پسوردهایی که با معیارهای مشخص شده مطابقت ندارند توسط MySQL با خطا رد می شوند.

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

برای فعال کردن کلید Y را بزنید و برای رد شدن از این مرحله یک کلید دیگری را فشار دهید.

VALIDATE PASSWORD PLUGIN can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD plugin?

Press y|Y for Yes, any other key for No:

اگر پاسخ «بله» را بدهید، از شما خواسته می‌شود سطحی از اعتبارسنجی رمز عبور را انتخاب کنید.

به خاطر داشته باشید که اگر گزینه 3 یعنی قوی ترین سطح را وارد کنید، هنگام تلاش برای تنظیم رمز عبوری که حاوی اعداد، حروف بزرگ و کوچک و کاراکترهای خاص نباشد یا بر اساس کلمات فرهنگ لغت رایج باشد، خطاهایی دریافت خواهید کرد.

There are three levels of password validation policy:

LOW Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary file

Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 1

 

صرف نظر از اینکه آیا تنظیم VALIDATE PASSWORD PLUGIN را انتخاب کرده اید ، سرور شما در مرحله بعدی از شما می خواهد که یک رمز عبور برای کاربر ریشه MySQL انتخاب و تأیید کنید.

این را نباید با ریشه سیستم اشتباه گرفت .

کاربر ریشه پایگاه داده یک کاربر اداری با امتیازات کامل بر روی سیستم پایگاه داده است.

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

اگر امنیت گذرواژه را فعال کرده باشید، قدرت رمز عبوری را که به تازگی وارد کرده اید به شما نشان داده می شود و سرور  از شما می پرسد که آیا می خواهید با آن رمز عبور ادامه دهید یا خیر.

اگر از رمز عبور فعلی خود راضی هستید، Y را وارد کنید:

Estimated strength of the password: 100 
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : y

 

برای بقیه سؤالات، کلید Y را فشار داده و ENTER بزنید.

با این کار برخی از کاربران ناشناس و پایگاه های داده آزمایشی حذف می شوند، ورود به ریشه پایگاه داده از راه دور غیرفعال می شود و قوانین جدید اعمال می شود تا MySQL به سرعت به تنظیمات اعمال شده احترام بگذارد.

وقتی کارتان تمام شد، با تایپ کردن دستور زیر تست کنید که آیا می‌توانید به کنسول MySQL وارد شوید:

sudo mysql

با این دستور  به سرور MySQL به عنوان کاربر ریشه پایگاه داده  متصل می شوید، شما باید خروجی مانند زیر را ببینید:

Output
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 22
Server version: 8.0.19-0ubuntu5 (Ubuntu)

Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

برای خروج از کنسول MySQL، تایپ کنید:

exit 

توجه داشته باشید که برای اتصال به عنوان کاربر اصلی نیازی به ارائه رمز عبور ندارید ، حتی اگر هنگام اجرای mysql_secure_installation اسکریپت رمز عبور را تعریف کرده باشید.

دلیل آن این است که روش احراز هویت پیش‌فرض برای کاربر ریشه MySQL به جای استفاده از رمز عبور از کاربران سیستمی استفاده میکند.

اگرچه این ممکن است در ابتدا یک نگرانی امنیتی به نظر برسد، اما این سرور پایگاه داده را ایمن‌تر می‌کند زیرا تنها کاربرانی که مجاز به ورود به عنوان کاربر ریشه MySQL هستند، کاربران سیستمی هستند که دارای امتیازات sudo هستند.

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

در صورتی که روش احراز هویت پیش فرض از کاربر سیستمی به رمز عبور تغییرکند، تنظیم رمز عبور برای روش ورود به حساب MySQL به عنوان یک محافظ عمل می کند.

برای افزایش امنیت، بهتر است حساب‌های کاربری اختصاصی با امتیازات گسترده‌تر برای هر پایگاه داده تنظیم شده باشد، به خصوص اگر قصد دارید چندین پایگاه داده را روی سرور خود میزبانی کنید.

سرور MySQL شما اکنون نصب و ایمن شده است.

در مرحله بعد، PHP، جزء نهایی در پشته LEMP را نصب می کنیم.

مرحله 3 – نصب PHP

شما Nginx را برای ارائه محتوای خود و MySQL را برای ذخیره و مدیریت داده های خود نصب کرده اید.

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

در حالی که Apache مفسر PHP را در هر درخواست تعبیه می کند، Nginx به یک برنامه خارجی نیاز دارد تا پردازش PHP را مدیریت کند و به عنوان پلی بین مفسر PHP و وب سرور عمل کند.

این امکان عملکرد کلی بهتر را در اکثر وب سایت های مبتنی بر PHP فراهم می کند،

اما به پیکربندی اضافی نیاز دارد.

شما باید php-fpm را نیز نصب کنید که مخفف “PHP fastCGI process manager” است و به Nginx بگویید درخواست های PHP را برای پردازش به این نرم افزار ارسال کند.

علاوه بر این، شما به php-mysql که یک ماژول PHP است نیز نیاز دارید که به PHP اجازه می دهد با پایگاه های داده مبتنی بر MySQL ارتباط برقرار کند.

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

برای نصب پکیج php-fpm و php-mysql دستور زیر اجرا کنید:

sudo apt install php-fpm php-mysql

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

اکنون اجزای PHP خود را نصب کرده اید. در مرحله بعد، Nginx را پیکربندی خواهیم کرد.

مرحله 4 – پیکربندی Nginx برای استفاده از پردازنده PHP

هنگام استفاده از وب سرور Nginx، می‌توانیم بلوک‌های سرور (مشابه میزبان‌های مجازی در آپاچی) ایجاد کنیم تا جزئیات پیکربندی را محصور کنیم و بیش از یک دامنه را روی یک سرور واحد میزبانی کنیم.

در این راهنما، ما از your_domain به عنوان یک نام دامنه استفاده خواهیم کرد.

در اوبونتو 20.04، Nginx دارای یک بلوک سرور است که به طور پیش‌فرض فعال است و به گونه‌ای پیکربندی شده است که اسناد را از دایرکتوری  /var/www/html  می شناسد.

به‌ جای تغییر دایرکتوری اصلی انجین ایکس ” var/www/html/ “، یک ساختار دایرکتوری برای وب‌سایت مان به شکل your_domain/var/www/html ایجاد می‌کنیم و اگر درخواست کاربران با سایت‌های دیگر مطابقت نداشته باشد، از این مسیر var/www/html/ به عنوان دایرکتوری پیش فرض استفاده میکند.

یک دایرکتوری ریشه برای your_domain به صورت زیر ایجاد کنید:

sudo mkdir /var/www/your_domain

سپس، مالکیت دایرکتوری را به متغیر محیطی $USER اختصاص دهید، که این را به کاربر فعلی سیستم شما ارجاع خواهد داد:

sudo chown -R $USER:$USER /var/www/your_domain

سپس، با استفاده از ویرایشگر متن دلخواه خود ، یک فایل پیکربندی جدید را در فهرست sites-available  انجین ایکس باز کنید. در اینجا، ما از nano استفاده خواهیم کرد:

sudo nano /etc/nginx/sites-available/your_domain

با این کار یک فایل خالی جدید ایجاد می شود. کد های زیر را درون آن کپی نمایید:

server {
listen 80;
server_name your_domain www.your_domain;
root /var/www/your_domain;

index index.html index.htm index.php;

location / {
try_files $uri $uri/ =404;
}

location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}

location ~ /\.ht {
deny all;
}}

در اینجا هر یک از این دستورالعمل ها یک کاری را انجام می دهند:

  • listen : مشخص می کند که Nginx به چه پورتی گوش می دهد. در این صورت، به پورت 80، پورت پیش‌فرض HTTP گوش می‌دهد.
  • root : ریشه سند را تعیین می کند که فایل های ارائه شده توسط این وب سایت در آن ذخیره می شوند.
  • index : تعیین می کند که Nginx به چه ترتیبی فایل های فهرست را برای این وب سایت اولویت بندی می کند. این یک روش معمول است که فایل های index.html  را با اولویت بالاتر از فایل های index.php  فهرست کنید تا امکان تنظیم سریع صفحه فرود، تعمیر و نگهداری در برنامه های PHP فراهم شود.شما می توانید این تنظیمات را طوری تنظیم کنید که با نیازهای برنامه شما مطابقت داشته باشد.
  • server_name : تعیین می کند که این بلوک سرور باید به کدام یک از نام های دامنه و یا آدرس های IP پاسخ دهد. در اینجا به جای این از نام دامنه یا ایپی سرور خودتان استفاده کنید.
    / location : اولین بلوک شامل یک دستورالعمل try_files است که وجود فایل ها یا دایرکتوری هایی را که با درخواست URI مطابقت دارند بررسی می کند. اگر Nginx نتواند منبع مناسب را پیدا کند، خطای 404 را برمی‌گرداند.
  • location ~ \.php$ : این بلوک، پردازش واقعی PHP را با اشاره Nginx به فایل پیکربندی fastcgi-php.conf و فایل php7.4-fpm.sock انجام می‌دهد، که مشخص می‌کند با چه سوکتی از php-fpm مرتبط است .
  • location ~ /\.ht : آخرین بلوک با فایل های .htaccess سروکار دارد که Nginx آنها را پردازش نمی کند. با افزودن دستورالعمل deny all ، اگر فایل .htaccess به ریشه سند راه پیدا کند، به بازدیدکنندگان ارائه نخواهد شد.

پس از اتمام ویرایش، فایل را ذخیره کرده و ببندید. اگر ازویرایشگر متن nano استفاده می کنید، می توانید این کار را با کلید های CTRL+Xو سپس yو ENTER انجام دهید.

پیکربندی خود را با پیوند دادن Nginx به فایل پیکربندی از  دایرکتوری sites-enabled را فعال کنید:

sudo ln -s /etc/nginx/sites-available/your_domain /etc/nginx/sites-enabled/

سپس، پیوند فایل تنظیمات پیش فرض را از دایرکتوری /sites-enabled/ جدا کنید:

sudo unlink /etc/nginx/sites-enabled/default

 

توجه : اگر زمانی نیاز به بازیابی تنظیمات پیش فرض داشتید، می توانید این کار را بادستور زیر انجام دهید، مانند این:

sudo ln -s /etc/nginx/sites-available/default /etc/nginx/sites-enabled/

 

این به Nginx می‌گوید که دفعه بعد که بارگذاری مجدد می‌شود از این فایل پیکربندی استفاده کند.

می توانید پیکربندی خود را برای رفع خطاهای نحوی احتمالی با تایپ کردن دستور زیر آزمایش کنید:

sudo nginx -t

اگر خطایی گزارش شد، قبل از ادامه به فایل پیکربندی خود بازگردید و محتویات آن را بررسی کنید.

هنگامی که آماده شدید، Nginx را دوباره بارگیری کنید تا تغییرات اعمال شود:

sudo systemctl reload nginx

وب سایت جدید شما اکنون فعال است، اما ریشه وب هنوز خالی است. یک فایل در آن مکان(:var/www/your_domainindex.html/) ایجاد کنید تا بتوانیم آزمایش کنیم که بلوک سرور جدید شما مطابق انتظار کار می کند:

nano /var/www/your_domain/index.html

کد های زیر را در این فایل قرار دهید:

<html>
<head>
<title>your_domain website</title>
</head>
<body>
<h1>Hello World!</h1>

<p>This is the landing page of <strong>your_domain</strong>.</p>
</body>
</html>

اکنون به مرورگر خود بروید و نام دامنه یا آدرس IP سرور خود، همانطور که در دستورالعمل server_name در فایل پیکربندی بلوک سرور تنطیم کرده اید، دسترسی پیدا کنید:

http://server_domain_or_IP

صفحه ای مانند این را خواهید دید:

انجین ایکس

اگر این صفحه را می بینید، به این معنی است که بلوک سرور Nginx شما همانطور که انتظار می رود کار می کند.

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

پس از انجام این کار، به یاد داشته باشید که فایل را از ریشه سند خود حذف یا تغییر نام دهید، زیرا به طور پیش فرض index.html بر یک فایل index.php  اولویت دارد.

پشته LEMP شما اکنون به طور کامل پیکربندی شده است.

در مرحله بعد، یک اسکریپت PHP ایجاد می کنیم تا آزمایش کنیم که آیا Nginx قادر به مدیریت فایل ها php. در وب سایت تازه پیکربندی شده شما است؟

مرحله 5 – آزمایش PHP با Nginx

پشته LEMP شما اکنون باید به طور کامل راه اندازی شود.

می توانید آن را آزمایش کنید تا بررسی کنید که Nginx می تواند فایل های php. را به درستی به پردازنده PHP شما تحویل دهد.

می توانید این کار را با ایجاد یک فایل PHP آزمایشی در ریشه وبسایت خود انجام دهید.

یک فایل جدید به نام info.php درون ریشه سایت خود با استفاده از یک ویرایشگر متن باز کنید:

nano /var/www/your_domain/info.php

کد های زیر را در این فایل کپی نمایید.

این یک کد PHP معتبر است که اطلاعات مربوط به سرور شما را برمی گرداند:

<?php
phpinfo();

وقتی کارتان تمام شد، فایل را با تایپ CTRL+ Xو سپس yو ENTER ذخیره و ببندید.

اکنون می توانید با مراجعه به نام دامنه یا آدرس IP عمومی که در فایل پیکربندی Nginx خود تنظیم کرده اید و به دنبال آن /info.php، به این صفحه در مرورگر وب خود دسترسی پیدا کنید:

http://server_domain_or_IP/info.php

یک صفحه وب حاوی اطلاعات دقیق در مورد سرور خود را خواهید دید:

info php

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

برای حذف آن فایل می توانید از rm استفاده نمایید:

sudo rm /var/www/your_domain/info.php 

اگر بعداً دوباره به این فایل نیاز داشتید، می‌توانید این فایل را دوباره بسازید.

مرحله 6 – آزمایش اتصال پایگاه داده از PHP (اختیاری)

اگر می خواهید آزمایش کنید که آیا PHP قادر به اتصال به MySQL و اجرای پرس و جوهای پایگاه داده است، می توانید یک جدول آزمایشی با داده های ساختگی ایجاد کنید و محتوای آن را از یک اسکریپت PHP درخواست کنید.

قبل از انجام این کار، باید یک پایگاه داده آزمایشی و یک کاربر MySQL جدید که به درستی برای دسترسی به آن پیکربندی شده است ایجاد کنیم.

ما یک پایگاه داده با نام example_database و یک کاربر با نام example_user ایجاد خواهیم کرد، اما شما می توانید این نام ها را با مقادیر مختلف جایگزین کنید.

ابتدا با استفاده از اکانت root به کنسول MySQL متصل شوید:

sudo mysql

برای ایجاد یک پایگاه داده جدید، دستور زیر را در کنسول MySQL خود اجرا کنید:

CREATE DATABASE example_database;

 

اکنون می توانید یک کاربر جدید بسازید و در پایگاه داده سفارشی که به تازگی ایجاد کرده اید، به آن امتیازات کامل را بدهید.

دستور زیر یک کاربر جدید به نام example_user با استفاده ازروش احراز هویت پیش فرض mysql_native_password ایجاد می کند.

ما رمز عبور این کاربر را به عنوان نمونه password تعریف می کنیم، اما شما باید این مقدار را با یک رمز عبور امن به انتخاب خود جایگزین کنید.

CREATE USER 'example_user'@'%' IDENTIFIED WITH mysql_native_password BY 'password';

حالا باید به این کاربر اجازه دسترسی به پایگاه داده  example_database را بدهیم:

GRANT ALL ON example_database.* TO 'example_user'@'%';

این به کاربر example_user امتیازات کاملی نسبت به پایگاه داده example_database می دهد ، در حالی که از ایجاد یا تغییر سایر پایگاه های داده در سرور شما توسط این کاربر جلوگیری می کند.

اکنون از پوسته MySQL خارج شوید:

exit

می‌توانید با ورود مجدد به کنسول MySQL، این بار با استفاده از اعتبار کاربری سفارشی، آزمایش کنید که آیا کاربر جدید مجوزهای مناسب را دارد یا خیر:

mysql -u example_user -p

به علامت p- موجود در این دستور توجه کنید ، که از شما می خواهد پسوردی را که هنگام ایجاد کاربر example_user استفاده کرده اید، را وارد کنید.

پس از ورود به کنسول MySQL، بررسی کنید که به پایگاه داده example_database دسترسی دارید :

SHOW DATABASES;

این خروجی زیر را به شما نشان می دهد:

Output
+--------------------+
| Database |
+--------------------+
| example_database |
| information_schema |
+--------------------+
2 rows in set (0.000 sec)

در مرحله بعد، یک جدول آزمایشی با نام todo_list ایجاد می کنیم . از کنسول MySQL دستور زیر را اجرا کنید:

CREATE TABLE example_database.todo_list (
item_id INT AUTO_INCREMENT,
content VARCHAR(255),
PRIMARY KEY(item_id)
);

 

ممکن است بخواهید چند ردیف از این مطالب را در جدول تست درج کنید برای این کار دستور بعدی را چند بار با استفاده از مقادیر مختلف تکرار کنید:

INSERT INTO example_database.todo_list (content) VALUES ("My first important item");

 

برای تأیید اینکه داده ها با موفقیت در جدول شما ذخیره شده است،دستور زیر را اجرا کنید:

SELECT * FROM example_database.todo_list;

خروجی زیر را خواهید دید:

Output
+---------+--------------------------+
| item_id | content |
+---------+--------------------------+
| 1 | My first important item |
| 2 | My second important item |
| 3 | My third important item |
| 4 | and this one more thing |
+---------+--------------------------+
4 rows in set (0.000 sec)

پس از تأیید اینکه داده های معتبری در جدول آزمایشی خود دارید، می توانید از کنسول MySQL خارج شوید:

exit

اکنون می توانید یک اسکریپت PHP ایجاد کنید که به MySQL متصل می شود و محتوای شما از طریق کوئری ها بررسی می کند.

یک فایل PHP جدید در ریشه اصلی وب سایت خود با استفاده از ویرایشگر متن دلخواه خود ایجاد کنید. مادر اینجا از ویرایشگر متن nano برای این کار استفاده خواهیم کرد:

nano /var/www/your_domain/todo_list.php

اسکریپت PHP زیر به پایگاه داده MySQL متصل می شود و محتوای جدول todo_list را جستجو می کند و نتایج را در یک لیست به شما نمایش می دهد.

اگر مشکلی در اتصال پایگاه داده وجود داشته باشد، یک خطا ایجاد می کند. این کد هارا در اسکریپتtodo_list.php خود کپی کنید :

<?php
$user = "example_user";
$password = "password";
$database = "example_database";
$table = "todo_list";

try {
$db = new PDO("mysql:host=localhost;dbname=$database", $user, $password);
echo "<h2>TODO</h2><ol>"; 
foreach($db->query("SELECT content FROM $table") as $row) {
echo "<li>" . $row['content'] . "</li>";
}
echo "</ol>";
} catch (PDOException $e) {
print "Error!: " . $e->getMessage() . "<br/>";
die();
}

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

اکنون می توانید با مراجعه به نام دامنه یا آدرس IP عمومی پیکربندی شده برای وب سایت خود و به دنبال آن  todo_list.php/ به این صفحه در مرورگر وب خود دسترسی پیدا کنید:

شما باید صفحه ای مانند این را ببینید که محتوایی را که در جدول آزمایشی خود درج کرده اید نشان می دهد:

اسکریپت تست

این بدان معناست که محیط PHP شما آماده اتصال و تعامل با سرور MySQL شما است.

نتیجه

در این راهنما، ما با استفاده از Nginx به عنوان وب سرور و MySQL به عنوان سیستم پایگاه داده، بسته ای انعطاف پذیر را برای ارائه وب سایت ها و برنامه های کاربردی به زبان PHP به بازدیدکنندگان شما ایجاد کرده ایم.

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

نیاز به راهنمایی بیشتر دارید؟
عجله دارید؟ 02156218439
رایگان آموزش ببین - آموزش کار با سرویس های هایو
آموزش های ویژه

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

نشانی ایمیل شما منتشر نخواهد شد.

درخواست مشاوره رایگان
عجله دارید؟ ۰۲۱۵۶۲۱۸۴۳۹
درخواست انتقال رایگان
عجله دارید؟ ۰۲۱۵۶۲۱۸۴۳۹