مردان کوچک در حال ارسال php f. شکم در مردان ارسال نقل قول حالت php. چرا شکم بزرگ می شود؟ ارسال برای جذب بازدید کننده

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

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

ارسال به چه معناست؟ من نمی خواهم به شما بگویم که این کلمه از یک زبان خارجی به چه معناست، اما آن را همانطور که خودم می فهمم می نویسم. ارسال، نوشتن پیام، نظرات، و همچنین نظرات کوچک برای آن دسته از افراد و در آن دسته از سایت هایی است که به آن نیاز دارند.

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

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

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

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

خب برمیگردیم پیش گوسفندان...

هر فردی که به اینترنت دسترسی دارد می تواند واقعاً درآمد خوبی کسب کند و این یک افسانه نیست.

به هر حال، برای آن دسته از افرادی که هنوز باور ندارند که می توانید از اینترنت درآمد کسب کنید، خواندن مقالات من را توصیه می کنم:

این همه، خداحافظ همه، شما را در مقالات بعدی من می بینم.

خالصانه، یوری واتسنکو!

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

CPU: 1 x 2 گیگاهرتز
هارد دیسک: 10 گیگابایت
رم: 512 مگابایت
سیستم عامل: Debian 8 x64

نمودار عملکرد سیستم به شرح زیر است:

شرح عملیات مدار

برای بازدیدکنندگان سایت، تغییر مسیر به HTTPS رخ می دهد، جایی که nginx به عنوان یک پروکسی برای Varnish کار می کند، و در خروجی nginx، علاوه بر پیاده سازی اتصال HTTPS، فشرده سازی gzip داده های ارسال شده به کاربر رخ می دهد. عنصر بعدی در این سیستم شتاب دهنده Varnish HTTP است که به اتصالات در پورت 6081 گوش می دهد. هنگام دریافت درخواست از یک کلاینت، URL درخواستی را در حافظه پنهان جستجو می کند و اگر پیدا شد، بلافاصله آن را به فرانت اند ارسال می کند. بنابراین، اگر فایل درخواستی در حافظه پنهان باشد، سرعت درخواست صفحه به سرعت درخواست داده استاتیک کاهش می یابد. اگر فایل درخواستی در حافظه پنهان یافت نشد، Varnish درخواست را به Backend ارسال می کند. Varnish همچنین بهینه‌سازی سمت کلاینت را پیاده‌سازی می‌کند - در اینجا سرصفحه‌های Cache-Control و Expires برای داده‌های ثابت تنظیم شده‌اند، که به مرورگر نشان می‌دهد که این داده‌ها را در سمت کلاینت ذخیره می‌کند. این باعث کاهش زمان بارگذاری سایت و کاهش بار روی سرور می شود.

Backend دوباره nginx است و منتظر اتصالات در 127.0.0.1:81 است. تفسیر PHP با استفاده از FPM پیاده سازی می شود. نسخه PHP 5.6 با شتاب دهنده OPcache به طور پیش فرض فعال است. به عنوان یک DBMS - MariaDB 10، که یکی از بهترین DBMS های عملکرد و حافظه مصرفی در بین فورک های MySQL است. MyISAM به عنوان موتور جدول استفاده می شود، زیرا نوشتن به ندرت انجام می شود، بیشتر خواندن، که این موتور برای آن بهینه تر است. با غیرفعال کردن موتور InnoDB، RAM ذخیره می شود. در نهایت، وردپرس با نصب افزونه Varnish HTTP Purge به عنوان یک CMS عمل می‌کند و درخواست‌های PURGE را به آدرس‌های صفحاتی که تغییرات روی آن‌ها ایجاد شده ارسال می‌کند که منجر به پاک کردن کش Varnish برای این صفحات می‌شود. بنابراین کاربر همیشه نسخه به روز سایت را دریافت می کند. در ادامه در مورد نصب و پیکربندی این کامپوننت ها و همچنین مشکلاتی که با آن مواجه شدم به تفصیل صحبت خواهم کرد.

نصب و پیکربندی nginx

نصب:

Apt-get nginx را نصب کنید
محتویات پیکربندی اصلی /etc/nginx/nginx.conf:

# کاربر و گروهی که از طرف آنها فرآیند راه اندازی می شود کاربر www-data www-data. # توصیه می شود تعداد کارگران در نسخه های جدید را روی auto worker_processes auto تنظیم کنید. error_log /var/log/nginx/error.log; pid /var/run/nginx.pid; رویدادها (# حداکثر تعداد اتصالات برای یک Worker_connections 1024؛ # روش انتخاب اتصال (برای FreeBSD kqueue خواهد بود) از epoll استفاده کنید؛ # حداکثر تعداد ممکن اتصالات را قبول کنید multi_accept on؛ ) http ( # یک فایل با انواع mime و نوع داده پیش‌فرض را مشخص کنید شامل /etc/nginx/mime.types؛ نوع_پیش‌فرض application/octet-stream؛ # غیرفعال کردن خروجی نسخه nginx در پاسخ سرور_توکن‌ها؛ # روش sendfile برای ارسال داده کارآمدتر از sendfile خواندن+نوشتن است. on؛ # مقدار داده‌هایی را که می‌توان در یک زمان انتقال داد با فراخوانی sendfile() محدود می‌کند. لازم است شرایطی را حذف کنیم که یک اتصال می‌تواند به طور کامل 128k worker sendfile_max_chunk را بگیرد؛ # سرصفحه‌ها و ابتدای فایل را در یک ارسال کنید. بسته tcp_nopush روشن؛ tcp_nodelay روشن؛ # در صورتی که کلاینت خواندن پاسخ reset_timedout_connection را متوقف کرده باشد، اتصال را بازنشانی کنید؛ # با دریافت هدر درخواست و بدنه کلاینت_header_timeout 5، اتصال را قطع کنید. # اگر کلاینت ظرف 3 ثانیه پاسخ ندهد، اتصال را قطع کنید send_timeout 3; # تنظیم بافر برای هدر درخواست و بدن کلاینت_header_buffer_size 2k. client_body_buffer_size 256k; # محدودیت در درخواست اندازه بدن مشتری_حداکثر_اندازه_بدن 12 متر; # غیرفعال کردن گزارش دسترسی access_log off. # اتصال پیکربندی های اضافی شامل /etc/nginx/conf.d/*.conf. )
بیایید یک فایل تنظیمات باطن /etc/nginx/conf.d/backend.conf ایجاد کنیم:

سرور ( # منتظر یک اتصال محلی در پورت 81 بشنوید 127.0.0.1:81؛ # دایرکتوری ریشه و فایل فهرست ریشه /var/www/site.ru/public_html؛ index.php؛ # فشرده سازی gzip در خروجی باطن را فعال کنید. به حافظه پنهان نسخه‌های فشرده‌شده قبلی فایل‌ها حذف می‌شوند. در اینجا فشرده‌سازی در سطح فشرده‌سازی 9 رخ می‌دهد. لطفاً توجه داشته باشید که text/plain جزو انواع آن نیست، ما آن را در قسمت جلویی در سطح فشرده‌سازی 1 فشرده می‌کنیم تا از بار بالای CPU هنگام بازگشت پویا جلوگیری کنیم. داده gzip روشن؛ gzip_comp_level 9؛ gzip_min_length 512؛ gzip_buffers 8 64k؛ gzip_types text/css application/ application json/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript/javascript_propplication/s هر؛ # نام میزبان سایت نام سرور .ru www.site.ru؛ # دسترسی به مکان فایل های مخفی ~ /\. ( همه را رد کنید؛ ) # دسترسی به مکان اسکریپت های بارگذاری شده را رد کنید ~* /(?:uploads|files)/.* \.php$ ( deny all; ) # URI درخواستی را در سه مسیر مکان جستجو کنید / ( try_files $uri $uri/ /index.php?$args; ) # اضافه کردن یک اسلش انتهایی برای درخواست ها */wp-admin rewrite /wp-admin$ $scheme://$host$uri/ permanent; مکان ~ \.php$ ( # اگر خطای 404 وجود دارد، صفحه ایجاد شده توسط وردپرس را نشان دهید try_files $uri =404؛ # هنگام دسترسی به php، آن را برای تفسیر به FPM ارسال کنید شامل fastcgi_params؛ fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_pass unixc :/var/run/ php5-fpm.sock; ))
در مورد شرح مفصل راه اندازی HTTPS در nginx، توصیه می کنم این مقاله را بخوانید: habrahabr.ru/post/252821
یک فایل تنظیمات frontend /etc/nginx/conf.d/frontend.conf ایجاد کنید:

سرور ( # Redirect to HTTPS listen REAL_IP:80; server_name site.ru www.site.ru; return 301 https://$server_name$request_uri; ) سرور ( گوش دادن 93.170.105.102:443 ssl؛ server_name site.ru www.site .ru؛ # ارتباط Keep-Alive را با بازدیدکنندگان برقرار کنید keepalive_timeout 60 60؛ # داده ها را قبل از ارسال به مشتری فشرده کنید. لطفاً توجه داشته باشید که در اینجا فقط متن/صفحه وجود دارد، زیرا فشرده سازی داده های دیگر در پشتیبان در سطح فشرده سازی بالاتر اعمال می شود. ، پس از آن این داده‌ها به حافظه پنهان ارسال می‌شوند. برای جلوگیری از بارگیری CPU هنگام فشرده‌سازی اسناد پویا ساخته شده است. gzip روشن؛ gzip_comp_level 1؛ gzip_min_length 512؛ gzip_buffers 8 64k؛ gzip_types text/plain؛ gzip_proxied anyspecified on the server. ssl_prefer_server_ciphers on ؛ # تنظیم مدت یک جلسه TLS به 2 دقیقه ssl_session_cache shared:TLS:2m؛ ssl_session_timeout 2m؛ # تنظیم فایلی حاوی گواهی سایت و گواهی CA ssl_certificate /etcbin.sscrt/; # تعیین کلید خصوصی ssl_certificate_key /etc/ssl/3_site.ru.key. # فایل با پارامترهای Diffie-Hellman ssl_dhparam /etc/ssl/dh2048.pem. # پروتکل های پشتیبانی شده ssl_protocols TLSv1.2 TLSv1.1 TLSv1. # مجموعه رمز، این مجموعه شامل رمزهای ssl_secrecy رو به جلو EECDH+ECDSA+AESGCM:EECDH+aRSA+AESGCM:EECDH+ECDSA+SHA512:EECDH+ECDSA+SHA384:EECDH+ECDSA+SHA256:ECDH+ECDSA+SHA256:ECDH+ECDSA+SHA256:ECDH+ECDSA+SHA256:ECDH+ECDESA :DH+AES256:RSA+AESGCM:!aNULL:!eNULL:!LOW:!RC4:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS; # عبور از هدر Strict-Transport-Secutiry add_header Strict-Transport-Security "max-age=31536000; includeSubDomains"; مکان / ( # Proxying to Varnish proxy_pass http://127.0.0.1:6081/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_addtoward_x; proxy_set_header X-Forwarded-Port 443; ))
بیایید تنظیمات nginx را دوباره بخوانیم:

بارگیری مجدد سرویس nginx
حالا وقتی میخوایم وارد سایت بشیم با خطای 502 مواجه میشیم این طبیعیه چون Varnish هنوز اجرا نمیشه.

نصب و پیکربندی Varnish

وارنیش را نصب کنید:

لاک نصب Apt-get
فایل پارامترهای راه اندازی در اینجا قرار دارد - /etc/default/varnish. در DAEMON_OPTS پارامترهای زیر را تنظیم می کنیم:

DAEMON_OPTS="-a:6081 \ -T 127.0.0.1:6082 \ -f /etc/varnish/default.vcl \ -S /etc/varnish/secret \ -s malloc,128m"
-a - پورتی را تنظیم می کند که Varnish اتصالات را می پذیرد، در مورد ما از frontend - nginx.
-T - پنل مدیریت در اینجا اجرا می شود، جزئیات بیشتر در توضیح پرچم -S.
-f - یک فایل با پیکربندی VCL - یک زبان ویژه طراحی شده برای تعریف قوانین برای پردازش درخواست ها و ذخیره سازی در Varnish.
-S - وارنیش دارای پنل مدیریت است. برای ورود باید دستور varnishadm را اجرا کنید و کاربر باید حقوق خواندن فایل /etc/varnish/secret را برای احراز هویت داشته باشد.
-s محل ذخیره کش و اندازه آن را نشان می دهد، در این مورد 128 مگابایت در رم.

همانطور که احتمالاً قبلاً فهمیده اید ، جالب ترین چیز در پرونده با قوانین پردازش درخواست ها در انتظار ما است. هنگامی که فرآیند Varnish شروع می شود، این فایل کامپایل می شود. VCL از چندین زیر بخش از توابع استفاده می کند که این قوانین را توصیف می کند. من به طور خلاصه در مورد آنها به شما می گویم؛ توصیه می کنم توضیحات کامل را در وب سایت رسمی بخوانید.

زیر vcl_recv- این تابع زمانی استفاده می شود که یک درخواست از یک مشتری می آید.
زیر vcl_pass- زمانی اجرا می‌شود که درخواست مشتری باید مستقیماً به باطن ارسال شود، بدون اینکه در حافظه پنهان یا جستجو برای مطابقت در حافظه پنهان باشد.
زیر vcl_hash- قوانین کش را تعریف می کند؛ بسته به شرایط مختلف می توانید از چندین حافظه برای یک سند استفاده کنید، به عنوان مثال، اینکه آیا کلاینت از فشرده سازی پشتیبانی می کند یا برخی از ویژگی های مشتری دیگر. در مورد ما، از آن استفاده نخواهد شد، زیرا ما فقط یک مشتری برای Varnish داریم - nginx در قسمت جلو.
زیر vcl_backend_response- این تابع زمانی استفاده می شود که درخواستی از باطن (nginx) می آید.
زیر vcl_deliver- بلافاصله قبل از ارسال داده به مشتری استفاده می شود، به عنوان مثال، برای افزودن/تغییر هدرها.

نمودار عملکرد اجزای VCL را می توان به صورت زیر نشان داد:

اگر از تابع vcl_miss به Backend دسترسی داشته باشید، پاسخ Backend نیز به حافظه پنهان ارسال می شود. خود زبان بسیار شبیه به C است. اجازه دهید شروع به تنظیم آن کنیم. فایل /etc/varnish/default.vcl را باز کنید و کدنویسی را شروع کنید:

# ما به کامپایلر اطلاع می دهیم که نسخه جدید VCL 4 در حال استفاده از vcl 4.0 است. # تنظیمات Backend پیش‌فرض backend ( .host = "127.0.0.1"; .port = "81"; ) # محدوده IP/Hostهایی که مجاز به انجام درخواست‌های PURGE برای پاک کردن cache acl پاکسازی هستند ( "localhost"; "127.0. 0.1" ; ) # دریافت درخواست از کلاینت sub vcl_recv ( # Allow cache برای محدوده فوق پاک شود if (req.method == "PURGE") ( # اگر درخواست از لیست نیست، سپس اگر (! client.ip ~ purge) ( return(synth (405، "این IP مجاز به ارسال درخواست های PURGE نیست."))؛ ) return (purge)؛ ) # رد شدن از درخواست های POST و صفحات با مجوز پایه (req.http. مجوز || req.method = = "POST") (بازگشت (گذر)؛ ) # رد شدن از صفحه مدیریت و ورود به سیستم اگر (req.url ~ "wp-(login|admin)" || req.url ~ "preview=true ") ( return (pass) ; ) # نقشه سایت و فایل ربات را رد کنید، نقشه سایت من توسط افزونه نقشه سایت Google XML ایجاد می شود if (req.url ~ "sitemap" || req.url ~ "robots") ( بازگشت ( pass); ) # کوکی های حاوی "has_js" "و "__*" اضافه شده توسط CloudFlare و Google Analytics را حذف کنید زیرا Varnish درخواست هایی را که کوکی تنظیم شده اند ذخیره نمی کند. set req.http.Cookie = regsubal(req.http.Cookie, "(^|;\s*)(_[_a-z]+|has_js)=[^;]*، ""); # حذف پیشوند ";" در کوکی ها، اگر به طور ناگهانی شناسایی شد، تنظیم کنید req.http.Cookie = regsub(req.http.Cookie, "^;\s*", ""); # حذف کوکی های Quant Capital (افزوده شده توسط برخی افزونه ها) set req.http.Cookie = regsuball(req.http.Cookie, "__qc.=[^;]+(;)?", ""); # حذف wp-settings-1 مجموعه کوکی req.http.Cookie = regsuball(req.http.Cookie, "wp-settings-1=[^;]+(;)?"، ""); # حذف wp-settings-time-1 مجموعه کوکی req.http.Cookie = regsuball(req.http.Cookie, "wp-settings-time-1=[^;]+()?", ""); # Remove wp test cookie set req.http.Cookie = regsubal(req.http.Cookie, "wordpress_test_cookie=[^;]+(;)?", ""); # حذف کوکی‌هایی که فقط از فضاها تشکیل شده‌اند (یا کاملاً خالی هستند) اگر (req.http.cookie ~ "^ *$") (تنظیم نشده req.http.cookie; ) # برای اسناد ثابت، همه کوکی‌ها را حذف کنید، بگذارید در حافظه پنهان ذخیره شوند. if (req.url ~ "\.(css|js|png|gif|jp(e)?g|swf|ico|woff|svg|htm|html)") (تنظیم نشده req.http.cookie; ) # If کوکی‌ها "وردپرس_" یا "نظر_" تنظیم می‌شوند، اگر (req.http.Cookie ~ "wordpress_" || req.http.Cookie ~ "Comment_") (بازگشت (گذر)) مستقیماً به باطن پرش می‌کنیم. یافت نشد، این پارامتر را از درخواست ورودی حذف کنید، اگر (!req.http.cookie) (تنظیم نشده req.http.cookie; http. مجوز || req.http.Cookie) ( # به طور پیش‌فرض قابل ذخیره نیست بازگشت (گذر)؛ ) # Cache Everything other return (Hash); ) sub vcl_pass ( بازگشت (واکشی)؛ ) sub vcl_hash ( hash_data(req.url)؛ return (lookup)؛ ) # پاسخی را از زیر باطن دریافت کنید vcl_backend_response ( # حذف هدرهای غیر ضروری unset beresp.http.Server؛ unset beresp. http. ( تحویل؛ ) # برای فایل های استاتیکی که توسط باطن ارائه می شود... if (bereq.url ~ "\.(css|js|png|gif|jp(e?)g)|swf|ico|woff|svg| html | فایل‌ها ارزش ذخیره‌سازی در حافظه پنهان مشتری را دارند و سرور ما را بارگذاری نمی‌کنند. beresp.ttl ; ) # صفحات مدیریت و ورود به سیستم را کش نکنید اگر (bereq.url ~ "wp-(login|admin)" || bereq.url ~ "preview=true") (تنظیم beresp.uncacheable = درست؛ تنظیم beresp.ttl = 30 ثانیه؛ بازگشت (تحویل)؛ ) # اجازه دهید کوکی ها فقط هنگام دسترسی به این مسیرها تنظیم شوند، همه چیز دیگر قطع خواهد شد اگر ( !( bereq.url ~ "(wp-login|wp-admin|preview=true)")) ( unset beresp.http.set-cookie; ) # نتیجه پاسخ به درخواست POST یا مجوز اولیه را در حافظه پنهان نکنید if (bereq.method = = "POST" || bereq.http.Authorization) ( set beresp.uncacheable = true; set beresp.ttl = 120s; return (deliver); ) # نتایج جستجو را ذخیره نکنید اگر (bereq.url ~ "\?s=" )( set beresp.uncacheable = true; set beresp.ttl = 120s; return (deliver); ) # صفحات خطا را کش نکنید، فقط موارد ضروری در حافظه پنهان! if (beresp.status != 200) ( set beresp.uncacheable = true؛ set beresp.ttl = 120s; return (deliver)؛ ) # هر چیز دیگری را به مدت یک روز در کش ذخیره کنید. # طول عمر کش پس از انقضای TTL آن مجموعه beresp.grace = 30s; بازگشت (تحویل)؛ ) # اقدامات قبل از برگرداندن نتیجه به کاربر sub vcl_deliver ( # حذف هدرهای غیر ضروری unset resp.http.X-Powered-By; unset resp.http.Server; unset resp.http.Via; unset resp.http.X-Varnish ؛ بازگشت (تحویل)؛ )
سپس دستور را اجرا می کنیم:

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

مشکل Varnish و Debian 8
اگر بخواهید پورتی را که Varnish اتصالات ورودی را می پذیرد یا اندازه کش را تغییر می دهد تغییر دهید. با قضاوت بر اساس اسناد رسمی، باید فایل را با پارامترهای راه اندازی Varnish، واقع در مسیر: /etc/default/varnish تغییر دهید و سرویس را مجددا راه اندازی کنید. اما نه! هیچ چیز تغییر نمی کند و اگر به بالا برویم و کلید c را فشار دهیم، می بینیم که سرویس با همان تنظیمات در حال اجرا است. نکته این است که نسخه جدید دبیان از systemd به جای init.d به عنوان سیستم اولیه استفاده می کند و بنابراین باید به فایل /lib/systemd/system/varnish.service بروید و همان پارامترهای راه اندازی را در دستورالعمل ExecStart مشخص کنید. آنجا:

Description=Varnish HTTP accelerator Type=forking LimitNOFILE=131072 LimitMEMLOCK=82000 ExecStartPre=/usr/sbin/varnishd -C -f /etc/varnish/default.vcl ExecStart=/usr/sbin/varnishd -61070 -T. 0.1:6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s malloc,128m ExecReload=/usr/share/varnish/reload-vcl WantedBy=multi-user.target
پس از ذخیره، دستورات زیر را اجرا کنید تا تغییرات اعمال شوند:

Systemctl daemon-reload service varnish restart
در حال حاضر این مشکل به توسعه دهندگان اختصاص داده شده است، معلوم نیست چه زمانی و چگونه آن را حل می کنند، بنابراین در هر صورت تغییرات یکسانی را در هر دو فایل انجام دهید تا یک روز بعد از آپدیت همه چیز خراب نشود.

نصب و پیکربندی PHP-FPM

FPM و کتابخانه PHP را برای کار با DBMS نصب کنید:

Apt-get php5-fpm php5-mysqlnd را نصب کنید
به فایل پیکربندی /etc/php5/fpm/pool.d/www.conf بروید و دستورالعمل را تغییر دهید:

گوش دادن = 127.0.0.1:9000
به موارد زیر:

Listen = /var/run/php5-fpm.sock
در همان فایل تنظیمات worker را تنظیم می کنیم:

; تغییر پویا تعداد کارگران pm = پویا ; حداکثر تعداد کارگران ایجاد شده تحت بار نمی تواند کمتر از pm.max_spare_servers باشد. pm.max_children = 10 ; چند کارگر برای راه اندازی در FPM start pm.start_servers = 1 ; حداقل تعداد کارگران یدکی (در صورت نبود بار در حافظه باقی می ماند) pm.min_spare_servers = 1 ; حداکثر تعداد کارگران یدکی (در صورت بیکار بودن، باقیمانده های استفاده نشده فسخ خواهند شد) pm.max_spare_servers = 3 ; حداکثر تعداد درخواست هایی که یک کارگر قبل از راه اندازی مجدد pm.max_requests = 500 درخواست می کند
تغییر چندین دستورالعمل در /etc/php5/fpm/php.ini
upload_max_filesize = 10M post_max_size = 12M allow_url_fopen = خاموش
post_max_size کمی بزرگتر از upload_max_filesize تنظیم شده است، زیرا علاوه بر فایل، درخواست حاوی داده های دیگری نیز می باشد.
در اینجا، با دستور allow_url_fopen، اجرای اسکریپت هایی که از راه دور قرار دارند را ممنوع می کنیم (احتمال سوء استفاده از آسیب پذیری گنجاندن از راه دور را حذف می کنیم).

بارگیری مجدد سرویس php5-fpm
حالا یک فایل بسازید که phpinfo() را خروجی کند و در مرورگر به آن دسترسی داشته باشید، همه چیز باید کار کند. فراموش نکنید که قبلاً در Varnish ذخیره شده است و اگر پیکربندی PHP را تغییر دهید، در مرورگر شما به روز نمی شود. می‌توانید یک قانون برای پرش از این فایل در Varnish بنویسید، یا در طول آزمایش‌ها می‌توانید نه Varnish، بلکه مستقیماً باطن را در پورت 81 پروکسی کنید.

نصب و پیکربندی MariaDB

من این DBMS را به دلیل عملکرد بهتر و توانایی آن در تحمل بارهای سنگین و در عین حال استفاده از رم کمتر در مقایسه با MySQL و همچنین سازگاری کامل با وردپرس انتخاب کردم. نصب بسیار ساده است، از شما یک رمز عبور برای کاربر root خواسته می شود.

Apt-get نصب سرور mariadb
من از MyISAM به عنوان موتور جداول استفاده می کنم، با توجه به اینکه نوشتن روی جدول به ندرت انجام می شود و MyISAM عملکرد بهتری را هنگام خواندن نشان می دهد. من برای آزاد کردن رم، پشتیبانی از InnoDB را به طور کامل غیرفعال کردم. تنظیمات در فایل /etc/mysql/my.cnf ذخیره می شود. من فقط دستورالعمل هایی را که تغییر دادم شرح خواهم داد:

# حافظه پنهان برای کار با کلیدها و فهرست‌ها key_buffer = 64M # Query cache query_cache_size = 32M # نصب MyISAM به عنوان موتور استاندارد پیش‌فرض-storage-engine=MyISAM # غیرفعال کردن موتور InnoDB skip-innodb
پس از ذخیره تغییرات، سرویس را مجددا راه اندازی کنید:

راه اندازی مجدد سرویس mysql

راه اندازی وردپرس - افزونه پاکسازی HTTP Varnish

افزونه "Varnish HTTP Purge" را در پنل مدیریت WP نصب کنید. اکنون هنگام به‌روزرسانی داده‌ها، یک درخواست PURGE به صفحات تغییر یافته ارسال می‌شود و کش در Varnish پاک می‌شود و داده‌ها همیشه برای بازدیدکنندگان به‌روزرسانی می‌شوند.

بهینه سازی اضافی

برای بهینه سازی سمت کلاینت با Varnish، به مرورگر می گوییم که داده های ثابت را در کش محلی مشتری ذخیره کند. اما اگر بهینه سازی بیشتری می خواهید، به developers.google.com/speed/pagespeed/insights بروید و URL سایت یا حتی یک صفحه خاص را وارد کنید. لیستی از توصیه‌ها به شما ارائه می‌شود و همچنین یک آرشیو با نسخه‌های فشرده‌شده سبک‌های css و js شما ارائه می‌شود. آنها را در وب سایت خود جایگزین کنید و به دلیل کاهش حجم داده های منتقل شده، سرعت بارگذاری حتی سریع تری دریافت کنید، بار روی سرور و فضای اشغال شده توسط این فایل ها در کش نیز کاهش می یابد.

چگونه با اسناد درخواست شده از سرورهای شخص ثالث مانند فونت ها یا کتابخانه جی کوئری برخورد کنیم؟ می توانید آنها را به خودتان منتقل کنید و در اینجا به دلیل برقراری ارتباط تنها با یک سرور، سرعت بارگذاری صفحه افزایش می یابد، البته در عین حال لیست درخواست ها و بار کلی افزایش می یابد. کدام گزینه را انتخاب کنید - بسته به بار روی سرور و تنبلی خود تصمیم بگیرید.

خط پایین

در بیشتر موارد فشرده سازی gzip و ذخیره وارنیش بیشترین تأثیر را داشته اند. روش های بهینه سازی اضافی زیادی قبلا در نظرات نوشته شده است که حتما در صورت لزوم مطالعه و اجرا خواهم کرد. تا کنون نتایج بهینه سازی به شرح زیر است:
قبل از


بعد از


کمی بعد تست های استرس کامل را انجام خواهم داد.

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

پست کردن چیست؟

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

انواع بیشتری از پست وجود دارد که وظایف متفاوتی دارند.

چرا ارسال پست ضروری است؟

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

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

ارسال برای جذب بازدید کننده

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

برای این منظور است که صاحب انجمن تیمی از متخصصان را استخدام می کند که می توانند پست ارسال کنند - منبع را با پیام های اولیه با کیفیت بالا پر کنند.

انجمن هایی که به دلایلی ارتباط آنها متوقف شده است همین کار را می کنند: آنها محتوای جدیدی تولید می کنند تا بازدیدکنندگان را به برقراری ارتباط و احیای بحث تشویق کنند.

همچنین می‌توانید با استفاده از روش ارسال، بازدیدکنندگان را به سایر پروژه‌های مشابه جذب کنید، زیرا هر یک از آنها به محتوای اولیه یا به‌روزرسانی منظم نیاز دارند.

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

ارسال: بیایید خودمان را ارزان تبلیغ کنیم

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

موضوع پیوندها نیز نقش دارد. اگر بدون فکر آنها را در هر کجا که ممکن است و در حداکثر مقدار قرار دهید، به هیچ چیز خوبی منجر نمی شود. این لینک‌ها سریع‌تر از آنچه تصور می‌کنید محو می‌شوند، حتی اگر این روش تأثیری روی سایت شما داشته باشد. مشکل دیگر این است که این منبع ممکن است با تحریم ها مواجه شود یا حتی در تمام موتورهای جستجو ممنوع شود. بحث در مورد لزوم استفاده از نرم افزارهای تخصصی برای قرار دادن لینک در وبلاگ ها، کتاب های مهمان و انجمن های مختلف است.

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

ارسال ارزان

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

کسب درآمد از طریق پست

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

متوسط ​​پرداخت برای چنین کاری تقریباً 10-15 سنت برای هر پست است. مبادلات ویژه ای برای ارتباط با کارفرمایان وجود دارد. با ثبت نام در برخی از آنها، می توانید با ارسال پست، درآمد ثابت و منظمی را برای خود تضمین کنید.

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

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

یک مرد مدرن بیشتر ماموت های کامپیوتری را شکار می کند که به فعالیت بدنی زیادی نیاز ندارد. او با ماشین به محل کار می رسد و از محل کارش هم پیاده نمی رود. و اشتها، مانند سایر مکانیسم های حمایت از زندگی، هیچ تفاوتی با مکانیسم های غار ندارد. بنابراین، با خوردن ماهی جوجه تیغی آماده و بسته بندی زیبا در آشپزخانه، یک مرد مدرن کالری رایگان دریافت می کند که با هزینه های انرژی تامین نمی شود. و بعد می پرسد: چرا شکم پسرها بزرگ می شود؟

چه اتفاقی برای ما مردان، شکارچیان ماموت های پیکسلی و مصرف کنندگان جوجه تیغی خریداری شده در فروشگاه می افتد؟ طبیعت هیچ چیز اضافی ندارد. اگر عضلات مورد تقاضا نباشند، تن خود را از دست می دهند. در نتیجه محتویات شکم ما تحت تأثیر فشار داخلی شروع به بیرون زدگی از دیواره قدامی شکم می کند. و - با شکم شش تکه ارزشمند و شلوار جین جوان سال گذشته خداحافظی کنید. اکنون باید شلوار را نه بر اساس اندازه و مدل، بلکه با قابلیت چسباندن آنها روی شکم انتخاب کنید. به طور دقیق تر، زیر شکم، زیرا به هر حال هیچ شلواری روی آن نمی ماند.

دلیل بیرون زدگی پر غرور شکم به سمت جلو، ضعف عضله رکتوس دیواره شکم است. تون ناکافی عضلات مایل شکم مقصر پخش شدن کمر زمانی جوانی به طرفین است. این به استثنای رشد واقعی لایه چربی است، که نه تنها در دیواره قدامی شکم، بلکه در حلقه های روده، به اصطلاح امنتوم، رخ می دهد. به هر حال، این چربی داخلی در هنگام تلاش برای خلاص شدن از شر آن پایداری خاصی نشان می دهد. بدن شما مانند یک قهرمان المپیک برای پیروزی برای موفقیت خود می جنگد. زیرا مطمئن هستم که چربی رسوبی برای اطمینان از عملکردهای حیاتی آن ضروری است. و این چربی را نه برای اذیت کردن شما، بلکه برای یک روز بارانی جمع می کند. بیایید به یاد بیاوریم که اجداد غار چند بار شکار موفقی داشته است؟ آیا تا به حال اتفاق افتاده است که لایه چربی تبادل انرژی برای یک شکارچی ضعیف فراهم کند و به او قدرتی برای جستجوی بیشتر غذا بدهد؟ هیچ چیز غیر ضروری در طبیعت وجود ندارد. همه چیز در مورد نحوه مدیریت فرصت هایی است که طبیعت در اختیار ما قرار داده است.

چرا قسمت پایین شکم رشد می کند؟

اما چرا قسمت پایین شکم رشد می کند؟ برای همین نارسایی عضلات مایل دیواره شکم. اما نه تنها. در اینجا ما به آرامی به سمت مسائل داخلی یعنی اختلالات متابولیک می رویم.

رسوب چربی در زیر شکم، انبار چربی. از کجا آمده؟ از آنجا، از کالری اضافی استفاده نشده سنتز شد. آیا می خواهید از شر آن خلاص شوید؟ غدد درون ریز برای کمک به واقعیت این است که مهم ترین هورمون مردانه، تستوسترون، در میان سایر عملکردهای آن، مسئول متابولیسم لیپید در بدن مردان نیز می باشد. کاهش تولید تستوسترون ناشی از افزایش سن یک پدیده فیزیولوژیکی است، یعنی به طور طبیعی رخ می دهد. اما - هموار. ما یک جوجه تیغی خریداری شده در فروشگاه و حداقل حرکت داریم. و از لایه چربی نامرئی ذاتی هر ارگانیسم، ما یک شکم تمام عیار "آبجو" رشد می کنیم. بپرسید - غدد درون ریز چه ربطی به آن دارد؟ با همه چیز، با وجود آن. افزایش تعداد سلول های چربی به افزایش تولید آنتاگونیست هورمون تستوسترون - لپتین کمک می کند. در نتیجه، روند کاهش تولید تستوسترون سریعتر از آنچه باید اتفاق می افتد. و بر این اساس تولید لپتین افزایش می یابد. و افزایش حجم ذخایر چربی. فقط نوعی دنباله فیبوناچی.

این مردانه‌ترین «دنباله فیبوناچی» بر سلامت همه مردان، اعم از باروری و عمومی تأثیر می‌گذارد. این منجر به بی حالی غیر قابل توضیح، افزایش خستگی، تمایل به بیماری و کاهش مقاومت در برابر استرس می شود.

اگر وضعیت سلامتی هنوز رضایت بخش باشد، از نظر متابولیسم دیگر چندان خوب نیست. و این روند همچنان به شتاب خود ادامه می دهد.

اما بیایید به آبجو برگردیم. چرا آبجو باعث رشد شکم شما می شود؟ همه چیز در اینجا ساده است - شکم غیر طبیعی کشیده (به ندرت کسی یک بطری آبجو می نوشد)، استخراج، که اشتها را افزایش می دهد، و وجود آنالوگ های هورمون های جنسی زنانه که تشکیل چربی را تحریک می کنند. اخیراً تلاش هایی برای بازسازی آبجو صورت گرفته است. من معتقدم که به پیشنهاد شرکت های آبجو که علاقه ای به ضد تبلیغات ندارند. اما من و شما به سلامت خود علاقه مندیم، نه به سود دیگران. آیا بهتر نیست قبل از اینکه خیلی دیر شود به طور جدی در مورد خود فکر کنید؟

یا اینجوری بهتره؟)))

خطا:محتوا محفوظ است!!