وب سایت عباس باقری

وب سایت شخصی عباس باقریوب سایت شخصی عباس باقری

راه اندازه وب سرور nginx و php روی لینوکس ابونتو 22.04

راه اندازه وب سرور nginx و php روی لینوکس ابونتو 22.04

زمان مطالعه : 3 دقیقه

در این پست یک وب سرور با استفاده از php و nginx روی سیستم عامل ابونتو 22.04 راه اندازی کردیم و وب سایت خود را روی آن آپلود کردیم

ابتدا باید دستورات update و upgrade را در ترمینال اجرا کرد. ما برای راه اندازی وب سرور از ابونتو 22.04 استفاده کردیم.

1. نصب وب سرور

ما میتوانیم از وب سرورهای مختلفی همچون آپاچی، nginx و ... استفاده کنیم. ما nginx را انتخاب کردیم. برای نصب nginx کافیست دستورات زیر را در ترمینال وارد کنیم.

اکنون با وارد کردن ip سرور خود در مرورگر باید صفحه زیر به شما نمایش داده شود.

راه اندازی nginx در ابونتو

البته حالتی هم جود دارد که فایروال مجوز دسترسی nginx به بیرون را ندهد. برای حل این موضوع باید فایروال را تنظیم کنید.

2. تنظیم فایروال

ابتدا فایروال را فعال میکنیم.

فعال کردن فایروال در ابونتو

ممکن است بعد از فعال کردن فایروال نتوانیم از طریق ip صفحه apache را مشاهده کنیم.

توجه کنید: ممکن است بعد از وارد کردن این دستور ارتباط ssh شما با سرور قطع شود. یا در دفعات بعد نتوانید با putty به سرور متصل شوید. برای این امر در ترمینال دستور زیر را وارد کنید .

برای دسترسی nginx به بیرون از سرور ممکن است نیازمند باز کردن پورت توسط فایروال باشیم. برای مشاهده لیست برنامه هایی که نیازمند مجوز فایروال هستند دستور زیر را وارد میکنیم.

قاعدتا باید با چنین لیستی روبرو شویم.

لیست برنامه های منتظر تایید فایروال در ابونتو

با دستور زیر به nginx روی پورت 80 مجوز دسترسی میدهیم.

فعال کردن nginx روی فایروال

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

3. nginx در سرویسهای ابونتو

برای غیر فعال کردن nginx روی سرور از دستور زیر استفاده میکنیم.

همچنین برای فعال کردن nginx از دستور زیر استفاده میکنیم.

برای ری استارت یا راه اندازی مجدد nginx هم از دستور زیر استفاده میکنیم.

4. نصب php روی سرور

ابتدا php-fpm را نصب میکنیم.

باید مقدار cgi.fix_pathinfo را در فایل php.ini پیدا کنیم. دقت کنید که در حال حاضر نسخه 8.1 پی اچ پی روی سرور من نصب شده است.

cgi.fix_pathinfo را در این فایل پیدا میکنیم. با حذف علامت ; قبل از آن از حالت کامنت خارج میکنیم. همیچین مقدار آنرا برابر با 1 قرار میدهیم.

cgi.fix_pathinfo

سپس php-fpm را ریاستارت مجدد میکنیم.

5. فعال کردن php روی nginx

وارد پوشه /var/www/html میشویم.

فایل index.nginx-debian.html را با index.php جایگزین میکنیم.

فایل index.php :

اکنون اگر دامنه یا ip سرور خود را در مرورگر وارد کنیم با تصویر زیر روبرو میشویم.

صفحه 403 nginx

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

در این فایل index.php را به لیست index ها اضافه میکنیم.

اضافه کردن index.php به index در nginx

همچنین در این فایل باید قیسمت های زیر را از حالت کامنت خارج کنیم. همچنین دقت کنید نسخه php هم درست تنظیم شود. 7.4 پیشفرض را من به 8.1 تغییر دادم.

فعالسازی php در nginx
فعالسازی php در nginx

سپس دستور زیر را در ترمینال وارد کنید تا تغییرات اعمال شود.

میتوانیم محتوای و فایلهای سایت خود را در پوشه /var/www/html قرار دهیم. و آنرا در اینترنت روی مرورگر مشاهده کنیم.

6. نصب mysql

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

بعد از نصب mysql نیاز به تعیین یک رمز عبور برای کاربر root داریم که از دستورات زیر استفاده میکنیم.

رمز عبور خود را بجای mynewpassword قرار دهید که باید شامل حروف بزرگ و کوچک ، اعداد و کاراکترهایی مثل @ باشد.

برای اتصال به دیتابیس mysql در php پکیج php-mysql را نصب میکنیم.

راه اندازی وب سرور آپاچی، php ، mysql روی ابونتو