آموزش نصب وردپرس روی سرور مجازی با اوبونتو Ubuntu 20.04 – ارتباطات فرهنگ آزما
سرور مجازی چیست؟
سرور مجازی یا وی پی اس بصورت VPS مخفف عبارت Virtual Private Server به معنی سرور مجازی خصوصی است. سرور مجازی بخشی از یک سرور اختصاصی کامل است که با مجازی سازی به قسمت های کوچکتری با نام VPS تقسیم می شود .با توجه به اینکه منابع یک سرور کامل به چند بخش تقسیم می شود، اغلب و در شرایط یکسان، هزینه خرید سرور مجازی نسبت به سرور اختصاصی پایین تر است.
سیستم عامل Linux چیست و چرا از UBUNTU می خواهیم استفاده کنیم؟
لینوکس هم همچون سیستم عامل هایی مثل ویندوز ۱۰، ویندوز ایکس پی و غیره، یک سیستم عامل است و سیستم عامل هم به نرم افزاری گفته می شود که ارتباط مابین سخت افزار سیستم شما و نرم افزارهایی که مورد استفاده قرار می دهید را برقرار می سازد بدون استفاده از سیستم عامل که به صورت خلاصه OS نامیده می شود، نه از سخت افزار و نه از نرم افزارهای خود نمی توانید استفاده کنید. بدلیل سرعت ، امنیت ، انعطاف پذیری بالا و مصرف پایین منابع ما از سیستم عامل لینوکس بر روی سرور استفاده می کنیم.
نسخه های ( توزیع های ) گوناگونی از لینوکس وجود دارد. برای سرورها محبوب ترین ها Ubuntu، Debian و CentOS هستند. دلایلی وجود دارند که اوبونتو را بعنوان یکی از نسخه های محبوب لینوکس معرفی کرده است:
- تمرکز بر سادگی زیاد
- رنج وسیعی از پکیج ها
- آپدیت نرم افزاری مرتب
- جامعه بزرگی از کاربران که باعث ایجاد منابع ارزشمندی شده است
آپدیت نرم افزاری مکرر می تواند مانعی برای معرفی باگ های گوناگون و تداخل پکیج ها باشد. اما اوبونتو دارای پشتیبانی بلند مدت ( long Term Support Release – LTS ) است که پکیج هایی را که پایداری بیشتری دارند را بکار می برد . انتشار LTS هر ۲ سال اتفاق می افتد و برای ۵ سال هم پشتیبانی می شود و لذا آن را برای استفاده در سرور بهتر می کند. نصب وردپرس روی سرور مجازی با استفاده از اوبونتو انتخاب مناسبی می باشد.
وب سرور چیست و چرا از وب سرور NGINX می خواهیم استفاده کنیم؟
به زبان ساده، یک web server وظیفه ی ذخیره سازی و ارسال محتوای یک وب سایت را به کلاینتی که آنرا درخواست کرده دارد. محتوای درخواست شده می تواند متن، عکس و فیلم و یا حتی اطلاعات یک اپلیکیشن باشد. رایج ترین نوع کلاینت نیز مرورگرها هستند. زمانی که سایت را بارگذاری می کنید یا روی لینک دانلود کلیک کرده و فایلی را دانلود می کنید، عملا مرورگر در حال ارسال درخواست شما به وب سرور آن وب سایت است.
NGINX Nوب سروری با حجم کم و کارایی بسیار بالا است که بهترین امتیاز این وب سرور در پشتیبانی فایل های استاتیک است. این وب سرور مصرف رم بسیار پایین و سرعت پاسخگویی بسیار بالا به درخواست ها را دارا میباشد. از این وب سرویس بیشتر برای سیستمهای لود بالانس استفاده میشود. از جمله قابلیت های Nginx سازگاری این وب سرور با اکثرتوزیع های ( نسخه های) لینوکس هست.
به زبان ساده Nginx یک وب سرور است که باعث می شود سرعت سایت شما دو برابر شده و مصرف پهنای باند به ۳/۱ کاهش یابد.
دیتابیس یا پایگاه داده چیست و چرا از MariaDB استفاده خواهیم کرد؟
پایگاه داده یا Database اطلاعات و دادههای ما را درون جدول ها قرار میدهد. این جداول، نگهداری اطلاعات را برای ما بسیار ساده و منظم میکنند و یکپارچگی بسیار خوبی به آنها میدهند. برای مثال میتوان به یک دفترچه تلفن که با نظم خاصی نوشته شده است و دارای سطر و ستون هایی یکپارچه می باشد، یک دیتابیس گفت.
پایگاه داده MariaDB با داشتن امکانات و ویژگیهای خوبی مانند:
- موتورهای ذخیره سازی قوی
- جامعه بزرگ
- امنیت بالای پایگاه داده
و رایگان بودن توانسته به یکی از محبوبترین پایگاه داده ها در بین طراحان وب تبدیل شود.
نرم افزار Putty چیست؟
Putty یک نرم افزار برای ارتباط با سرور لینوکس است. با استفاده از این نرم افزار شما می توانید به سرور لینوکسی خود دسترسی داشته باشید. این نرم افزار از پروتکل های Telnet و Rlogin نیز پشتیبانی می کند. شما برای اینکه به سرور لینوکس خود متصل شوید باید این نرم افزار را دانلود و نصب کنید.
کش Redis چیست؟
به زبان ساده پایگاه داده Redis Caching یک پایگاه داده در داخل حافظه سرور می باشد. لذا به راحتی می توانیم از آن برای ذخیره اطلاعات یا کش استفاده کنیم. استفاده از پایگاه داده Redis Caching روش مناسبی برای کش کردن در وردپرس و یا دیگر برنامه های پشتیبانی شده توسط این پایگاه داده می باشد.
سیستم مدیریت محتوا چیست و چرا از نصب وردپرس روی سرور مجازی استفاده می کنیم؟
سیستم مدیریت محتوا یا CMS) Content Management System) که از اسمش پیداست؛ همان سیستمی است که با کمک آن محتوای وبسایتتان را مدیریت میکنید. یعنی چه؟ فرض کنیم که یک سایت یا فروشگاه اینترنتی دارید. محتوای وبسایت شما شامل چه چیزهایی است؟ دوست دارید چه چیزهایی در سایتتان قرار دهید؟ عکس، متن، ویدئو، موسیقی؟ خب محتوای وبسایت شما هر چه که باشد سیستم مدیریت محتوا به شما کمک میکند، که به سادگی آب خوردن و بدون داشتن دانش برنامهنویسی و نوشتن صدها خط کد مختلف، بتوانید آن را مدیریت کنید.
از دلایلی که نصب وردپرس روی سرور مجازی تا این حد مورد توجه ما قرار گرفته، میتوان به کمحجم بودن، رایگان بودن، داشتن پلاگینهای مختلف و بهینه بودن آن برای موتورهای جستجو اشاره کرد. اگر هدف شما از ساختن سایت، فروشگاه، نوشتن مطالب مختلف، بلاگری و ایجاد وبسایت خبری است، وردپرس میتواند بهترین گزینه باشد.
برخی سوالاتی که احتمالا برایتان پیش آمده:
کش سایت چیست و چرا کش کردن سایت برای ما بسیار مهم است؟
کش سایت یک مکان برای ذخیره سازی موقت اطلاعات سایت، به صورت صفحات استاتیک۱ است .به کش وب سایت ها Http Cache نیز می گویند .کش سایت باعث می شود سرعت بارگذاری سایت بالا رود زیرا در محل ذخیره سازی اطلاعات ، عکس ها و صفحات HTML ذخیره می گردند بدین ترتیب میزان درخواست اطلاعات به سرور کاهش میابد که این امر روی سرعت سایت تاثیر زیادی دارد.
مدیران وبسایت ها عموما از اینکه سایتشان کند است شکایت دارند که البته این موضوع دلایل زیادی می تواند داشته باشد از هاست اشتراکی گرفته تا تنظیمات و نوع کاربری وب سایتشان، اما بزرگترین دلیل کش است. با فعال بودن کش صفحات، شما عملا وبسایت وردپرسی خودتان را به سایت استاتیک تبدیل می کنید.
و اگر شما با یک سایت استاتیک آشنا بوده باشید مطمئنا تفاوت سرعت یک سایت استاتیک را می دانید .حالا اگر شما کش صفحات را در فرانت وردپرس قرار دهید سایت همانند یک سایت استاتیک اجرا خواهد شد و شما منافع زیادتری از وردپرس خواهید برد و پلاگین های شما در بک اند تنها برای ویژگی های داینامیک زمانی که به آنها نیاز دارید در دسترس خواهند بود .و ما در این آموزش از وب سرور NGINX برای کش استفاده می کنیم.
چرا از وب سرور Apache استفاده نکنیم؟
اگر شما Apache در مقابل Nginx را جستجو کنید معیار های محکمی برای برتری Nginx نسبت به آپاچی برای انجام دادن فایل های استاتیک پیدا خواهید کرد. Nginx برای فایهای استاتیک بسیار مناسب تر است که این بزرگترین مزیت محسوب می شود.
البته بسیاری افراد هر دوی Nginx و Apache2 را با mod_php نصب می کنند. وقتی درخواستی می آید همیشه ابتدا با Nginx بررسی می شود، اگر درخواست برای فایل استاتیک است ، Nginx آن را اجرا خواهد کرد و آپاچی نیاز نخواهد بود اگر درخواست برای یک صفحه PHP بود NGINX در خواست را به Apache ارسال می کند. mod_php آپاچی آن را پردازش کرده و پاسخی را به Nginx بر می گرداند و نهایتا Nginx آن را انجام می دهد.
در این سناریو واقعا آپاچی بعنوان یک پردازنده PHP بکار می رود. اما PHP همراه با یک مدیر فرآیند بنام FastCGI که PHP-FPM نامیده می شود همراه است، که می تواند مستقیما توسط Nginx بکار رود. فرآیند با PHP-FPM دقیقا همانند آن است لذا ما متوجه شدیم که پیکربندی با PHP-FPM بسیار ساده تر از Apache + mod_php است. همچنین PHP-FPM بسیار سبک تر بوده و منابع کمتری استفاده می کند. ضمنا PHP-FPM همراه با پکیج PHP بود و دیگر نیازی به نصب پکیج های نرم افزاری دیگر و بروز رسانی آنها نیست.
