با سلام .
در این آموزش قصد داریم آموزش نصب وارنیش کش رو برای دایرکت ادمین آموزش بدیم .
فرض ما بر اینکه شما آخرین نخسه دایرکت ادمین . آپاچی 2.4 و centos نخسه 5 یا 6 رو نصب دارین .
ایتدا پکیچ های مورد نیاز رو نصب می کنیم :
سپس اخرین نخسه وارنیش کش رو دانلود می کنیم :yum -y install automake autoconf libtool ncurses-devel libxslt groff pcre-devel pkgconfig
از حالت فشرده خارجش می کنیم :
وارد پوشه نصب می شیم و مراحل زیر رو اجرا می کنیم :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
پورت رو به پورت دلخواهمون تغییر می دیم ( مثلا 8080 )backend default {
.host = "127.0.0.1";
.port = "80";
}
فایل روبا گرفتم ctrl + X ذخیره می کنیم ( Y )
الان وارد می کنیم :
* به جای 1.1.1.1 آی پی سرور رو وارد می کنیم .varnishd -f /usr/local/etc/varnish/default.vcl -s malloc,512M -T 127.0.0.1:2000 -a 1.1.1.1:8080
به جای 512M میزان رم برا کش رو انتخاب می کنیم . ( بستگی به رم سرورتون داره )
الان برا تغییرات بعدی وارنیش رو قطع می کنیم :
مرحله بعدی فایل های زیر رو با ویرایش گر باز می کنیمkillall varnishd
سپس به جای پورت 80 پورت 8080 رو وارد می کنیم ( یا هر پورتی که ابتدا مشخص کردیم )/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
فایل های بالا رو ذخیره می کنیم در ادامه فایل /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>
به جای 1.1.1.1 آی پی سرور رو جایگزین می کنیم .#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>
دقت کنید حتی یه اسپیس خالی تو این موارد می تونه تمام کار کانفینگ رو خراب کنه .
الان فایل های زیر رو آپدیت می کنیم :
فایل های ذیل رو با یه ویرایش گر باز می کنیم :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|>
تغییر می دیم .<VirtualHost 127.0.0.1:8080 |IP|:8080 |MULTI_IP|>
فایل ها رو ذخیره می کنیم از صحیح بودن کار تا اینجا مطمئن می شیم .
حالا وقت نصب مود rpaf هست !
آخرین نخسه رو دانلود کرده و نصب می کنیم با دستورات زیر :
آدرس سایت برا دانلود : Index of /apache/rpaf/download
خب کافیه الان دستورات ذیل رو بزنید :
http://www.stderr.net/apache/rpaf/do...paf-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-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* به جای 1.1.1.1 کافیه آی پی سرور رو وارد کنید .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>
الان وقتشه فایل ذیل رو ویرایش می کنیم. برا این منظور کافیه دستورات زیر رو بزنید :
.../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"
در صورتی که هنگ کردین لازم نیست تغییرش بدین ...
الان دستورات زیر رو بزنید :
فایل ذیل رو باز می کنیم :chmod 755 /etc/init.d/varnishd
chkconfig --add varnishd
chkconfig varnishd on
پورت رو به پورت 8080 یا هر پورتی که ابتدا انتخاب کردین تغییر بدین ./usr/local/etc/varnish/default.vcl
پورت رو داخل فایروال حتما باز کنید .
فایل /etc/sysconfig/varnishd رو باز کنید و داخلش متن ذیل رو کپی و فایل رو ذخیره کنید :
* به جای 1.1.1.1 آی پی خودتون رو بزنیدMALLOC="1G"
BINDADDR="127.0.0.1:80,1.1.1.1:80"
TELPORT="2000"
CONFIG="/usr/local/etc/varnish/default.vcl"
خب الان دستور زیر رو بزنید :
echo "action=rewrite&value=httpd" >> /usr/local/directadmin/data/task.queue
در پایان :
و وارنیش رو راه اندازی می کنیم :/etc/init.d/httpd restart
در صورتی که مراحل بالا رو دقیق رفته باشین بدون مشکل و ارور باید ریستارت بشه آپاچی و وارنیش هم یه گزارش بهتون بده و ریستارت بشه ( OK ) ./etc/init.d/varnishd start
الان باید از سرعت سرورتون لذت ببرین .
در صورتی که مشکلی داشتین داخل تاپیک بگین تا مشکلات رو رفع کنیم .
ممکنه این آموزش برا خیلی از سرور ها ناقص باشه پس اساتید لطفا این آموزش رو کامل کنند .
در هفته های آتی کانفینگ و بهینه کردن آپاچی رو داخل تاپیک توضیح می دم خدمت دوستان .