-
December 1st, 2016, 16:03
#1
سه سوال در باب nginx اول برای تبدیل htaccess در nginx چه کار باید کرد ؟
برای تبدیل htaccess در nginx چه کار باید کرد ؟
یک سایتی هست که کد های apache رو تبدیل می کنه به قابلیت خونده شدن در nginx
بعد اون کد کجا باید قرار بگیره ؟
یک نفر گفته بودن باید به این شکل ذخیره بشه در روت سایت اما جواب نمیگیرم nginx.conf.txt
سوال دومم اینه که من nginx رو به صورت مستقیم و ماژول directadmin نصب کردم
الان من کدوم فایل رو باید برای انجام تغییرات ویرایش کنم ؟
nano /usr/local/directadmin/custombuild/configure/nginx/conf/nginx.conf
یا
nano /etc/nginx/nginx.conf
سوال سومم اینه که این دستور رو به اخر فایل بالا اضافه کردم اما موقع reload ارور میگیرم دلیلش چیه
پیشاپیش ممنون
-
تعداد تشکر ها از unix_magnet به دلیل پست مفید
-
December 1st, 2016 16:03
# ADS
-
December 1st, 2016, 16:16
#2
عضو انجمن
پاسخ : سه سوال در باب nginx اول برای تبدیل htaccess در nginx چه کار باید کرد ؟
این موارد و باید در قفایل کانفیگ هر یوزر جدا گانه قرار بدید.
/usr/local/directadmin/data/users/USERNAME/nginx.conf
گمراهان دو دسته اند:
آنان که خواندند و اندیشه نکردند
آنان که نخواندند و یقین آوردند.
-
تعداد تشکر ها از OnlineServer به دلیل پست مفید
-
December 1st, 2016, 16:22
#3
پاسخ : سه سوال در باب nginx اول برای تبدیل htaccess در nginx چه کار باید کرد ؟

نوشته اصلی توسط
OnlineServer
این موارد و باید در قفایل کانفیگ هر یوزر جدا گانه قرار بدید.
/usr/local/directadmin/data/users/USERNAME/nginx.conf
دستور موجود در فایل رو در مسیر فوق قرار دادم
کد:
# nginx configuration
location / {
if (!-e $request_filename){
rewrite ^(.*)$ /index.php break;
}
}
ارور گرفتم
کد PHP:
/etc/init.d/nginx reload
nginx: [emerg] "location" directive is not allowed here in /usr/local/directadmin/data/users/*/nginx.conf:37
nginx: configuration file /etc/nginx/nginx.conf test failed
ویرایش توسط unix_magnet : December 1st, 2016 در ساعت 16:26
-
-
December 1st, 2016, 16:44
#4
عضو انجمن
پاسخ : سه سوال در باب nginx اول برای تبدیل htaccess در nginx چه کار باید کرد ؟

نوشته اصلی توسط
unix_magnet
برای تبدیل htaccess در nginx چه کار باید کرد ؟
یک سایتی هست که کد های apache رو تبدیل می کنه به قابلیت خونده شدن در nginx
بعد اون کد کجا باید قرار بگیره ؟
یک نفر گفته بودن باید به این شکل ذخیره بشه در روت سایت اما جواب نمیگیرم nginx.conf.txt
سوال دومم اینه که من nginx رو به صورت مستقیم و ماژول directadmin نصب کردم
الان من کدوم فایل رو باید برای انجام تغییرات ویرایش کنم ؟
nano /usr/local/directadmin/custombuild/configure/nginx/conf/nginx.conf
یا
nano /etc/nginx/nginx.conf
سوال سومم اینه که این دستور رو به اخر فایل بالا اضافه کردم اما موقع reload ارور میگیرم دلیلش چیه
پیشاپیش ممنون
برای تبدیل کدهای httacess به nginx
می توانید از سایت های زیر استفاده کنید .
https://winginx.com/en/htaccess
https://www.nginx.com/blog/convertin...rewrite-rules/
البته برای ورد پرس از لینک زیر استفاده کنید :
https://www.nginx.com/resources/wiki...pes/wordpress/
کد های httacess برای هر سایت یا به عبارتی هر یوزر اعمال می شود
به همین منظور شما باید کد ها یی که تبدیل می کنید را در فایل کانفیگ nginxآن یوزر تغییر دهید
بهترین راه در دایرکت ادمین به ترتیب زیر هست :
وارد ادمین دایرکت ادمین شوید .
بر روی Custom HTTPd Configurations
کلیک کنید .
در صفحه ای که باز می شود بر روی دامنه ای که می خواهید
کد ها روی آن اعمال شود کلیک کنید
در این قسمت می توانید کد ها را وارد کنید .
البته به این نکته توجه کنید
کد هایی که در این قسمت وارد می کنید در
بلوک server { } اعمال می شود .
ساختار nginx در دایرکت ادمین
به دلیل ساخت اتوماتیک
viitural host
قدری متفاوت هست
gzip به صورت پیشفرض روی تنظیمات nginx در دایرکت ادمین
فعال هست .
تنظیمات آن هم در مسیر و فایل زیر می باشد :
/etc/nginx/nginx-gzip.conf
اینکه بعد از وارد کردن gzip on پیغام خطا دریافت می کنید به دلیل جایگاه اشتباه کد و تکراری بودن آن هست .
-
تعداد تشکر ها از rahyarco به دلیل پست مفید
-
December 1st, 2016, 17:35
#5
پاسخ : سه سوال در باب nginx اول برای تبدیل htaccess در nginx چه کار باید کرد ؟

نوشته اصلی توسط
rahyarco
.
.
.
/etc/nginx/nginx-gzip.conf
اینکه بعد از وارد کردن gzip on پیغام خطا دریافت می کنید به دلیل جایگاه اشتباه کد و تکراری بودن آن هست .
ممنون از توضیحات شما
ولی این توضیحات جواب سوال من نبود .
Custom HTTPd Configurations همون لینکی هست که دوست عزیزمون بالا بهش اشاره کردن ولی این گرافیکی و اون در ترمینال
-
-
December 1st, 2016, 18:33
#6
عضو انجمن
پاسخ : سه سوال در باب nginx اول برای تبدیل htaccess در nginx چه کار باید کرد ؟

نوشته اصلی توسط
unix_magnet
ممنون از توضیحات شما
ولی این توضیحات جواب سوال من نبود .
Custom HTTPd Configurations همون لینکی هست که دوست عزیزمون بالا بهش اشاره کردن ولی این گرافیکی و اون در ترمینال
توضیحات سعی کردم کامل خدمتتون عرض کنم
تا مشکلی نباشد .
شما زمانی که nginx آپدیت کنید یا
از ./build rewrite_confs
در کاستوم بیلد استفاده کنید
تغییراتی که به صورت دستی در فایل ها داده اید
از بین می رود !
پس استفاده از
Custom HTTPd Configurations
فقط دسترسی گرافیکی به فایل نیست
بلکه راه اصولی و پیشنهادی دایرکت ادمین برای اضافه کردن اینگونه دستورات در nginx هست .
در مورد پیغام خطا و gzip هم توضیح دادم خدمتتون ، اگر جای متوجه نشدید اعلام کنید تا بیشتر توضیج بدم .
-
تعداد تشکر ها از rahyarco به دلیل پست مفید
-
December 1st, 2016, 18:42
#7
پاسخ : سه سوال در باب nginx اول برای تبدیل htaccess در nginx چه کار باید کرد ؟

نوشته اصلی توسط
rahyarco
توضیحات سعی کردم کامل خدمتتون عرض کنم
.
.
.
در مورد پیغام خطا و gzip هم توضیح دادم خدمتتون ، اگر جای متوجه نشدید اعلام کنید تا بیشتر توضیج بدم .
خیلی ممنون من موقعی که دستور مربوطه رو وارد می کنم ارور میگیرم مشکل از چی می تونه باشه اون بالا ارور مربوطه رو نوشتم
-
-
December 1st, 2016, 22:02
#8
پاسخ : سه سوال در باب nginx اول برای تبدیل htaccess در nginx چه کار باید کرد ؟
مشکل اولم رو حل کردم
مشکل دومم در حد یک سوال هست اما همچنان حل نشده هست یعنی جوابی نگرفتم
مشکل سومم دستوراتی شبیه به این رو کجا باید دقیقا وارد کنیم ؟
داخل
http
}
{
یا بیرون اون ؟
کد:
server_tokens off;
add_header X-Frame-Options Deny;
expires 365d;
ویرایش توسط unix_magnet : December 1st, 2016 در ساعت 22:31
-
-
December 1st, 2016, 22:40
#9
عضو انجمن
پاسخ : سه سوال در باب nginx اول برای تبدیل htaccess در nginx چه کار باید کرد ؟
مشکل اول :
Custom HTTPd Configurations
مشکل دوم و سوم :
server_tokens off;
در فایل زیر موجود هست .
کد:
/etc/nginx/nginx-defaults.conf
همانطور که گفتم یک سری تنظیمات مربوط به یوزر هست و یک سری تنظیمات مربوط به سرور
server_tokens off مربوط به سرور هست و در فایل nginx-defaults.conf هم موجود هست . ساختار nginx در دایرکت ادمین با فایل های آموزشی در اینترنت متفاوت هست و باید بدانید هر کد را در کدام فایل قرار دهید . وقتی شما کدی را می زنید که در تنظیمات nginx هست منطقی هست که با پیغام خطا روبرو شوید .
در دایرکت ادمین برخی از تنظیمات سمت سرور را باید در فایل های زیر که در پوشه /etc/nginx/ قرار دارد
ویرایش کنید .
nginx-events.conf
nginx-defaults.conf
nginx-gzip.conf
nginx_limits.conf
در هنگام وارد کردن کد ها هم باید به ساختار کد توجه کنید برای مثال کد expires 365d; به تنهایی معنایی ندارد !
برای کش شدن عکس ها و برخی از فایل ها از کد زیر
کد:
location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
expires 365d;
}
در قسمت Custom HTTPd Configurations باید استفاده کنید .
برخی از تنظیمات در ورژن های مختلف هم متفاوت هست و ممکن است با پیغام خطا روبرو شوید !
برای همین در nginx ابتدا فایل config را چک می کنند که مشکلی وجود نداشته باشد
برای این کار پس از ویرایش کد زیر را می زنند :
کد:
/etc/init.d/nginx configtest
پیغام خطایی که شما دریافت کردید هم خروجی این دستور هست .
در انتها اگر کدی را با ساختار اشتباه و در جای غیر مناسب وارد کنید وب سرور از کار می افتد !
برای اعمال درست تغییرات می توانید در سایت دایرکت ادمین و گوگل سرچ کنید یا از افراد با تجربه در این زمینه درخواست آموزش کنید .
-
تعداد تشکر ها از rahyarco به دلیل پست مفید