فورس دانلود برای nginx در فایرفاکس

برای فعال کردن فورس دانلود ( اجبار مرورگرها به دانلود ) کافیست تا در تنظیمات nginx یوزر مربوطه کد زیر را قرار دهید.
مثال زیر برای فایل mp3 هست ، برای پسوند دلخواه آنرا بازنویسی کنید

location ~*(.*\.mp3){
    types { application/force-download .mp3;}
    default_type application/force-download;
}

پس از اضافه کردن service nginx restart را بزنید

فعال کردن فورس دانلود در nginx

برای فعال کردن فورس دانلود ( اجبار مرورگرها به دانلود ) کافیست تا در تنظیمات nginx یوزر مربوطه کد زیر را قرار دهید.
مثال زیر برای فایل mp3 هست ، برای پسوند دلخواه آنرا بازنویسی کنید

location ~*(.*\.mp3){
    types { application/octet-stream .mp3;}
    default_type application/octet-stream;
}

پس از اضافه کردن service nginx restart را بزنید
البته این آمزوش بر روی فایرفاکس پاسخ نمیدهد ، آموزش مربوط به فایرفاکس را اینجا ببینید

کانفیگ nginx برای phpbb

جهت انجام این عمل فایل کانفیگ مربوط به هاست را باز می کنیم :

 

nano /usr/local/directadmin/data/users/iranpage/nginx.conf

در بالا به جای iranpage ، نام کاربری هاست مربوطه را وارد نمایید

این فایل کانفیگ آدرس های با www ، پارک دامنه ها و سابدامنه های پارک دامنه ها را به دامین اصلی ریدایرکت می کند
از دسترسی خارجی به فایل ها و پوشه های config.php و پوشه آپلود avatar جلوگیری می کند.
تنظیم Expires header برای عکس ها

server {
    listen   [::]:80;
    server_name  www.domain.com parkeddomain.com *.parkeddomain.com;
    rewrite ^    http://domain.com$request_uri? permanent;
}

server {
    listen   [::]:80;
    server_name  domain.com;
    root   /var/www/domain.com;
    index  index.php index.html index.htm;
    access_log  /var/logs/domain.com.access.log;

    location ~ /(config\.php|common\.php|cache|files|images/avatars/upload|includes|store) {
        deny all;
        return 403;
    }

    location ~* \.(gif|jpe?g|png|css)$ {
        expires   30d;
    }

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_pass   unix:/tmp/php.socket;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

کانفیگ nginx برای Xenforo

جهت انجام این عمل فایل کانفیگ مربوط به هاست را باز می کنیم :

 

nano /usr/local/directadmin/data/users/iranpage/nginx.conf

در بالا به جای iranpage ، نام کاربری هاست مربوطه را وارد نمایید

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

location / {
        try_files $uri $uri/ /index.php?$uri&$args;
    }

    location ~ /(internal_data|library) {
         internal;
    }

    location ~ \.php$ {
        fastcgi_pass   unix:/tmp/php.socket;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include fastcgi_params;
    } 

درصورتیکه بر روی سابدامنه xenforo را نصب کرده اید ( مثلا سابدامنه xenforo ) ، فایل کانفیگ نظیر زیر می شود :

server {
    listen   [::]:80;
    server_name  example.com www.example.com;
    root   /var/www/example.com;
    index  index.html index.htm index.php;
    access_log  /var/www/logs/example.com.access.log;  

    location /xenforo/ {
        try_files $uri $uri/ /xenforo/index.php?$uri&$args;
    }

    location ~ /xenforo/(internal_data|library) {
         internal;
    }

    location ~ \.php$ {
        fastcgi_pass   unix:/tmp/php.socket;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include fastcgi_params;
    }   
}

مشکل لینک وردپرسی در nginx

در وردپرس هرگاه شما از وب سرور آپاچی استفاده می کنید و یک permalinks دلخواه ایجاد می کنید mod_rewrite درون htaccess هاست ایجاد می شود ولی در وبسرور nginx باید تنظیمات را به صورت دستی در فایل کانفیگ وارد نمایید .

جهت انجام این عمل فایل کانفیگ مربوط به هاست را باز می کنیم :

 

nano /usr/local/directadmin/data/users/iranpage/nginx.conf

در بالا به جای iranpage ، نام کاربری هاست مربوطه را وارد نمایید

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

location / {
    index index.php index.html index.htm;
    try_files $uri $uri/ /index.php?$args;
}

درصورتیکه سایت وردپرسی شما بر روی یک سابدامنه ( مثلا بلاگ ) باشد به شکل زیر می شود :

location /blog/ {
    try_files $uri $uri/ /blog/index.php?$args;
}

حال nginx را ریلود نمایید :

nginx -s reload

نمایش لیست فایل ها در nginx

برای نمایش لیست فایل ها در یک سرور nginx نیاز هست تا شما مدیر سرور باشید

از طریق خط فرمان لینوکس خط زیر را ویرایش کنید

/usr/local/directadmin/data/users/username/nginx.conf

به جای username نام کاربری اکانت مورد نظر را وارد کنید

در بین تگ server به قسمتی که آخرین { بسته می شود بروید ، و خط زیر را اضافه کنید

<code>location /{
               autoindex on;
        }</code>

 


	

نحوه نصب nginx بر روی دایرکت ادمین

برای نصب بر روی دایرکت ادمین ابتدا وارد مسیر زیر شوید

# cd /usr/local/directadmin/

در اینجا می بایست نسخه ۲ custombuild دایرکت ادمین را نصب کنید ، در این ورژن از custombuild با تنظیم یک سری از موارد nginx به طور خودکار نصب می شود

mv custombuild custombuild-01
wget http://files.directadmin.com/services/custombuild/2.0/custombuild.tar.gz
tar xvzf custombuild.tar.gz
cd custombuild
./build

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

#vi options.conf

نتیجه باید به شرح زیر باشد:

#Custombuild options
custombuild=2.0

حال مقدار وب سرور را از آپاچه ( Aapche ) به nginx تغییر دهید:

webserver=apache

همچنین مقدار php1_mode را به php-fpm تغییر دهید:

php1_mode=php-fpm

حال دستور زیر را وارد نمائید:

./build all -y

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

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

./build rewrite_confs

توجه :
خطا ۵۰۲ : اگر خطای “۵۰۲ Bad Gateway” را دریافت کردید، احتمالا مقدار hostname بدرستی وارد نشده است و می بایست اصلاح گردد.

خطای ۵۰۳ : اگر با این خطا روبرو شدید، دستور زیر را در سرور وارد نمائید: