آموزش دایرکت ادمین، سی پنل، وب سایت پنل

خانه / Nginx

Nginx

‏رفع خطای Too Many Redirect

ERR_TOO_MANY_REDIRECTS

برای بررسی علت خطای Too many redirect موارد زیر را بررسی و انجام دهید.

  • ابتدا کش و کوکی مرورگر خود را کامل پاک کنید.
  • افزونه cache، یا سرویس proxy cache (مانند cloudflare) و یا ابزارهای دیگر Cache (مانند Varnish) را غیرفعال کنید.
  • گواهی SSL سایت را بررسی کنید، اگر از SSL Termination مانند nginx استفاده میکنید از صحت عملکرد آن اطمینان حاصل کنید.
  • فایل htaccess. هاست را بررسی کنید. ( می توانید آن را rename کنید)
  • تنظمیات نام آدرس سایت در دیتابیس را بررسی کنید. (در وردپرس Table با نام wp-options را از طریق phpmyadmin بررسی کنید که نام دامنه صحیح باشد)
  • پلاگین های سایت را بصورت موقت غیرفعال کنید. (پوشه plugins را rename کنید)
  • وب سرور خود را بررسی کنید. (گاهی با تغییر وب سرور از Litespeed به Apache خطا مواجه می شود)

اگر همچنان مشکل دارید با پشتیبان سرور خود تماس بگیرید.

 

ریدایرکت ip سرور به دامنه سایت

Redirect IP address to Domain name

برای ریدایرکت کردن آدرس IP سرور لینوکسی به نام دامنه خود میتوانید از کد ریدایرکت در فایل htaccess کمک بگیرید.

وارد مسیر پیش فرض وب سرور خود شوید ( در سرورهای Directadmin و cPanel بصورت زیر است)

/var/www/html/

یک فایل با نام .htaccess ایجاد کنید و محتوای زیر را در آن قرار دهید. در قسمت HTTP_HOST باید IP سرور را وارد کنید و بجای domainname.com نام دامنه خود را قرار دهید.

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^12\.34\.56\.789$
RewriteRule ^(.*)$ https://domainname.com/$1 [L,R=301]

 

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

ریدایرکت کردن آدرس دامنه در nginx

Temporary and Permanent Redirects with Nginx

 

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

–        Temporary redirects یا redirect 302  جهت ریدایرکت کردن موقت لینک ها

–        Permanent redirects یا redirect 301  جهت ریدایرکت دائمی لینک ها

جهت ریدایرکت ۳۰۲ باید خط زیر را به تنظیمات فایل config  مربوط به دامنه مورد نظر اضاف کنید.

rewrite ^/$ http://www.domain2.com redirect;

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

rewrite ^/(.*)$ http://www.domain2.com/$1 redirect;

برای ریدایرکت ۳۰۱  نیز تنظیمات به همین صورت است.برای ریدایرکت یک صفحه

rewrite ^/$ http://www.domain2.com permanent;

و برای ریدایرکت تمام صفحات داخلی

rewrite ^/(.*)$ http://www.domain2.com/$1 permanent;

این تنظیمات باید در فایل config  دامنه مورد نظر در nginx   بصورت زیر قرار گیرد.

server {
. . .
server_name domain1.com;
rewrite ^/(.*)$ http://domain2.com/$1 permanent;
. . .
}

بسته به نوع سیستم عامل ، کنترل پنل و یا تنظیمات اختصاصی انجام شده بروی سرور مسیر فایل های config  هر سایت می تواند متفاوت باشد. Domain1.com  دامنه ایست که میخواهید به Domain2.com  ریدایرکت شود

غیرفعال کردن Directory Index در سرور

  Disable Directory Browsing -disable directoy indexing

برای غیرفعال کردن نمایش فایل ها در دایرکتوری خاص در سرور در صورتی که وب سرور شما apache است کافیست کد زیر را در .htaccess خود را public_html قرار دهید.

Options -Indexes

در صورتی که از nginx استفاده میکنید در فایل nginx.conf سایت مورد نظر خود این خط  را به تنظیمات آن اضافه کنید.

autoindex off,

فعال کردن متد PUT و DELETE در apache و nginx در دایرکت ادمین

Enabling PUT and DELETE methods in apache/nginx

برای فعال سازی متد های DELETE و PUT در وب سرورهایی که از دایرکت ادمین استفاده میکنند باید دستورات زیر را در ssh وارد نمایید.

cd /usr/local/directadmin/custombuild
./build set http_methods GET:HEAD:POST:PUT:DELETE
./build rewrite_confs

 

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

custom php.ini per user php-fpm

برای ایجاد php.ini اختصاصی برای php-fpm در directadmin باید فایل زیر را باز کنید.

nano /usr/local/directadmin/data/users/USERNAME/php/php-fpmXX.conf

و خطوط مورد نیاز را اضافه کنید . به عنوان مثال برای disable_functions :

php_admin_value[disable_functions] = exec,passthru,shell_exec
php_admin_flag[allow_url_fopen] = off

مقایسه Apache2 و NginX

زمان، پول است. این جمله در زمان تجارت و تبلیغ معنای بیشتری میابد. اکنون زمان را بدست آورید.

Nginx معمولا در قالب PHP-FPM (مدیریت فرآیند FastCGI) و APC (جایگزین PHP کش) استفاده می شود.

آزمونی برای ۳ نوع متفاوت از نرم افزارهای  PHP  در سه Config  مختلف سرور:

۱-      برنامه حجیمی با استفاده از Zend Framework

۲-      اسکریپت کوچکی از PHP

۳-      WordPress

ادامه ی مطلب