نصب Varnish + کانفینگ آپاچی روی دایرکت ادمین
با سلام .
در این آموزش قصد داریم آموزش نصب وارنیش کش رو برای دایرکت ادمین آموزش بدیم .
فرض ما بر اینکه شما آخرین نخسه دایرکت ادمین . آپاچی 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
مشاهده می کنیم :
نقل قول:
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 تغییر می دیم :
خب که خب !
الان وقتشه فایل /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
خب کافیه الان دستورات ذیل رو بزنید :
در ادامه موارد ذیل رو در جای مناسب فایل ( محل مد ها ) اضافه می کنیم :
نقل قول:
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 ) .
الان باید از سرعت سرورتون لذت ببرین .
در صورتی که مشکلی داشتین داخل تاپیک بگین تا مشکلات رو رفع کنیم .
ممکنه این آموزش برا خیلی از سرور ها ناقص باشه پس اساتید لطفا این آموزش رو کامل کنند .
در هفته های آتی کانفینگ و بهینه کردن آپاچی رو داخل تاپیک توضیح می دم خدمت دوستان .
پاسخ : نصب Varnish + کانفینگ آپاچی روی دایرکت ادمین
سلام ، ممنون بابت آموزش کاملتون
فقط روی آپاچی 2.4 قابل نصب هست؟!
مزیت هاش رو هم میشه ذکر بفرمایید و برای چه سایت هایی مناسب هست ؟!
پاسخ : نصب Varnish + کانفینگ آپاچی روی دایرکت ادمین
نقل قول:
نوشته اصلی توسط
ehsansetarehdan
سلام ، ممنون بابت آموزش کاملتون
فقط روی آپاچی 2.4 قابل نصب هست؟!
مزیت هاش رو هم میشه ذکر بفرمایید و برای چه سایت هایی مناسب هست ؟!
سلام
بنده نصب کردم ، مشکلی نبوده.
پاسخ : نصب Varnish + کانفینگ آپاچی روی دایرکت ادمین
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
پاسخ : نصب Varnish + کانفینگ آپاچی روی دایرکت ادمین
ارور میده ک :
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
پاسخ : نصب Varnish + کانفینگ آپاچی روی دایرکت ادمین
پاسخ : نصب Varnish + کانفینگ آپاچی روی دایرکت ادمین
نقل قول:
نوشته اصلی توسط
arc1o0
این درباره پلاگین nginxcp سیپنل بود ...
پاسخ : نصب Varnish + کانفینگ آپاچی روی دایرکت ادمین
نقل قول:
نوشته اصلی توسط
ehsansetarehdan
سلام ، ممنون بابت آموزش کاملتون
فقط روی آپاچی 2.4 قابل نصب هست؟!
مزیت هاش رو هم میشه ذکر بفرمایید و برای چه سایت هایی مناسب هست ؟!
سلام
برای نسخه 2.4 آپاچی باید Mod real Ip رو (اگر اشتباه نکنم) کامپایل کنید
یا x-header رو تنظیم کنید در غیر این صورت سیستم هایی که با آی پی واقعی کاربران محدودتهایی اعمال میکنند برای کابران شما مشکل ایجاد خواهند کرد ( آی پی همه آنها 127.0.0.1 یا 1.1.1.1 که در این آموزش اشاره شده به نرم افزار شما ارسال میشه )