ورود

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : نصب Varnish + کانفینگ آپاچی روی دایرکت ادمین



asrhosting
January 24th, 2014, 11:31
با سلام .
در این آموزش قصد داریم آموزش نصب وارنیش کش رو برای دایرکت ادمین آموزش بدیم .
فرض ما بر اینکه شما آخرین نخسه دایرکت ادمین . آپاچی 2.4 و centos نخسه 5 یا 6 رو نصب دارین .
ایتدا پکیچ های مورد نیاز رو نصب می کنیم :

yum -y install automake autoconf libtool ncurses-devel libxslt groff pcre-devel pkgconfig

سپس اخرین نخسه وارنیش کش رو دانلود می کنیم :

http://repo.varnish-cache.org/source/varnish-3.0.5.tar.gz
از حالت فشرده خارجش می کنیم :

tar xzf varnish-3.0.5.tar.gz
وارد پوشه نصب می شیم و مراحل زیر رو اجرا می کنیم :

cd varnish-3.0.5
sh autogen.sh
sh configure
make
make install
ldconfig

خب نصب وارنیش تموم شد !!!
حالا بریم سر کانفینگ اولیه اش :
فایل default.vcl رو فرا خونیش می کنیم و با یه ویرایشگر بازش می کنیم :

nano /usr/local/etc/varnish/default.vcl

مشاهده می کنیم :

backend default {
.host = "127.0.0.1";
.port = "80";
}
پورت رو به پورت دلخواهمون تغییر می دیم ( مثلا 8080 )
فایل روبا گرفتم ctrl + X ذخیره می کنیم ( Y )
الان وارد می کنیم :

varnishd -f /usr/local/etc/varnish/default.vcl -s malloc,512M -T 127.0.0.1:2000 -a 1.1.1.1:8080
* به جای 1.1.1.1 آی پی سرور رو وارد می کنیم .
به جای 512M میزان رم برا کش رو انتخاب می کنیم . ( بستگی به رم سرورتون داره )
الان برا تغییرات بعدی وارنیش رو قطع می کنیم :

killall varnishd

مرحله بعدی فایل های زیر رو با ویرایش گر باز می کنیم

/etc/httpd/conf/httpd.conf
/etc/httpd/conf/extra/httpd-vhosts.conf
/usr/local/directadmin/data/templates/custom/virtual_host2.conf
/usr/local/directadmin/data/templates/custom/virtual_host2_sub.conf
/usr/local/directadmin/data/templates/custom/redirect_virtual_host.conf

سپس به جای پورت 80 پورت 8080 رو وارد می کنیم ( یا هر پورتی که ابتدا مشخص کردیم )

فایل های بالا رو ذخیره می کنیم در ادامه فایل /etc/httpd/conf/httpd.conf رو با یه ویرایش گر بازش می کنیم و Listen 80 رو به 8080 تغییر می دیم :

Listen 8080

خب که خب !
الان وقتشه فایل /etc/httpd/conf/extra/httpd-vhosts.conf رو باز کنیم ...

Include /etc/httpd/conf/ips.conf

#
#
<VirtualHost 1.1.1.1:80>
به موارد ذیل تغییر می دیم :

#Include /etc/httpd/conf/ips.conf
LogFormat "%O \"%r\"" homedir
NameVirtualHost 127.0.0.1:8080
NameVirtualHost 1.1.1.1:8080
NameVirtualHost 1.1.1.1:443
#
#
<VirtualHost 127.0.0.1:8080 1.1.1.1:8080>

به جای 1.1.1.1 آی پی سرور رو جایگزین می کنیم .
دقت کنید حتی یه اسپیس خالی تو این موارد می تونه تمام کار کانفینگ رو خراب کنه .
الان فایل های زیر رو آپدیت می کنیم :

cp -p /usr/local/directadmin/data/templates/virtual_host2.conf /usr/local/directadmin/data/templates/custom/virtual_host2.conf
cp -p /usr/local/directadmin/data/templates/virtual_host2_sub.conf /usr/local/directadmin/data/templates/custom/virtual_host2_sub.conf
cp -p /usr/local/directadmin/data/templates/redirect_virtual_host.conf /usr/local/directadmin/data/templates/custom/redirect_virtual_host.conf

فایل های ذیل رو با یه ویرایش گر باز می کنیم :

/usr/local/directadmin/data/templates/custom/virtual_host2.conf
/usr/local/directadmin/data/templates/custom/virtual_host2_sub.conf
/usr/local/directadmin/data/templates/custom/redirect_virtual_host.conf

و هر جا :

<VirtualHost |IP|:80 |MULTI_IP|>
رو دیدیم یه فوشی بهش می دیم و به : :71:

<VirtualHost 127.0.0.1:8080 |IP|:8080 |MULTI_IP|>
تغییر می دیم .
فایل ها رو ذخیره می کنیم از صحیح بودن کار تا اینجا مطمئن می شیم .
حالا وقت نصب مود rpaf هست !
آخرین نخسه رو دانلود کرده و نصب می کنیم با دستورات زیر :
آدرس سایت برا دانلود : Index of /apache/rpaf/download (http://www.stderr.net/apache/rpaf/download)
خب کافیه الان دستورات ذیل رو بزنید :

http://www.stderr.net/apache/rpaf/download/mod_rpaf-0.6.tar.gz
tar xzf mod_rpaf-0.6.tar.gz
cd mod_rpaf-0.6
wget http://www.be-root.com/downloads/mod_rpaf/mod_rpaf-2.0.patch
patch -p0 < mod_rpaf-2.0.patch
apxs -i -c -n mod_rpaf-2.0.so mod_rpaf-2.0.c



در ادامه موارد ذیل رو در جای مناسب فایل ( محل مد ها ) اضافه می کنیم :

nano /etc/httpd/conf/httpd.conf

LoadModule rpaf_module modules/mod_rpaf-2.0.so

<IfModule rpaf_module>
RPAFenable On
RPAF*****_ips 127.0.0.1 1.1.1.1
RPAFsethostname On
RPAFheader X-Forwarded-For
</IfModule>

* به جای 1.1.1.1 کافیه آی پی سرور رو وارد کنید .
الان وقتشه فایل ذیل رو ویرایش می کنیم. برا این منظور کافیه دستورات زیر رو بزنید :

/etc/httpd/conf/extra/httpd-includes.conf

...
و مواد ذیل رو بهش اضافه کنید :


<IfModule mod_rpaf-2.0.c>
RPAFenable On
RPAFsethostname On
RPAF*****_ips 127.0.0.1
RPAFheader X-Forwarded-For
</IfModule>

* این مورد بالا و مورد قبلی رو می تونید یک مرحله اش رو انجام بدین !

از نصب شدن این ماژول روی آپاچی کاملا مطمئن بشین ...
در آخر آپاچی رو ریسارت می کنیم :

service httpd restart

» برا اطمینان از عملکرد آپاچی :
tail -f /var/log/httpd/access_log

خب برا اینکه بتونیم وارنیش رو ریستارت . استپ و استارت و ... کنیم کافیه یه فایل بسازیم براش ... :

nano /etc/init.d/varnishd
و دستورات برنامه نویسی شده ذیل رو درش قرار می کنیم :

#!/bin/sh
#
# Startup script for varnishd

# Source function library.
. /etc/rc.d/init.d/functions


MALLOC="512M"
BINDADDR="0.0.0.0:80"
TELPORT="2000"
CONFIG="/usr/local/etc/varnish/default.vcl"
OPTIONS="-f $CONFIG -s malloc,$MALLOC -T 127.0.0.1:$TELPORT -a $BINDADDR"

if [ -f /etc/sysconfig/varnishd ]; then
. /etc/sysconfig/varnishd
OPTIONS="-f $CONFIG -s malloc,$MALLOC -T 127.0.0.1:$TELPORT -a $BINDADDR"
fi

PATH="$PATH:/usr/local/sbin"

# See how we were called.
case "$1" in
start)
echo -n "Starting varnishd: "
daemon varnishd $OPTIONS
echo
touch /var/lock/subsys/varnishd
;;
stop)
echo -n "Shutting down varnishd: "
killproc varnishd
echo
rm -f /var/lock/subsys/varnishd
;;
status)
status varnishd
;;
restart)
$0 stop
$0 start
;;
*)
echo -n "Usage: $0 {start|stop|restart|status}"
exit 1
esac

if [ $# -gt 1 ]; then
shift
$0 $*
fi

exit 0



موارد بالا که پر رنگ شدن رو باید با توجه به کانفینگ بالا و آی پی سرور تغییر داد .
منظورم این موارد هست :

MALLOC="512M"
BINDADDR="0.0.0.0:80"
TELPORT="2000"
CONFIG="/usr/local/etc/varnish/default.vcl"
OPTIONS="-f $CONFIG -s malloc,$MALLOC -T 127.0.0.1:$TELPORT -a $BINDADDR"

در صورتی که هنگ کردین لازم نیست تغییرش بدین ... 8-|

الان دستورات زیر رو بزنید :


chmod 755 /etc/init.d/varnishd
chkconfig --add varnishd
chkconfig varnishd on


فایل ذیل رو باز می کنیم :

/usr/local/etc/varnish/default.vcl

پورت رو به پورت 8080 یا هر پورتی که ابتدا انتخاب کردین تغییر بدین .
پورت رو داخل فایروال حتما باز کنید .

فایل /etc/sysconfig/varnishd رو باز کنید و داخلش متن ذیل رو کپی و فایل رو ذخیره کنید :

MALLOC="1G"
BINDADDR="127.0.0.1:80,1.1.1.1:80"
TELPORT="2000"
CONFIG="/usr/local/etc/varnish/default.vcl"

* به جای 1.1.1.1 آی پی خودتون رو بزنید #-o
خب الان دستور زیر رو بزنید :

echo "action=rewrite&value=httpd" >> /usr/local/directadmin/data/task.queue


در پایان :

/etc/init.d/httpd restart

و وارنیش رو راه اندازی می کنیم :

/etc/init.d/varnishd start

در صورتی که مراحل بالا رو دقیق رفته باشین بدون مشکل و ارور باید ریستارت بشه آپاچی و وارنیش هم یه گزارش بهتون بده و ریستارت بشه ( OK ) .
الان باید از سرعت سرورتون لذت ببرین .


در صورتی که مشکلی داشتین داخل تاپیک بگین تا مشکلات رو رفع کنیم .
ممکنه این آموزش برا خیلی از سرور ها ناقص باشه پس اساتید لطفا این آموزش رو کامل کنند .

در هفته های آتی کانفینگ و بهینه کردن آپاچی رو داخل تاپیک توضیح می دم خدمت دوستان .

ehsansetarehdan
January 30th, 2014, 21:25
سلام ، ممنون بابت آموزش کاملتون
فقط روی آپاچی 2.4 قابل نصب هست؟!
مزیت هاش رو هم میشه ذکر بفرمایید و برای چه سایت هایی مناسب هست ؟!

| KVM - SERVER |
January 30th, 2014, 21:29
سلام ، ممنون بابت آموزش کاملتون
فقط روی آپاچی 2.4 قابل نصب هست؟!
مزیت هاش رو هم میشه ذکر بفرمایید و برای چه سایت هایی مناسب هست ؟!
سلام
بنده نصب کردم ، مشکلی نبوده.

ehsansetarehdan
January 30th, 2014, 21:43
Error داد :

[root@Server varnish-3.0.5]# make
(CDPATH="${ZSH_VERSION+.}:" && cd . && /bin/sh /root/varnish-3.0.5/missing --run autoheader)
rm -f stamp-h1
touch config.h.in
cd . && /bin/sh ./config.status config.h
config.status: creating config.h
config.status: config.h is unchanged
make all-recursive
make[1]: Entering directory `/root/varnish-3.0.5'
Making all in include
make[2]: Entering directory `/root/varnish-3.0.5/include'
make all-am
make[3]: Entering directory `/root/varnish-3.0.5/include'
make[3]: Leaving directory `/root/varnish-3.0.5/include'
make[2]: Leaving directory `/root/varnish-3.0.5/include'
Making all in lib
make[2]: Entering directory `/root/varnish-3.0.5/lib'
Making all in libvarnishcompat
make[3]: Entering directory `/root/varnish-3.0.5/lib/libvarnishcompat'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/root/varnish-3.0.5/lib/libvarnishcompat'
Making all in libvarnish
make[3]: Entering directory `/root/varnish-3.0.5/lib/libvarnish'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/root/varnish-3.0.5/lib/libvarnish'
Making all in libvarnishapi
make[3]: Entering directory `/root/varnish-3.0.5/lib/libvarnishapi'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/root/varnish-3.0.5/lib/libvarnishapi'
Making all in libvcl
make[3]: Entering directory `/root/varnish-3.0.5/lib/libvcl'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/root/varnish-3.0.5/lib/libvcl'
Making all in libvgz
make[3]: Entering directory `/root/varnish-3.0.5/lib/libvgz'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/root/varnish-3.0.5/lib/libvgz'
Making all in libvmod_std
make[3]: Entering directory `/root/varnish-3.0.5/lib/libvmod_std'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/root/varnish-3.0.5/lib/libvmod_std'
Making all in libjemalloc
make[3]: Entering directory `/root/varnish-3.0.5/lib/libjemalloc'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/root/varnish-3.0.5/lib/libjemalloc'
make[3]: Entering directory `/root/varnish-3.0.5/lib'
make[3]: Nothing to be done for `all-am'.
make[3]: Leaving directory `/root/varnish-3.0.5/lib'
make[2]: Leaving directory `/root/varnish-3.0.5/lib'
Making all in bin
make[2]: Entering directory `/root/varnish-3.0.5/bin'
Making all in varnishadm
make[3]: Entering directory `/root/varnish-3.0.5/bin/varnishadm'
gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I../.. -I../../include -g -O2 -pthread -Wextra -Wno-missing-field-initializers -Wno-sign-compare -MT varnishadm-varnishadm.o -MD -MP -MF .deps/varnishadm-varnishadm.Tpo -c -o varnishadm-varnishadm.o `test -f 'varnishadm.c' || echo './'`varnishadm.c
varnishadm.c:48:33: error: editline/readline.h: No such file or directory
varnishadm.c: In function قcli_writeق:
varnishadm.c:76: warning: implicit declaration of function قrl_callback_handler_removeق
varnishadm.c: In function قsend_lineق:
varnishadm.c:179: warning: implicit declaration of function قadd_historyق
varnishadm.c: In function قvarnishadm_completionق:
varnishadm.c:216: warning: implicit declaration of function قrl_completion_matchesق
varnishadm.c:216: warning: assignment makes pointer from integer without a cast
varnishadm.c: In function قinteractiveق:
varnishadm.c:233: error: قrl_already_promptedق undeclared (first use in this function)
varnishadm.c:233: error: (Each undeclared identifier is reported only once
varnishadm.c:233: error: for each function it appears in.)
varnishadm.c:234: warning: implicit declaration of function قrl_callback_handler_installق
varnishadm.c:235: error: قrl_attempted_completion_functionق undeclared (first use in this function)
varnishadm.c:296: warning: implicit declaration of function قrl_forced_update_displayق
varnishadm.c:299: warning: implicit declaration of function قrl_callback_read_charق
make[3]: *** [varnishadm-varnishadm.o] Error 1
make[3]: Leaving directory `/root/varnish-3.0.5/bin/varnishadm'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/root/varnish-3.0.5/bin'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/root/varnish-3.0.5'
make: *** [all] Error 2

OmidX
February 10th, 2014, 14:37
ارور میده ک :



make[3]: *** [varnishadm-varnishadm.o] Error 1
make[3]: Leaving directory `/root/varnish-3.0.5/bin/varnishadm'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/root/varnish-3.0.5/bin'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/root/varnish-3.0.5'
make: *** [all] Error 2

arc1o0
February 10th, 2014, 22:08
شاید بدردتون بخوره

http://netiran.co/R2/files/Cpanel%20Varnish.MP4

OmidX
February 11th, 2014, 01:53
شاید بدردتون بخوره

http://netiran.co/R2/files/Cpanel%20Varnish.MP4

این درباره پلاگین nginxcp سیپنل بود ...

wanener
February 11th, 2014, 22:43
سلام ، ممنون بابت آموزش کاملتون
فقط روی آپاچی 2.4 قابل نصب هست؟!
مزیت هاش رو هم میشه ذکر بفرمایید و برای چه سایت هایی مناسب هست ؟!

سلام
برای نسخه 2.4 آپاچی باید Mod real Ip رو (اگر اشتباه نکنم) کامپایل کنید
یا x-header رو تنظیم کنید در غیر این صورت سیستم هایی که با آی پی واقعی کاربران محدودتهایی اعمال میکنند برای کابران شما مشکل ایجاد خواهند کرد ( آی پی همه آنها 127.0.0.1 یا 1.1.1.1 که در این آموزش اشاره شده به نرم افزار شما ارسال میشه )