lighttpd + percona + php-fpm تجربه ای متفاوت
لینک کوتاه جمعه , 05 مهر 1392 1 دیدگاه
lighttpd : لایتی همانطور که از اسمش پیداست ، یک وبسرور کم مصرف هست چه از نظر مصرف حافظه و چه از نظر درگیر کردن سی پی یو ، به تعریف سایت خودش Security, speed, compliance, and flexibility -- all of these describe lighttpd (pron.lighty)
Percona : در یک کلام ، جایگزینی شایسته برای MySQL به تعریف سایت خودش Percona has made MySQL faster and more reliable for over 2,000 consulting and support customers worldwide
php-fpm : ساده است ،اجرای پی اچی پی بصورت FastCGI یعنی سرعت واقعی :)
خب ، لازم نیست زیاد در موردشون صحبت کنم اما اگر تمایل دارید میتونید سری به سایتهاشون بزنید ، اما هدف من چیز دیگه ای هست !
واقعا چی میشد کل اینها رو با هم داشت؟ در ادامه روش نصب و کانفیگ برروی سرور اوبونتو توضیح داده میشود
قدم اول نصب percona :
اول از هر چیز دستور زیر را برای حذف mysql اجرا کنید ، نگران نباشید تمامی دیتابیسهای شما سرجای خودشان باقی خواهند ماند ، تنها چیزی که تغییر میکند جابه جایی MySQL با Percona هست .
sudo -s
apt-get update
apt-get remove mysql-client mysql-server
apt-get install nano
apt-key adv --keyserver keys.gnupg.net --recv-keys 1C4CBDCDCD2EFD2A
nano /etc/apt/sources.list
سپس دو خط زیر را به لیست ریپوهاتون اضافه میکنید دقت کنید که به جای کلمه VERSION باید اسم نگارش توزیعتون رو بنویسید به طور مثال اوبونتو 12.4 باید بنویسید precise یا دبیان6 باید بنویسید squeeze . به نظرم یه نگاهی به
این لینک بندازید بد نیست .
percona.com/doc/percona-server/5.5/installation/apt_repo.html
deb http://repo.percona.com/apt VERSION main
deb-src http://repo.percona.com/apt VERSION main
سپس فایل را ببندید ، اکنون شروع به نصب میکنیم .
apt-get install percona-server-server-5.5 percona-server-client-5.5
در طی مراحل نصب ازتون میخواد یک پسورد برای یوزر رووت ست کنید ، حتما یک پسورد مناسب با امنیت بالا ست کنید .
اگر همه چیز به خوبی و خوشی انجام شده باشد کار نصب percona به پایان رسیده ، بهتره یه بررسی بکنید .
mysql -u root -p
بعد از وارد کردن پسورد ، میتوانید دستورات sql انجام بدید .
select 1+1 ;
quit;
قدم دوم نصب php-fpm :
دستورات زیر را به ترتیب انجام دهید
apt-get install python-software-properties
add-apt-repository ppa:ondrej/php5
apt-get update
apt-get install php5-common php5-mysql php5-xmlrpc php5-cgi php5-curl php5-gd php5-cli php5-fpm php-apc php-pear php5-dev php5-imap php5-mcrypt
service php5-fpm restart
اگر خطایی دریافت نکردید پس همه چیز درست است ، برای بررسی میتوانید از دستور زیر استفاده کنید
service php5-fpm status
قدم سوم نصب لایتی :
به دستور زیر به سادگی لایتی نصب میشود
apt-get install lighttpd
اکنون به لینک زیر بروید http://127.0.0.1/index.lighttpd.html البته به جای 127.0.0.1 آی پی سرور خود را وارد کنید ، چیزی که میبینید باید صفحه placeholder lighttpd باشد ، اگر این طور است پس لایتی به درستی نصب شده .
حال نوبت به کانفیگ لایتی با php-fpm است .
در شاخه /etc/lighttpd/conf-available/ فایل 15-fastcgi-php.conf را باز کنید و دستورات زیر را تطبیق بدهید و در صورت لزوم جایگزین کنید .
nano /etc/lighttpd/conf-available/15-fastcgi-php.conf
fastcgi.server += ( ".php" =>
((
"host" => "127.0.0.1",
"port" => "9000",
"broken-scriptfilename" => "enable"
))
)
اکنون فایل را ذخیره کرده و سپس فایل تنظیمات پی اچ پی را باز کنید و مقدار cgi.fix_pathinfo را برروی 1 تنظیم کنید
nano /etc/php5/fpm/php.ini
[...]
; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI. PHP’s
; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok
; what PATH_INFO is. For more information on PATH_INFO, see the cgi specs. Setting
; this to 1 will cause PHP CGI to fix its paths to conform to the spec. A setting
; of zero causes PHP to behave as before. Default is 1. You should fix your scripts
; to use SCRIPT_FILENAME rather than PATH_TRANSLATED.
; http://php.net/cgi.fix-pathinfo
cgi.fix_pathinfo=1
[...]
حال همه چیز درست شده ، اکنون همه چیز را یک بار رستارت کنید
service php5-fpm restart
service mysql restart
service lighttpd restart
برای تست نهایی ، دستور phpinfo() را در یک فایل مینویسیم و از مرورگر چک میکنیم .
nano /var/www/phpinfo.php
<?php phpinfo();
127.0.0.1/phpinfo.php
اگر همه چیز به خوبی پیش رفته باشد صفحه مشخصات پی اچ پی را مشاهده خواهید کرد .
امیدوارم این مطلب مفید واقع بوده باشه . شخصا خیلی از lighttpd خوشم میاد و برروی
انجمن مارکت سازان از این وبسرور سبک استفاده کرده ام . به شما هم پیشنهاد میکنم استفاده کنید :)
یا حق .
سلام
باز کلاس بالا نوشتی و ما چیزی نفهمیدیم ;-)
یک هیچ به نفع تماشاگرها