تنصيب nginx مع دعم php5-fpm في دبيان 6

قبل أي شرح علينا تعريف المصطلحات ما هو ngnix وما هو php-fpm
إنجن إكس Nginx هو بكل سهولة خادم ويب مثل العملاق أباتشي لكن يختلف عليه ببعض النقاط مثل أنه جيد كثيرا لموارد الحواسب المحدودة و أنه خفيف وعالي الأداء، تم برمجته في أواخر 2008 لتلبية 500 مليون طلب يومي للموقع الروسي Rambler ، كما يعرف أنه ثالث خادم ويب استعمالا في الشبكات، رابع خادم ويب استعمالا في المواقع، ولذكر هو تحت رخصة بي إس دي المبسطة FreeBSD
PHP-FPM حروف ل (FastCGI Process Manager) هو أكبر بديل ل PHP FastCGI مع مميزات إضافية والمعروف أنه يتم تطويره ليستعمل في المواقع ذالت النشاط الكبير

إضافة المستودعات

هذا يسرع تحديث php-fpm و nginx

echo "deb http://packages.dotdeb.org squeeze all"  >> /etc/apt/sources.list
wget http://www.dotdeb.org/dotdeb.gpg -O- | apt-key add -
apt-get update

تنصيب nginx

apt-get install nginx

تنصيب PHP-FPM

وبعض الإضافات

apt-get install php5-cli php5-suhosin php5-fpm php5-cgi php5-mysql php5-curl php5-gd

تغيير ملف الإعدادات

vim /etc/nginx/nginx.conf

التغيير بما يناسب

worker_processes 2;
worker_connections 1024;
gzip on;
gzip_disable "msie6";
gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;

إضافة موقع للخدمة

في أول الأمور أنه لا يشبه أباتشي إلا في بعض الأمور لكي لا تأخذ مفاجئة O_o
نضيف ملف للموقع المراد إضافته

mkdir -p /var/www/arlinux.net/public /var/www/arlinux.net/logs /var/www/arlinux.net/tmp

نضيف ملف بتعريف Host

vim /etc/nginx/sites-available/arlinux.net

والمراد إضافته سيكون مثل التالي

server {
        listen   80;
        server_name  arlinux.net www.arlinux.net;
        root   /var/www/arlinux.net/public;
        access_log  /var/www/arlinux.net/logs/access.log;
        error_log   /var/www/arlinux.net/logs/error.log;
        server_tokens off;
        location ~ \.php$ {
                include /etc/nginx/fastcgi_params;
                fastcgi_pass unix:/var/run/php5-fpm/arlinux.net.soc;
                fastcgi_index index.php;
                fastcgi_param  SCRIPT_FILENAME  /var/www/arlinux.net/public$fastcgi_script_name;
        }
        location ~* \.(?:ico|css|js|gif|jpe?g|png)$ {
                expires max;
                add_header Pragma public;
                add_header Cache-Control "public, must-revalidate, proxy-revalidate";
        }
        location / {
               index  index.php index.html index.htm;
               try_files $uri $uri/ /index.php?q=$uri&$args;
        }
         # Deny access to .htaccess files
         location ~ /\.ht {
                deny all;
         }
}

كما سترون استعملت ملف تنصت عوض منفذ fastcgi_pass لذالك علينا وضع مكان وجوده

mkdir /var/run/php5-fpm

وقبل الإستمرار تفعيله

ln -s /etc/nginx/sites-available/arlinux.net /etc/nginx/sites-enabled/arlinux.net

والأن إلى php5-fpm

 vim /etc/php5/fpm/pool.d/arlinux.net.conf

ونضيف

[arlinux.net]
listen = /var/run/php5-fpm/arlinux.net.soc
listen.owner = www-data
listen.group = www-data
listen.mode = 0666
user = www-data
group = www-data
pm = dynamic
pm.max_children = 20
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 10
php_admin_value[open_basedir]=/var/www/arlinux.net/public
php_admin_value[session.save_path]=/var/www/arlinux.net/tmp
php_admin_value[upload_tmp_dir]=/var/www/arlinux.net/tmp
php_admin_value[memory_limit] = 128M
php_admin_value[upload_max_filesize] = 50M
php_admin_value[post_max_size] = 100M

وفي أخر الأشياء نعيد تشغيل خدمات nginx و php-fpm

 /etc/init.d/php5-fpm restart && /etc/init.d/nginx restart

وللإضافة
التقق من ملف nginx

nginx -t

ومن ملف php-fmp

php5-fpm -t

تحياتي …

محمد حنين

الإسم الكامل محمد حنين أحد geek من أمد طويل ، مطور ويب، محب للحرية، مستعمل نضام لينوكس، وأخيرا مجرم باللغة العربية للأسف في وقتها. معلومات أكثر عني أو الإتصال بي Mohammed Hanine

You may also like...

11 تعليق

  1. يقول محمد:

    ممكن شرح تنصيب phpmyadmin

  2. يقول محمد:

    انا قومت بالتنصيب من امر apt-get install mysql-server ثم apt-get install phpmyadmib ثم اضفت ذلك فى ملف spreadupload.com الى هو ملف تعريف الهوست
    location /phpmyadmin {
    root /usr/share/;
    index index.php index.html index.htm;
    location ~ ^/phpmyadmin/(.+\.php)$ {
    try_files $uri =404;
    root /usr/share/;
    fastcgi_pass unix:/var/run/php5-fpm.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include /etc/nginx/fastcgi_params;
    }
    location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
    root /usr/share/;
    }
    }
    location /phpMyAdmin {
    rewrite ^/* /phpmyadmin last;
    }
    ومشكله اخرى اواجهها ولا اعرف سببها بعد التنصيب السرفر يعمل تمام ولكن بعد اعاده التشغيل الاندكس يكون فولدر www وليس mydomain/public

    • يقول محمد حنين:

      ليس جيدا وضع phpmyadmin في متناول الكل، عليك تغيير الاسم لاسم تعرفه لوحدك لكي لا يتم اصطياد كلمة المرور عبر هجمات او ثغرات.
      يمكن تغيير نضام الملفات في ملف VirtualHost المستعمل لتشكله على حسب ذوقك،
      /etc/apache2/sites-available/default
      بالمناسبة بتثبيت phpmyadmin عبر الاوامر يتم حذف nginx وتثبيت في مكانه apache2، وأضنه ما حصل معك.

  3. يقول محمد:

    ال nginx يظل يعمل الى ان اقوم بالرستارت ثم لا يعمل موقعى للاسف لابد من كتابه هذا الامر بعد الرستارت fuser -k 80/tcp وان كان عندك طريقه اصح لتثبيت ال mysql و ال php myadmin من فضلك ادرجها

    • يقول محمد حنين:

      هل تستطيع ان ترد اخبار امر، مثلا عند اعادة تشغيل الخادم
      ps -aux | grep apache
      عندما عاينت موقعك وجته يعمل عبر خادم اباتشي وليس nginx لذالك قلت لك ذالك، phpmyadmin فقط تطبيق ويب مثل wordpress,drupal,… يسمح للمستخدم بادارة قواعد البيانات، يمكن تحميله من موقعه ووضعه في مجلد واضافة لملف الهوست الاعدادات التي ادرجتها فوق مع تغيير مكان phpmyadmin .
      لا تستعمل الاوامر دون معرفة ما تقوم به ، في المحتمل يوما ستلعب الروليت الروسي ب 6 رصاصات :).
      نسخة اللعبة بالاوامر [ $[ $RANDOM % 6 ] == 0 ] && echo “BANG” || echo “Click”

  4. يقول محمد:

    ممكن طريقه اضافه page speed و modsecurity ?

  5. يقول محمد:

    عندى موقع فيه فولدر اسمه files
    1- ازاى امنع صفحات ال php داخل هذا الفولدر من العمل واى امتداد اخر مثل sh , asp , cgi
    2- اخلى اى ملف داخل هذا الفولدر للتحميل فقط و ليس للمشاهده

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *