یک وبلاگ دیگر از یک برنامه نویس دیگر
نوشتههایی با برچسب apache
دو نکته برای بالا بردن سرعت – آپاچی
دی ۲۸م
از نکاتی که پیشنهاد میشه برای بالا بردن سرعت یه سایت این دو مساله سادست:
۱- اضافه کردن Expire Header به فایلها، و خصوصا یک زمان دور برای فایلهای استاتیک، مثلا عکسها و فایلهای css و جاوااسکریپت. البته بد نیست برای فایلهای php و html هم این زمان رو تعیین کنیم ولی نه چندان دور.
۲- کمپرس کردن فایلهای متنی با متد gzip و فرستادن اونها به کلاینت به جای ارسال محتوای فشرده نشده.
برای هر دو در خود PHP امکاناتی هست، ولی مشکلاتی هم هست. این امکانات که در PHP هستن، طبیعیه که فقط برای فایلهای PHP کار میکنن نه مثلا فایلهای CSS یا JS که اونها مهمترن برای اینکار. یعنی شما میتونید با دستور header استفاده کنید برای ویرایش http header و از تنظیمات PHP هم gzip رو فعال کنید، ولی این فقط برای فایلهایی که PHP پردازش میکنه اعمال میشن نه همه فایلها.
اینجا آپاچی میتونه خیلی کمک کنه. برای اینکار باید دو ماژول معروفآپاچی رو نصب کنید.
ادامه مطلب
آدرس دهی درست
مهر ۸م
یکی از دغدغه های فعلی طراحان وب، ایجاد لینک های “موتور جستجو پسند!” شده. پر بیراه هم نیست، که این لینکها هم به راحتی به خاطر سپرده میشوند و هم اینکه خواناتر هستند هم برای آدمیزاد هم ربات. ابن لینکها، برای یک سایت SEO Friendly یکی از مهمترین بخشهاست.
اکثر CMS ها یا Framework ها امکاناتی برای ایجاد این لینکها معرفی میکنند. منتها اگر لازم باشه که خودتون بنویسیدش، شاید یه کم دردسر ساز بشه. تو این پست میخوام توضیح بدم با آپاچی و PHP چطوری میشه این کار رو انجام داد.
معمولا، آدرسهای اینترنتی به این صورت هستن :
http://example.com/users.php?id=10&action=delete&uid=somedata
که ما ترجیح میدیم (مثلا) اینطوری باشن (که من هدفم همینه):
http://example.com/users/id:10/action:delete/uid:somedata
یا مثلا این :
http://example.com/users/id/10/action/delete/uid/somedata
دو تا حالت فرقی نمیکنه، شاید شما بخواید حتی جور دیگه ای ایجادش کنید که یه کم بحث سلیقه و انتخاب شخصی خودتون و نیازها مطرح میشه. من حالت اول رو توضیح میدم، دومی هم آنچنان فرقی نمیکنه.
۱- ملزومات
اولین چیز آپاچی هستش با mod_rewrite که روش نصب و فعال باشه. برای باقی وب سرور ها هم ممکنه، مثلا lighttpd هم این قابلیت رو داره با کمی تفاوت، و IIS 7 هم . منتها برای IIS های قدیمیتر، بدون یک سری اضافات ممکن نیست. البته میشه از error document استفاده کرد، که در آینده اگه حسش بود و وقتش بود توضیح میدم دربارش (همین الان من از این استفاده میکنم، توی IIS 6 و همین وبلاگ)
بعد از نصب آپاچی مطمئن بشید که mod_rewrite فعاله. توی تنظیمات بگردید دنبالش، یه خطی به این صورت :
LoadModule rewrite_module modules/mod_rewrite.so
البته نکته جالب برای خودم اینه که الان اصلا و ابدا من این فایل mod_rewrite.so رو ندارم، توی تنظیمات آپاچی هم نیست همچین خطی ولی rewrite فعاله!! (من از Zend Server CE استفاده میکنم) حالا راه ساده تر (اگه به تنظیمات دسترسی ندارید یا مثل من نسخه تغییر داده شده آپاچی رو نصب دارید) اینه که اینطوری تستش کنید:
یه فایل بسازیدد توی پوشه ریشه آپاچی به اسم .htaccess (یک نقطه، قبل از اسم فایل هست، یعنی در حقیقت فایلی بدون اسم با پسوند htacces برای ویندوزیها و برای لینوکسی ها یک فایل مخفی.)
تا جایی که یادمه توی ویندوز نمیشد از طریف explorer چنین فایلی ساخت، به جاش یه فایل بسازید با notepad بعد با اون که ذخیرش کنید با این اسم.داخلش این کد رو بنویسید :
RewriteEngine On
بعد سایت رو از طریق بروزر باز کنید. اگه صفحه 500, Internal Server Error گرفتید یعنی نصب نیست. در غیر اینصورت مشکلی نیست.
یه نکته که فراموش کرده بودم این بود که توی تنظیمات اصلی آپاچی، اونجایی که Virtual Host رو تعریف میکنید عبارت
AllowOverride All
باشه، یعنی دست کم None نباشه به جای All.
باقیش هم که فقط مربوط میشه به PHP و تمام.
ادامه مطلب
هاست مجازی بر روی آپاچی
آذر ۲۱م
خیلی پیش می آید که ما نیاز به چند آدرس مختلف در یک کامپیوتر داشته باشیم، مثلا نیاز مند این باشیم که کاربران شبکه داخلی، با زدن آی پی کامپیوتر در بروزر خودشان، یک صفحه ببینند و مثلا کاربرانی که از یک شبکه دیگر (مثلا اینترنت) به کامپیوتر شما رجوع میکنند چیز دیگری ببینند و اصلا گاهی لازم میشود که شما چندین هاست مجازی مختلف به صورت محلی (Local) بر روی کامپیوتر خود داشته باشید تا بتوانید به صورت کاملا مستقل از هم بر روی هر کدام کار کنید.
برای اینکار آپاچی قابلیت Virtual Host را پیشنهاد میکند.
برای اینکار ابتدا باید آی پی های مختلف مد نظرتان را مشخص کنید. مثلا من به این آی پی ها نیاز دارم و میخواهم همه آنها به صورت جدا از هم باشند.
- 127.0.0.1 برای استفاده شخصی خودم
- 192.168.0.1 آدرسی که کاربران شبکه میبینند
- 78.53.33.13 آی پی من در اینترنت (این آی پی همین طوری و خیلی اتفاقی انتخاب شده :) باور کنید من برلین نیستم و این آی پی من نیست! )
- و در نهایت یک سایت محلی دیگر، مجزا از 127.0.0.1
برای اینکار، نیازمند ویرایش فایل httpd.conf هستیم .این فایل برای ویندوز در آدرسی هست که آپاچی نصب شده، ولی در لینوکس در /etc/apache2 هست.
127.0.0.1
معمولا آدرس 127.0.0.1 را میتوانید هنگام نصب به عنوان آدرس اصلی انتخاب کنید، اگر بنا به هر دلیلی این آدرس در کامپیوتر شما مشکل داشت، دقیقا مثل آدرس چهارم عمل کنید
192.168.0.1
برای افزودن این آدرس، کافی است کد زیر را به انتها فایل httpd.conf اضافه کنید :
<VirtualHost 192.168.0.1:80>
ServerAdmin yourmail@yourhost.ext
DocumentRoot "c:/path/to/the/root/folder/for/this/host"
ServerName localnetwork.loc
</VirtualHost>




