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 ) .
الان باید از سرعت سرورتون لذت ببرین .
در صورتی که مشکلی داشتین داخل تاپیک بگین تا مشکلات رو رفع کنیم .
ممکنه این آموزش برا خیلی از سرور ها ناقص باشه پس اساتید لطفا این آموزش رو کامل کنند .
در هفته های آتی کانفینگ و بهینه کردن آپاچی رو داخل تاپیک توضیح می دم خدمت دوستان .
در این آموزش قصد داریم آموزش نصب وارنیش کش رو برای دایرکت ادمین آموزش بدیم .
فرض ما بر اینکه شما آخرین نخسه دایرکت ادمین . آپاچی 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 ) .
الان باید از سرعت سرورتون لذت ببرین .
در صورتی که مشکلی داشتین داخل تاپیک بگین تا مشکلات رو رفع کنیم .
ممکنه این آموزش برا خیلی از سرور ها ناقص باشه پس اساتید لطفا این آموزش رو کامل کنند .
در هفته های آتی کانفینگ و بهینه کردن آپاچی رو داخل تاپیک توضیح می دم خدمت دوستان .