NGINX ، PHP-FPM و MariaDB را روی Debian 8 تنظیم کنید

این راهنما نحوه نصب و پیکربندی صحیح یک پشته LAMP "جایگزین" در Debian 8 را با استفاده از NGINX ، PHP Fast Process Manager و MariaDB به شما نشان می دهد.

NGINX

NGINX یک "پروکسی معکوس اول ، سرور وب دوم" است. این یک جایگزین محبوب و رو به رشد برای آپاچی است و در بسیاری از موارد انعطاف پذیری و عملکرد بهتری را ارائه می دهد. در این آموزش ، ما به عنوان سرور وب خود از آن استفاده خواهیم کرد.

مشتری SSH مورد علاقه خود را آتش بزنید و به سرور خود وارد شوید. برای کاربران ویندوز ، "PuTTY" یک مشتری SSH رایگان و سبک وزن است. کاربران لینوکس و مک می توانند از ترمینال موجود در سیستم عامل خود به صورت پیش فرض استفاده کنند. برای این آموزش فرض خواهیم کرد که شما به عنوان کاربر "root" به سرور خود وارد شده اید.

برای مبتدیان ، فقط مطمئن شوید که همه چیز به روز است. موارد زیر را برای بررسی و سپس به روزرسانی ها تایپ کنید.

apt-get update && apt-get upgrade

ما فایلهای پیکربندی خود را به صورت vim ویرایش می کنیم. Vim بصورت پیش فرض نصب نشده است ، بنابراین بیایید آن را نصب کنیم!

apt-get install vim

اکنون زمان نصب NGINX است. می خواهیم آخرین نسخه NGINX را از مخزن رسمی NGINX Debian نصب کنیم.

wget http://nginx.org/keys/nginx_signing.key
apt-key add nginx_signing.key
echo 'deb http://nginx.org/packages/debian/ jessie nginx' >> /etc/apt/sources.list
echo 'deb-src http://nginx.org/packages/debian/ jessie nginx' >> /etc/apt/sources.list
apt-get update && apt-get install nginx

در حال حاضر ما باید برخی از پیکربندی NGINX را تغییر دهیم. به فهرست تنظیمات بروید.

cd /etc/nginx

یک درس سریع vim

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

بیایید ما را باز کنیم nginx.confو به اطراف بپردازیم :

vi nginx.conf

بیایید کاربر پیش فرض را تغییر دهیم ، تعداد مراحل کارگر را بررسی کنیم و ورود به سیستم را خاموش کنیم.

دستورالعملهای "کاربر" و "working_processes" نزدیک به بالا هستند. مقادیر زیر را امتحان کنید:

توجه داشته باشید که می خواهید "working_processes" را بر روی تعداد هسته های CPU موجود در سرور خود تنظیم کنید. در این مثال 1 داریم که پیش فرض NGINX است.

user www-data;
worker_processes 1;

ما همچنین به دلیل بهبود عملکرد I / O می خواهیم ورود به سیستم را غیرفعال کنیم. با کلیدهای پیکان به سمت پایین حرکت کنید تا زمانی که "access_log" پیدا کنید. آن را به شرح زیر اصلاح کنید:

access_log off;

و در آخر ، ما "client_max_body_size" را تنظیم می کنیم تا بعداً با تغییرات ایجاد شده در PHP مطابقت داشته باشد. بیایید مشکل را نجات دهیم و اکنون این کار را انجام دهیم. درست زیر "access_log" اضافه کنید:

client_max_body_size 12m;

وقتی ویرایش را تمام کردید ، "Esc" را روی صفحه کلید خود فشار دهید. Vim دیگر نمی خواهد "INSERT" را به انتهای پرونده بگوید.

برای ذخیره تغییرات و ترک vim ، دنباله کلید زیر را فشار دهید:

SHIFT :(colon)
wq
Press "Enter"

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

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

cd conf.d
rm example_ssl.conf default.conf
vi my_site.conf

ما یک پیوند کوتاه و ساده www.confرا با محوریت تنظیمات پیش فرض NGINX ، اما با چند ترفند درست می کنیم. درج را فشار دهید و می توانید مثال زیر را کپی / چسباندن کنید.

فراموش نکنید که دستورالعمل "root" را برای اشاره به فهرست اصلی وب سایت خود ، و "server_name" ویرایش کنید تا با دامنه خود مطابقت داشته باشید.

server {
    listen 80;

    root /path/to/your/website;
    index index.php index.html index.htm;

    server_name mydomainname.com www.mydomainname.com;

    location / {
            try_files $uri $uri/ /index.php;
    }

    location ~ \.php$ {
            try_files $uri =404;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include fastcgi_params;
            fastcgi_pass unix:/var/run/php5-fpm.sock;
    }
}

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

PHP-FPM

PHP-FPM مدیر فرآیند سریع PHP است. هنگام استفاده از NGINX لازم است ، زیرا برخلاف Apache ، NGINX PHP را به عنوان ماژول اجرا نمی کند. این ک��ر برای کاهش جای جای حافظه NGINX انجام شد. آن بخش را در مورد NGINX به عنوان یک پروکسی معکوس قبل از هر چیز به یاد داشته باشید؟ اینجا جایی است که بازی می شود. درخواست های PHP ارسال شده به NGINX به PHP-FPM تحویل داده می شوند تا بالابری را انجام دهند.

بیایید PHP-FPM را نصب کنیم.

apt-get install php5-fpm php5-mysqlnd

توجه داشته باشید که بسته به آنچه به اسکریپت های PHP شما نیاز دارند ، ممکن است مجبور شوید سایر ماژول های PHP را که به طور پیش فرض در آن گنجانده نشده است ، نصب کنید. محبوب ترین ها هستند php5-gdو php5-mcrypt. با دستور زیر می توانید این موارد را نصب کنید.

apt-get install php5-module_name_here

اکنون که PHP-FPM را نصب کردیم ، می خواهیم برای تقویت امنیت و کارایی ، چندین ویرایش سریع انجام دهیم.

cd /etc/php5/fpm
vi php.ini

زمان برای یک درس سریع vim دیگر! php.iniفایل کاملا بزرگ است. به دنبال چند مقدار کلیدی تمام روز طول می کشد. بنابراین از آنجا که می دانیم به دنبال چه چیزی هستیم ، جستجو خواهیم کرد. موارد زیر را تایپ کنید:

/upload_max_filesize

این ، به طور پیش فرض ، روی 2 مگابایت تنظیم شده است. اگر می خواهید به کاربران امکان بارگذاری پرونده ها در برنامه های PHP بیشتر از 2 مگابایت را بدهید ، باید تغییر دهید. 10M احتمالاً در حال حاضر شرط بندی ایمن است ، اما مقادیر بالاتر نیز قابل قبول است. این تنظیم بین تنظیمات متفاوت خواهد بود. به خاطر آموزش:

upload_max_filesize = 10M

یک نقص امنیتی دیگر. کمی بیشتر به پایین بروید یا جستجو کنید. ما باید "اجازه_ورل_فوپن" را به "خاموش" تبدیل کنیم. این مانع از اجرای PHP فایل های PHP که به صورت REMOTELY می شوند ، در غیر این صورت با عنوان RFI (از راه دور فایل گنجاندن) شناخته می شود. بسیاری از سرورها از این طریق هک می شوند.

allow_url_fopen = Off

و چون "upload_max_filesize" را تغییر دادیم ، اکنون باید "post_max_size" را تغییر دهیم. این مقدار باید کمی بزرگتر از "upload_max_filesize" باشد ، زیرا ما باید سربار مربوط به درخواست های پردازش شده توسط PHP را در نظر بگیریم.

بیایید یکبار دیگر با "/ post_max_size" جستجو کنیم.

post_max_size = 12M

توجه داشته باشید که اگر تصمیم دارید با مقادیر بزرگتر از این مثال ها برای اندازه پرونده های PHP خود بروید ، دوباره به پیکربندی NGINX خود برگردید و "client_max_body_size" را ویرایش کنید.

در حال حاضر در مورد آن است. با فشار دادن "Esc" مطمئن شوید که در حالت ویرایش نیستید. ذخیره و از vim خارج شوید.

SHIFT :(colon)
wq
Press 'Enter'

راه اندازی PHP-FPM کامل است.

MariaDB

حتی در دنیایی که به طور مداوم به سمت NoSQL یا MongoDB حرکت می کند ، برخی از ما هنوز ساده تر دستیابی به MySQL را راحت تر می دانیم. این امر به ویژه در مورد بسیاری از برنامه های وب صادق است. خوشبختانه ، اکنون تعدادی جایگزین "drop-in" برای Oracle MySQL وجود دارد. Debian 8 اکنون شامل MariaDB محبوب و محبوب است. MariaDB یک چنگال از Oracle MySQL است که بر اساس نسخه 5.5 ساخته شده است. MariaDB ، برای همه اهداف و اهداف ، این را MariaDB 10 صدا می کند. این یک جایگزینی کامل برای Oracle MySQL محسوب می شود. از آن به عنوان MySQL با قلب استفاده کنید ، بدون مارک Oracle و برخی از ویژگی های جدید فکر می کنید.

apt-get install mariadb-server

مهم: شما کاملاً مثبت باید یک رمزعبور ریشه ای قوی را برای MariaDB انتخاب کنید. آن را در جایی امن ذخیره کنید. در حین نصب MariaDB باید دوبار وارد کنید.

بیایید پیکربندی MariaDB را کمی تغییر دهیم. ما قصد داریم گوش دادن MariaDB را از طریق رابط شبکه غیرفعال کنیم. در عوض ، مانند PHP-FPM در ابتدا ، ما فقط به سوکت یونیکس می چسبیم. بیشتر برنامه های PHP باید از اتصال به سرور پایگاه داده از طریق سوکت UNIX به جای رابط حلقه محلی پشتیبانی کنند.

cd /etc/mysql
vi my.cnf

به دنبال "bind-address = 127.0.0.1" باشید. کامنت کنید بالا یا پایین آن "شبکه پرش" اضافه کنید.

#bind-address = 127.0.0.1
skip-networking

ما با MariaDB انجام شده ایم! درنهایت ، ممکن است بخواهید پیکربندی MariaDB خود را بسته به اینکه در ابتدا از موتورهای ذخیره سازی MyISAM یا InnoDB استفاده خواهید کرد ، بلکه به تعداد هسته های CPU و رم موجود در سرور خود استفاده کنید. پیش فرض ها در مدت زمان متوسط ​​ما را بلند می کند و کار می کند.

بیایید هر یک از سرویس هایی که پرونده های پیکربندی در این آموزش اصلاح شده اند را دوباره شروع کنیم.

systemctl restart nginx.service
systemctl restart php5-fpm.service
systemctl restart mysql.service

این همان است - همه ما تمام شده ایم. در این مرحله ، شما یک سرور کاملاً کاربردی LNMP (LEMP) آنلاین دارید!

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

زمینه های پیشنهادی برای تحقیق:

  • استفاده و اصلاح کنترل حافظه پنهان NGINX.
  • تنظیمات مدیر وظیفه "static" ، "پویا" یا "ondemand" PHP-FPM.
  • تنظیم عملکرد MariDB برای بهره‌مندی بیشتر از سرور پایگاه داده خود.

یک نظر بگذارید

نحوه نصب Anchor CMS بر روی یک VPS Fedora 26 LAMP

نحوه نصب Anchor CMS بر روی یک VPS Fedora 26 LAMP

با استفاده از یک سیستم متفاوت؟ Anchor CMS یک سیستم مدیریت محتوا (CMS) بسیار ساده و بسیار سبک ، بسیار آزاد و آزاد است.

اشتراک NFS را در Debian تنظیم کنید

اشتراک NFS را در Debian تنظیم کنید

NFS یک سیستم فایل مبتنی بر شبکه است که به رایانه ها اجازه می دهد تا از طریق شبکه رایانه ای به فایلها دسترسی پیدا کنند. این راهنما توضیح می دهد که چگونه می توانید پوشه ها را روی NF قرار دهید

نحوه بروزرسانی CentOS 7 ، Ubuntu 16.04 و Debian 8

نحوه بروزرسانی CentOS 7 ، Ubuntu 16.04 و Debian 8

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

نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04

نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04

LiteCart یک بستر سبد خرید آزاد و منبع باز است که به زبان های PHP ، jQuery و HTML 5 نوشته شده است. این نرم افزار ساده ، سبک و با کاربرد آسان است.

نحوه نصب Matomo Analytics در Fedora 28

نحوه نصب Matomo Analytics در Fedora 28

با استفاده از یک سیستم متفاوت؟ Matomo (سابقا پیویک) یک بستر تحلیلی منبع باز است ، یک جایگزین باز برای Google Analytics. منبع Matomo میزبان o

یک سرور TeamTalk را در لینوکس تنظیم کنید

یک سرور TeamTalk را در لینوکس تنظیم کنید

TeamTalk یک سیستم کنفرانس است که به کاربران امکان می دهد مکالمات صوتی / تصویری با کیفیت بالا ، چت متنی ، انتقال فایل ها و صفحه های به اشتراک بگذارند. من

با استفاده از کلید SSH خود برای ورود به کاربران غیر ریشه استفاده کنید

با استفاده از کلید SSH خود برای ورود به کاربران غیر ریشه استفاده کنید

Vultr یک ویژگی را فراهم می کند که به شما امکان می دهد با ایجاد یک نمونه جدید ، کلیدهای SSH را از قبل نصب کنید. این اجازه می دهد تا به کاربر root دسترسی داشته باشید ، با این حال ، th

نحوه نصب انجمن NodeBB در FreeBSD 12

نحوه نصب انجمن NodeBB در FreeBSD 12

با استفاده از یک سیستم متفاوت؟ NodeBB یک نرم افزار انجمن مبتنی بر Node.js است. از سوکت های وب برای تعامل فوری و اعلامیه های زمان واقعی استفاده می کند. NodeB

نحوه نصب Ranger Terminal File Manager در لینوکس

نحوه نصب Ranger Terminal File Manager در لینوکس

رنجر یک مدیر فایل مبتنی بر خط فرمان است که دارای کلیدهای اتصال VI است. این برنامه یک رابط لعنتی مینیمالیستی و زیبا با نمای سلسله مراتب فهرست ارائه می دهد

نصب و راه اندازی ZNC در اوبونتو

نصب و راه اندازی ZNC در اوبونتو

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