نحوه بروزرسانی CentOS 7 ، Ubuntu 16.04 و Debian 8
هنگام راه اندازی سرور جدید لینوکس ، به روزرسانی سیستم های هسته و سایر بسته ها تا آخرین نسخه پایدار یک روش توصیه شده است. در این مقاله
HTTP / 2 جدیدترین نسخه پروتکل HTTP است که از SPDY مستقر است. توسعه آن توسط Google آغاز شده است و HTTP / 2 تا حد زیادی مبتنی بر پایگاه داده و مفاهیم SPDY است.
اکنون SPDY مستهلک شده است و پذیرش جهانی HTTP / 2 در حال انجام است. بسیاری از شرکت های میزبان به دلیل سرعت اضافه شده در حال حاضر پشتیبانی HTTP / 2 را ارائه داده اند.
در زمان نوشتن ، DirectAdmin روشی با یک کلیک برای فعال کردن HTTP / 2 ارائه نمی دهد. با این وجود روش های مختلفی برای دستیابی به پشتیبانی HTTP / 2 وجود دارد. روش ذکر شده در زیر ثابت شده است که قوی ترین و با ثبات ترین رویکرد است.
لازم است چندین مؤلفه به منظور بروزرسانی HTTP / 2 به روز شود. به همین دلیل ، من به شما توصیه می کنم یک عکس فوری بگیرید. در صورت امکان ، این راهنما را روی یک سرور کاملاً جدید دنبال کنید.
این راهنما از دو بخش تشکیل شده است: فعال کردن پشتیبانی HTTP / 2 در وب سرور (Apache) برای مشتریان (بازدید کنندگان) و فعال سازی HTTP / 2 در cURL. فعال کردن HTTP v2 برای cURL ، درخواست های cURL را که از سرور شما سرچشمه گرفته اند ، مجبور می کند تا در صورت امکان از HTTP / 2 برای سرورهای مقصد خود استفاده کند.
اگرچه این یک الزام فنی از خود HTTP / 2 نیست ، در بیشتر موارد برای استفاده از HTTP / 2 به گواهینامه SSL احتیاج دارید. همانطور که گفته شد ، HTTP / 2 از نظر فنی نیازی به این امر ندارد ، اما بسیاری از مرورگرها (سافاری ، کروم ، فایرفاکس و غیره) این استاندارد را ایجاد کرده اند. وقتی یک صفحه بدون SSL با استفاده از این مرورگرها بارگیری شود ، محتوا ارائه نمی شود. با توجه به اینکه بیشتر کاربران از این مرورگرها (و سایر موارد) که در این استاندارد نیز شرکت می کنند ، استفاده می کنند ، باید از یک گواهی SSL استفاده کنید.
اگر به دنبال یک گواهینامه SSL رایگان هستید ، باید به یکی از راهنمایهای Let Let Encrypt ما نگاهی بیندازید:
توصیه می شود: Let's Letry Encrypt را روی DirectAdmin نصب کنید
پانل های کنترل جایگزین:
راهنماهای عمومی:
آیا این راهنما نصب Brotli را مستند می کند؟
خیر ، هیچ روشی برای نصب Brotli در کنار HTTP / 2 در این مقاله بیان نشده است.
تدوین بدون هیچ دلیل ناکام است و من مراحل دقیقی را که در این مقاله بیان شده است دنبال کرده ام. چگونه این مسئله را برطرف کنم؟
حتی اگر دلایل ممکن زیادی برای این امر وجود داشته باشد ، با در نظر گرفتن محیط های مختلف و موارد مشابه ، احتمالاً تنظیمات محلی شما صحیح نیست. سعی کنید LC_ALL=C
جلوی دستورات خود قرار بگیرید ، بنابراین دستور recompiled Apache مانند این صورت خواهد بود: LC_ALL=C ./build apache
فضای بین LC_ALL=C
فرمان را فراموش نکنید !
آیا داده ای را از دست خواهم داد؟
در صورتی که در حال حاضر از یک تنظیم کننده پروکسی معکوس استفاده می کنید ، به عنوان مثال با Apache و Nginx ، باید آن را دوباره به Apache برگردانید ، در این صورت پرونده های تنظیمات Nginx خود را گم می کنید. در صورت تنظیمات VirtualHost سفارشی (از طریق خط فرمان یا خود DirectAdmin) ، باید اینها را بر اساس هر دامنه تغییر دهید تا نسخههای Apache فعال بمانند. هیچ داده ای را در رابطه با داده های کاربر ، محتوای وب سایت ، پایگاه داده و غیره از دست نخواهید داد.
آیا این نسخه های سفارشی من را در بروزرسانی بسته ها و نرم افزارها در آینده متوقف می کنند؟
به طور کلی نیازی به نگرانی در این زمینه نیست. با در نظر گرفتن راه اندازی ماژولار DirectAdmin (و بنابراین CustomBuild) باید بتوانید در آینده بدون هیچ مشکلی به نسخه های دیگر نرم افزار ارتقاء یا ارتقا دهید. اگرچه در آینده نیاز به ارتقاء گزینه جایگزین دارید ، باید تغییرات را مستند سازید ، دیگر نیازی به نگرانی در مورد نسخه های ناسازگاری با نسخه های جدید نرم افزار نیست.
DirectAdmin HTTP / 2 را از کادر ارائه نمی دهد. مطمئناً این بدان معنی است که سازگار نیست یا دلایلی برای عدم وجود آنها ندارد. چرا این راه حل لازم است؟
روش های نصب و فعال سازی HTTP / 2 که در زیر توضیح داده شده ، راه حل های زیادی نیستند ، بلکه فقط به روزرسانی های بسته و تغییرات پیکربندی شده اند. به دلیل راه اندازی ماژولار DirectAdmin ، این تغییرات کاملاً خوب است و نباید باعث مشکلات یا مشکلات دیگری شود. تعیین اینکه چرا DirectAdmin از این امر پشتیبانی نمی کند ، دشوار است ، با توجه به اینکه نویسندگان توضیحی در این باره نداده اند. با این حال ، نتیجه گیری بسیار خوب این است که DirectAdmin از بسته های نسخه توسط سیستم عامل استفاده می کند. اینها معمولاً به اندازه بسته های زیر به روز نیستند. هیچ مشکلی در HTTP / 2 ، خود فناوری و سازگاری آن وجود ندارد. درست مانند بسیاری از فن آوری های دیگر ، می تواند مدتی طول بکشد تا بومی سازی شود.
خطرات احتمالی فعال کردن HTTP / 2 با Apache چیست؟
در فعال سازی HTTP / 2 (متشکل از یک فرایند ارتقا و پیکربندی) متغیرهای زیادی وجود دارد که می توانند غیر استاندارد باشند. بزرگترین خطر خطای انسانی است. از قبل عکس فوری بگیرید ، حتما نگهداری را برای کاربران خود اعلام کنید (اگر در سرور جدا از خودتان وجود دارد) و مراقب باشید. علاوه بر این ، دستورات را بدون فکر کردن در مورد آنچه در ابتدا انجام می دهند ، کپی و جایگذاری نکنید.
من بسیار توصیه می کنم به طور موقت یک نمونه جداگانه Vultr را با DirectAdmin بچرخانید و مراحل را طی کنید. اگر مشکلی در نصب "تازه" رخ ندهد ، می دانید که در آن و چگونه اشکال زدایی کنید تا در محیط تولید مجبور نباشید.
اگر هم اکنون از پروکسی معکوس استفاده می کنید ، باید به یک محیط فقط آپاچی برگردید. در صورت عدم موفقیت ، اشکال زدایی HTTP / 2 بسیار سخت است. با استفاده از قابلیت های HTTP / 2 یکپارچه Apache ، می توانید بخش بزرگی از مشکلات را از بین ببرید.
در بسیاری موارد ، نسخه OpenSSL شما با ALPN سازگار نیست ، که برای HTTP / 2 لازم است. بنابراین ، بیایید ALPN را با به روز کردن OpenSSL فعال کنیم.
اول از همه ، مطمئن شوید که نسخه OpenSSL شما با اجرای سازگار نیست:
openssl version
اگر نسخه OpenSSL شما از 1.1.0f کمتر است ، موارد زیر را به عنوان root اجرا کنید. در غیر این صورت ، به مرحله 2 بروید.
cd ~
wget ftp://ftp.openssl.org/source/openssl-1.1.0f.tar.gz
tar xzf openssl-1.1.0f.tar.gz
cd openssl-1.1.0f
./config --prefix=/usr/local/lib_http2 no-ssl2 no-ssl3 zlib-dynamic -fPIC
make depend
make install
برای اینکه HTTP / 2 کار کند ، باید nghttp2 نصب کنیم. Nghttp2 اجرای HTTP / 2 (و HPACK) در C. Nghttp2 یک نسخه ترکیبی از سرویس گیرنده HTTP / 2 ، سرور و پروکسی در C است.
برای نصب nghttp2 ، دستورات زیر را اجرا کنید. خوشبختانه ، nghttp2 می تواند مستقیماً از CustomBuild ساخته شود.
cd /usr/local/directadmin/custombuild
./build update
./build nghttp2
برای اینکه بتواند از HTTP / 2 استفاده کند ، ما باید چندین مقدار را در پرونده پیکربندی Apache تغییر دهیم. هنگامی که سرور وب دستورالعمل استفاده از نسخه HTTP جایگزین را دریافت نمی کند ، از آن استفاده نمی کند. بنابراین باید HTTP / 2 را به پرونده پیکربندی اضافه کنیم.
برای اجرای این تغییرات ، بازسازی آپاچی از طریق CustomBuild ضروری است. از آنجا که پارامترها و مقادیر مورد استفاده توسط CustomBuild هنگام ساخت نرم افزار در یک پرونده پیکربندی اختصاصی تعیین می شود ، بهترین کار این است که این تغییرات را در یک فایل پیکربندی سفارشی اختصاصی قرار دهید.
توجه: اگر این تغییرات را در یک پرونده سفارشی قرار ندهید ، به احتمال زیاد آنها رونویسی می شوند و تنظیمات شما خراب می شود. لطفاً دستورالعمل ذکر شده در زیر را دنبال کنید.
دستورات زیر را برای ایجاد پرونده و اجرای مقدمات آن با مقادیر پیش فرض اجرا کنید تا بعد از آن بتوانیم آنرا تغییر دهیم:
mkdir -p /usr/local/directadmin/custombuild/custom/ap2
cp -p /usr/local/directadmin/custombuild/configure/ap2/configure.apache /usr/local/directadmin/custombuild/custom/ap2/configure.apache
از هم اکنون ، ما یک پرونده سفارشی داریم که با پرونده پیکربندی پیش فرض برای Apache استفاده شده توسط CustomBuild یکسان است. ما باید /usr/local/directadmin/custombuild/custom/ap2/configure.apache
فایل را با جایگزین کردن رشته زیر تغییر دهیم:
"--with-ssl=/usr" \
با:
"--enable-http2" \
"--enable-ssl-staticlib-deps" \
"--with-ssl=/usr/local/lib_http2" \
توجه: مطمئن شوید که بعد از هر یک از عقب افتادگی ، فضای سفید وجود ندارد . فضای اضافی در آنجا باعث شکسته شدن ساختمان خواهد شد.
بعد ، آپاچی را دوباره بسازید. CustomBuild از پرونده پیکربندی سفارشی که اخیراً ایجاد کرده اید استفاده خواهد کرد:
./build apache
اکنون آپاچی از جمله ماژول ها و تنظیمات لازم برای HTTP / 2 بازسازی شده است. این بدان معناست که اکنون یک نسخه آپاچی با پشتیبانی از HTTP / 2 روی سرور خود نصب شده است ، اما باید به Apache بگوییم که ابتدا از آن استفاده کند.
خطوط زیر را در زیر اضافه کنید /etc/httpd/conf/extra/httpd-includes.conf
:
ProtocolsHonorOrder On
Protocols h2 h2c http/1.1
این تغییرات را ذخیره کنید و پرونده های پیکربندی را بازنویسی کنید تا در بازسازی ها ماندگار باشند:
cd /usr/local/directadmin/custombuild
./build rewrite_confs
HTTP / 2 اکنون باید روی سرور وب (Apache) شما فعال باشد.
راه اندازی مجدد سرور را برای اطمینان حاصل کنید که تغییرات ما در راه اندازی مجدد انجام می شود. لطفاً هرچند کنترل پنل Vultr یا با اجرای reboot
دستور ، سرور را مجدداً راه اندازی کنید .
قابلیت HTTP / 2 با استفاده از ابزار زیر به راحتی قابل آزمایش است: HTTP / 2 Test
توجه به HTTP / 2 مخصوص سرور است و نمی توان آن را به یک جفت دامنه یا وب سایت محدود کرد ، ورود هر نام دامنه ای به سرور یا حتی آدرس IP سرور باید کار کند.
این تست به شما می گوید که آیا از طریق HTTP / 2 به سرور وب دسترسی دارید یا خیر. در صورتی که ابزار می گوید HTTP / 2 روی سرور شما فعال شده است ، اکنون می توانید از طریق HTTP / 1.1 یا HTTP / 2 به وب سایت های DirectAdmin دسترسی پیدا کنید. در صورت عدم دسترسی HTTP / 2 برای مشتری (بازدید کننده) ، مرورگر آن به HTTP / 1.1 سقوط خواهد کرد.
در صورتی که ابزار نتواند از طریق HTTP / 2 به سرور وب شما برسد ، مجدداً مراحل فوق را دنبال کنید. به طور کلی (با توجه به این که مراحل فوق به طور جدی هر چیزی را بازنویسی نمی کند) این به شما آسیب نمی رساند و راه اندازی شما را خراب نمی کند.
من توصیه می کنم cURL را به روز کنید تا بتوانید با پشتیبانی HTTP / 2 به سرورها برسید. در صورت عدم پشتیبانی سرور HTTP / 2 ، به HTTP / 1.1 سقوط می کند.
درست مانند Apache ، ما یک فایل پیکربندی سفارشی ایجاد خواهیم کرد بنابراین cURL ساخته شده توسط CustomBuild از تنظیمات سفارشی ما استفاده خواهد کرد.
ایجاد فهرست:
mkdir -p /usr/local/directadmin/custombuild/custom/curl
ایجاد پرونده:
touch /usr/local/directadmin/custombuild/custom/curl/configure.curl
مطالب زیر را در پرونده کپی و جایگذاری کنید:
#!/bin/sh
perl -pi -e 's|CURL_CHECK_PKGCONFIG\(zlib\)|#CURL_CHECK_PKGCONFIG(zlib)|g' configure.ac
LIBS="-ldl" ./configure --with-nghttp2=/usr/local --with-ssl=/usr/local/lib_http2
همانطور که مشاهده می کنید ، این مطالب می گویند cURL باید با استفاده از lib_http2
کتابخانه SSL تالیف شود .
پرونده را ذخیره کنید و مجوزهای صحیح به آن بدهید:
chmod 700 /usr/local/directadmin/custombuild/custom/curl/configure.curl
در مرحله بعد ، تنها کاری که باید انجام دهیم ساختن cURL است.
cd /usr/local/directadmin/custombuild
./build curl
cURL اکنون با پشتیبانی HTTP 2 وارد شده است.
هنگام راه اندازی سرور جدید لینوکس ، به روزرسانی سیستم های هسته و سایر بسته ها تا آخرین نسخه پایدار یک روش توصیه شده است. در این مقاله
مقدمه RethinkDB یک پایگاه داده NoSQL است که داده ها را به عنوان اسناد JSON ذخیره می کند. این یک زبان پرس و جو بسیار بصری است و از ویژگی های آن معمولا در دسترس است
Vtiger CRM یک نرم افزار محبوب مدیریت ارتباط با مشتری است که می تواند به بنگاهها در رشد فروش ، ارائه خدمات به مشتری و افزایش سود کمک کند. من
با استفاده از یک سیستم متفاوت؟ Couch CMS یک سیستم مدیریت محتوای منبع ساده و انعطاف پذیر ، آزاد و منبع باز (CMS) است که به طراحان وب اجازه می دهد تا طراحی کنند.
با استفاده از یک سیستم متفاوت؟ SonarQube یک ابزار منبع باز برای توسعه سیستم با کیفیت است. در جاوا نوشته شده است و چندین پایگاه داده را پشتیبانی می کند. فراهم می کند
با استفاده از یک سیستم متفاوت؟ Netdata یک ستاره در حال افزایش در زمینه نظارت بر معیارهای سیستم در زمان واقعی است. در مقایسه با سایر ابزارهای مشابه ، Netdata:
با استفاده از یک سیستم متفاوت؟ در این آموزش ، Ill در مورد نحوه راه اندازی یک سرور Starbound در CentOS 7 توضیح می دهد. پیش نیازها: شما باید این بازی را روی خود داشته باشید
به یکی دیگر از آموزش های Vultr خوش آمدید. در اینجا ، نحوه نصب و اجرای سرور SAMP را یاد خواهید گرفت. این راهنما برای CentOS 6 نوشته شده است. پیش نیازهای مورد نیاز شما
با استفاده از یک سیستم متفاوت؟ Elgg یک موتور شبکه ای منبع باز است که امکان ایجاد محیط های اجتماعی از جمله شبکه های اجتماعی دانشگاه را فراهم می کند
RStudio Server نسخه وب RStudio است که مجموعه ای از ابزارهایی است که برای تسهیل کار برنامه نویسی با استفاده از زبان برنامه نویسی R طراحی شده است. در سه
Bolt یک CMS منبع باز است که به زبان PHP نوشته شده است. کد منبع Bolts در GitHub میزبانی شده است. این راهنما نحوه نصب Bolt CMS را در CentOS 7 Vult تازه نشان می دهد
Elasticsearch یک موتور جستجوی کامل و متن تحلیلی متن کامل است. به لطف تطبیق پذیری ، مقیاس پذیری و سهولت استفاده ، Elasticsearch گسترده تر است
بررسی اجمالی این مقاله به شما کمک می کند تا در هر زمان خوشه ای از Kubernetes را جمع کنید و با kubeadm در حال اجرا باشید. در این راهنما از دو سرور استفاده می شود
با استفاده از یک سیستم متفاوت؟ مقدمه Sails.js یک چارچوب MVC ��رای Node.js است ، شبیه به Ruby on Rails. این امر برای ایجاد برنامه های مدرن ver
Vultrs عملکرد IP فضای شما را امکان پذیر می سازد تا آزادی بی سابقه ای در اختصاص منابع IP شخصی شما به سرورهای cloud Vultr داشته باشید. ما کلی
مقدمه در این آموزش ، PufferPanel را در Vultr VPS ما نصب کنید. PufferPanel یک پانل کنترل با منبع آزاد و بصورت رایگان برای مدیریت شما است
معرفی سیستم های لینوکس به طور پیش فرض مانند top ، df و du با ابزارهای نظارتی ارسال می شوند که به نظارت بر فرایندها و فضای دیسک کمک می کنند. با این حال ، اغلب اوقات ، آنها به صورت طاقت فرسا هستند
با استفاده از یک سیستم متفاوت؟ LibreNMS یک سیستم نظارت بر شبکه منبع باز کاملاً برجسته است. از SNMP برای به دست آوردن داده ها از دستگاه های مختلف استفاده می کند. یک نوع
با استفاده از یک سیستم متفاوت؟ Gitea یک منبع کنترل جایگزین متن باز و خود میزبان است که توسط Git ساخته شده است. Gitea در Golang نوشته شده و هست
LiteCart یک بستر سبد خرید آزاد و منبع باز است که به زبان های PHP ، jQuery و HTML 5 نوشته شده است. این نرم افزار ساده ، سبک و با کاربرد آسان است.
با استفاده از یک سیستم متفاوت؟ Anchor CMS یک سیستم مدیریت محتوا (CMS) بسیار ساده و بسیار سبک ، بسیار آزاد و آزاد است.
NFS یک سیستم فایل مبتنی بر شبکه است که به رایانه ها اجازه می دهد تا از طریق شبکه رایانه ای به فایلها دسترسی پیدا کنند. این راهنما توضیح می دهد که چگونه می توانید پوشه ها را روی NF قرار دهید
هنگام راه اندازی سرور جدید لینوکس ، به روزرسانی سیستم های هسته و سایر بسته ها تا آخرین نسخه پایدار یک روش توصیه شده است. در این مقاله
با استفاده از یک سیستم متفاوت؟ Matomo (سابقا پیویک) یک بستر تحلیلی منبع باز است ، یک جایگزین باز برای Google Analytics. منبع Matomo میزبان o
TeamTalk یک سیستم کنفرانس است که به کاربران امکان می دهد مکالمات صوتی / تصویری با کیفیت بالا ، چت متنی ، انتقال فایل ها و صفحه های به اشتراک بگذارند. من
Vultr یک ویژگی را فراهم می کند که به شما امکان می دهد با ایجاد یک نمونه جدید ، کلیدهای SSH را از قبل نصب کنید. این اجازه می دهد تا به کاربر root دسترسی داشته باشید ، با این حال ، th
با استفاده از یک سیستم متفاوت؟ NodeBB یک نرم افزار انجمن مبتنی بر Node.js است. از سوکت های وب برای تعامل فوری و اعلامیه های زمان واقعی استفاده می کند. NodeB
ZNC یک پیشرانه پیشرفته شبکه IRC است که تمام وقت بهم متصل می شود تا مشتری IRC بتواند بدون از دست دادن جلسه گپ قطع یا وصل شود.
رنجر یک مدیر فایل مبتنی بر خط فرمان است که دارای کلیدهای اتصال VI است. این برنامه یک رابط لعنتی مینیمالیستی و زیبا با نمای سلسله مراتب فهرست ارائه می دهد