آموزش ها-هاست نگار

نحوه نصب پشته LEMP در اوبونتو 22.04 (پارت 2)

در ادامه مقاله نحوه نصب پشته LEMP در ابونتو 22.04 داریم.....
مرحله 4 - پیکربندی Nginx برای استفاده از پردازنده PHP
هنگام استفاده از وب سرور Nginx، می‌توانیم بلوک‌های سرور را (مشابه سرور مجازی در آپاچی) برای کپسوله کردن جزئیات کانفیگ و میزبانی بیش از یک دامنه روی یک سرور واحد ایجاد کنیم. در این راهنما، ما از your_domain به عنوان یک نام دامنه استفاده خواهیم کرد.
 
در اوبونتو 22.04، Nginx دارای یک بلوک سرور است که به طور پیش‌فرض فعال است و به گونه‌ای پیکربندی شده است که اسناد را خارج از یک دایرکتوری در /var/www/html ارائه دهد. در حالی که این کار برای یک سایت جواب میدهد، اما اگر قرار است چندین سایت را میزبانی کنید، مدیریت آن ممکن است دشوار شود. به‌جای تغییر /var/www/html، یک ساختار دایرکتوری در /var/www برای وب‌سایت your_domain ایجاد می‌کنیم و در صورت عدم درخواست مشتری، /var/www/html را به عنوان دایرکتوری پیش‌فرض باقی می‌گذاریم تا ارائه شود. و با هر سایت دیگری مطابقت داشته باشد.
 
دایرکتوری وب روت برای your_domain به صورت زیر ایجاد کنید:
sudo mkdir /var/www/your_domain
سپس، مالکیت دایرکتوری را با متغیر محیطی $USER اختصاص دهید، که به کاربر فعلی سیستم شما ارجاع خواهد داد:
sudo chown -R $USER:$USER /var/www/your_domain
سپس، با استفاده از ویرایشگر خط فرمان دلخواه خود، یک فایل پیکربندی جدید را در دایرکتوری sites-available Nginx باز کنید. در اینجا از نانو استفاده خواهیم کرد:
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/php8.1-fpm.sock
{
 } location ~ /\.ht 
;deny all
{
{
 
در اینجا هر یک از این دستورالعمل ها و بلوک های مکان کارهای زیر را انجام میدهند:
  • listen : تعریف می کند که Nginx به چه پورتی گوش می دهد. در این صورت، در پورت 80، پورت پیش فرض HTTP، گوش می دهد.
  • root : ریشه سند را تعیین می کند که در آن فایل های ارائه شده توسط این وب سایت ذخیره می شوند.
  • index : تعیین می کند که Nginx به چه ترتیبی فایل های ایندکس را برای این وب سایت اولویت بندی می کند.
  • server_name : تعیین می‌کند که این بلوک سرور باید به کدام نام‌های دامنه و/یا آدرس‌های IP پاسخ دهد. این دستورالعمل را به نام دامنه یا آدرس IP عمومی سرور خود هدایت کنید.
  • location / : اولین بلوک مکان شامل یک دستورالعمل try_files است که وجود فایل ها یا دایرکتوری هایی را که با یک درخواست URL مطابقت دارند بررسی می کند. اگر Nginx نتواند منبع مناسب را پیدا کند، خطای 404 را برمی‌گرداند.
  • location ~ \.php$ : این بلوک مکان پردازش واقعی PHP را با اشاره Nginx به فایل پیکربندی fastcgi-php.conf و فایل php8.1-fpm.sock انجام می دهد، که مشخص می کند چه سوکتی با php8.1-fpm مرتبط است. .
  • location ~ /\.ht : آخرین بلوک مکان با فایل‌های htaccess. سروکار دارد که Nginx آن‌ها را پردازش نمی‌کند. با افزودن دستور deny all، اگر هر فایل .htaccess به روت راه پیدا کند، به بازدیدکنندگان ارائه نخواهد شد.
پس از اتمام ویرایش، فایل را ذخیره کرده و ببندید. اگر از نانو استفاده می کنید، می توانید این کار را با فشار دادن CTRL+X و سپس Y و ENTER برای تایید انجام دهید. پیکربندی خود را با لینک کردن به فایل پیکربندی از دایرکتوری فعال سایت های Nginx فعال کنید:
/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_domain هنوز خالی است. یک فایل index.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 در فایل پیکربندی بلوک سرور فهرست شده است، دسترسی پیدا کنید:
صفحه ای مانند زیر دریافت خواهید کرد:
 
 
اگر این صفحه را دریافت کردید، به این معنی است که بلوک سرور Nginx شما همانطور که انتظار می رود کار می کند.
پشته LEMP شما اکنون به طور کامل پیکربندی شده است. در مرحله بعد، یک اسکریپت PHP ایجاد می‌کنید تا آزمایش کنید که Nginx در واقع قادر به مدیریت فایل‌های .php در وب‌سایت تازه پیکربندی شده شما است.
 
مرحله 5 - تست PHP با Nginx
پشته LEMP شما اکنون باید به طور کامل تنظیم شود. می‌توانید آن را آزمایش کنید تا تأیید کنید که Nginx می‌تواند به درستی فایل‌های php. را به پردازنده PHP شما تحویل دهد.
می توانید این کار را با ایجاد یک فایل PHP آزمایشی در روت خود انجام دهید. یک فایل جدید به نام info.php را در ریشه سند خود در ویرایشگر متن دلخواه خود باز کنید:
nano /var/www/your_domain/info.php
خطوط زیر را به فایل جدید اضافه کنید. این کد PHP، اطلاعات مربوط به سرور شما را برمی گرداند:
 
php?>
;()phpinfo
 
وقتی کارتان تمام شد، فایل را ذخیره و ببندید.
اکنون می توانید با مراجعه به نام دامنه یا آدرس IP عمومی که در فایل پیکربندی Nginx خود تنظیم کرده اید و به دنبال آن /info.php به یک صفحه وب حاوی اطلاعات دقیق در مورد سرور خود دریافت خواهید کرد:
 
 
پس از بررسی اطلاعات مربوط به سرور PHP خود از طریق آن صفحه، بهتر است فایلی را که ایجاد کرده اید حذف کنید زیرا حاوی اطلاعات حساس در مورد محیط PHP و سرور اوبونتو شما است. برای حذف آن فایل می توانید از rm استفاده کنید:
sudo rm /var/www/your_domain/info.php
اگر بعداً به آن نیاز داشتید، همیشه می‌توانید این فایل را دوباره تولید کنید.
در این آموزش، شما با استفاده از Nginx به عنوان وب سرور و MySQL به عنوان سیستم پایگاه داده، پایه ای انعطاف پذیر برای ارائه وب سایت ها و برنامه های کاربردی PHP به بازدیدکنندگان خود ایجاد کرده اید. امیدواریم این مقاله آموزشی برای شما مفید بوده باشد، برای دیدن باقی آموزش ها میتوانید وارد منوی پشتیبانی بخش آموزش ها شوید، در صورتی که درباره این آموزش به مشکل یا سوالی برخورد کردید، میتوانید آن را در بخش دیدگاه بیان کنید.

 

نوشتن دیدگاه


تصویر امنیتی
تصویر امنیتی جدید

خرید هاست

 

آموزش های مرتبط