Sponsor:

Server and Web Integrator
Link:
Kloxo-MR logo
6.5.0 or 7.0.0
Click for "How to install"
Donation/Sponsorship:
Kloxo-MR is open-source.
Donate and or Sponsorship always welcome.
Click to:
Click Here
Please login or register. 2024-04-27, 10:49:11

Author Topic: Internal Server Error setelah ganti ke PHP-FPM  (Read 11207 times)

0 Members and 1 Guest are viewing this topic.

Offline redpages

  • Master
  • **
  • Posts: 372
  • Karma: +0/-0
    • View Profile
Internal Server Error setelah ganti ke PHP-FPM
« on: 2013-09-18, 07:34:33 »
Salam teman2, ini soal PHP-FPM.
setelah switch ke tipe php  web saya "internal server error". saya sudah fixweb,php, dst hasilnya tetap error tersebut.

Adakah yang perlu disetting khusus saat pake PHP-FPM?

VPS saya: proxinginx, php54,php-fpm,Mysql,xcache,memcached.  Core 4, RAM 768MB. Centos 5.9

VPS dipakai untuk WP Multisite dgn jumlah user 800 blog, besar DB .sql sudah mendekati 1GB

Terima kasih atas masukannya.
« Last Edit: 1970-01-01, 01:00:00 by Guest »

Offline zenkul

  • Global Moderator
  • Master
  • *****
  • Posts: 383
  • Karma: +3/-0
    • View Profile
    • home & decor
Re: Internal Server Error setelah ganti ke PHP-FPM
« Reply #1 on: 2013-09-18, 10:22:57 »
bro, pastikan dulu apakah php-fpm sudah terinstall dengan benar

kalau web bisa dibuka kemudian macet, restart - macet lagi = ini yg kemungkinan harus di optimize

tapi kalau web segitu, mungkin perlu ditambah sedikit 'max children', kalau tidak salah bab ini sudah pernah dibahas

# walah kelewat
800 blog = ram 768  :arrow:  nggat tahu deh, bagaimana akibatnya bila semua blog tersebut di-mount oleh php-fpm

tunggu Clue dari para Suhu  ajah  :mrgreen:
« Last Edit: 1970-01-01, 01:00:00 by Guest »
easy, secure and speed up web panel ===> Kloxo-MR

Offline redpages

  • Master
  • **
  • Posts: 372
  • Karma: +0/-0
    • View Profile
Re: Internal Server Error setelah ganti ke PHP-FPM
« Reply #2 on: 2013-09-18, 13:35:24 »
nah ya itu, dari dulu saya pengin pake php-fpm, gayung bersambut saat KLOXO-MR menyediakan type tersebut. saya kira bisa otomatis pake, ternyata masih ada settingan2 manual. Secara saya susah memahami settinga php-fpm tersebut. Adakah referensinya, terutama untuk menangani WP Multisite.

Sementara saat ini masih saya balikin ke php-ruid
« Last Edit: 1970-01-01, 01:00:00 by Guest »

Offline zenkul

  • Global Moderator
  • Master
  • *****
  • Posts: 383
  • Karma: +3/-0
    • View Profile
    • home & decor
Re: Internal Server Error setelah ganti ke PHP-FPM
« Reply #3 on: 2013-09-18, 14:28:00 »
ya memang otomatis,  ;)

tapi kalau yang berkebutuhan khusus konfig default memang perlu disesuaikan, seperti 'php-memory-limit' dan 'max-children'

seperti  sering diterangkan, caranya :
Quote
copy file 'php53-fpm-pool.conf.tpl' kemudian rename menjadi 'custom.php53-fpm-pool.conf.tpl' dan tempatkan pada folder yg sama di "/home/php-fpm/tpl"
nah file custom tersebut yang di edit misalnya memory limit menjadi 96 dan max children menjadi 13 ((untuk memory 1G perkiraan maksimal tidak lebih 25 max children, tapi itu juga tergantung, jadi perkiraan aman adalah setengahnya yaitu menjadi 13))

dan harus dipastikan dulu apakah php-fpm memang sudah runing, untuk memastikan semua yaitu dengan  "sh /script/restart-all" juga fix

dan kalau sudah jalan kemudian ada web error kan di situ ada 'pesan' juga bisa di lihat log error pada panel kloxo-mr

dari situ bisa diagnosis dan kemudian ditentukan 'obat'nya

dan jangan terlalu sering pindah-pindah config pilihan, mantapkan dulu pilihan-nya, ... karena cara kerja pindah adalah 'remove' 'install' sehingga ada kemungkinan perpindahan tsb ada sesuatu yang nyangkut
« Last Edit: 1970-01-01, 01:00:00 by Guest »
easy, secure and speed up web panel ===> Kloxo-MR

Offline redpages

  • Master
  • **
  • Posts: 372
  • Karma: +0/-0
    • View Profile
Re: Internal Server Error setelah ganti ke PHP-FPM
« Reply #4 on: 2013-09-18, 16:08:25 »
makasih pencerahannya.

kalau website masih 500 internal server error setelah di switch ke php-fpm. itu ada kesalahan di settingan nginxnya atau di apachenya? dan dimana settingnya. Saya nginxpoxi

Terima kasih bantuannya
« Last Edit: 1970-01-01, 01:00:00 by Guest »

Offline MRatWork

  • Administrator
  • The Elite
  • *****
  • Posts: 15,807
  • Karma: +119/-11
  • Gender: Male
    • View Profile
    • MRatWork Forum
Re: Internal Server Error setelah ganti ke PHP-FPM
« Reply #5 on: 2013-09-18, 17:02:22 »
Biasanya bisa dilihat sepintas jika jalankan 'sh /script/restart-all' di ssh. Tetapi bisa jadi kesalahan bisa di application (misalnya wordpress) sendiri, misalnya .htaccess yang tidak benar dan atau plugin yang ngaco.

Pernah terjadi, wordpress multisite saya mengalami ini setelah install plugin tertentu. Dalam kasus ini website yang tidak pakai wordpress multisite ini berjalan normal.
« Last Edit: 1970-01-01, 01:00:00 by Guest »
..:: MRatWork (Mustafa Ramadhan Projects) ::..
-- Server/Web-integrator - Web Hosting (Kloxo-MR READY!) --

Offline redpages

  • Master
  • **
  • Posts: 372
  • Karma: +0/-0
    • View Profile
Re: Internal Server Error setelah ganti ke PHP-FPM
« Reply #6 on: 2013-09-19, 19:32:34 »
boleh minta saran, apakah nginxproxi, php 54, php-fpm + xcache merupakan komposisi ideal untuk WP Multisite? jika benar nilai berapa yg ideal untuk pm.max_children, pm.start_servers, dst.
Spec VPS saya : Core 4, RAM 1 GB. user Multisite (subdomain) = 700-800an, tapi yg aktif ngeblog tidak sampai 30 anak.

Quote from: "MRatWork"
Pernah terjadi, wordpress multisite saya mengalami ini setelah install plugin tertentu. Dalam kasus ini website yang tidak pakai wordpress multisite ini berjalan normal.
« Last Edit: 1970-01-01, 01:00:00 by Guest »

Offline zenkul

  • Global Moderator
  • Master
  • *****
  • Posts: 383
  • Karma: +3/-0
    • View Profile
    • home & decor
Re: Internal Server Error setelah ganti ke PHP-FPM
« Reply #7 on: 2013-09-19, 21:01:15 »
default start server pada kloxo-mr sudah cukup tinggi,  dengan kunjungan website 25 ribu lebih perhari masih memadai

default max children sudah mulai perlu di oprek bila sudah 3 ribu menuju 10 ribu, yang high trepik gitulah, kalau tidak sesuai (terlalu kecil) maka php-fpm akan macet, minta direstart, jalan sebentar lalu macet lagi

tapi jumlah max children juga berpengaruh terhadap kecepatan web, kalau makin tinggi juga semakin menghisap memory
jadi 'max children' ini yang sering harus disesuaikan dengan kebutuhan masing-masing

memory limit, sesuai kebutuhan web

kesimpulan : posisi default masih ok

(itu berdasarkan membaca dari google,  :D nggak pernah mengalami)
« Last Edit: 1970-01-01, 01:00:00 by Guest »
easy, secure and speed up web panel ===> Kloxo-MR

Offline redpages

  • Master
  • **
  • Posts: 372
  • Karma: +0/-0
    • View Profile
Re: Internal Server Error setelah ganti ke PHP-FPM
« Reply #8 on: 2013-09-26, 06:42:05 »
Saya coba switch lagi ke PHP-FPM tapi masih internal server error :(. Padahal saat Saya jalankan /script/restart-all sudah OK semua, termasuk php-fpm nya.
VPS saya 4 CORE, 1 MB, nginxproxi, php 53u, saat ini kembali ke php-ruid2 dan normal. VPS berisi website WP Multisite jenis subdomain (600 user blog) dengan trafik yg biasa saja (masih rendah). Tampilan Internal server error sudah saya dapat saat mengakses http://domain.com/phpinfo.php

config custom.php53-fpm-pool.conf.tpl
Code: [Select]
<?php
    $userinfo 
posix_getpwnam($user);

    if (
$user === 'apache') {
        
// MR -- for future purpose, apache user have uid 50000
        
$fpmport 50000;
    } else {
        
$userinfo posix_getpwnam($user);
        
$fpmport = (50000 $userinfo['uid']);
    }

    if (
$user == 'apache') {
        
$pool 'default';
    } else {
        
$pool $user;
    }

    
$startservers '3';
    
$minspareservers '1';
    
$maxspareservers '4';
    
$maxchildren '20';
?>

[<?php echo $pool?>]
listen = 127.0.0.1:<?php echo $fpmport?>

listen.backlog = -1
listen.allowed_clients = 127.0.0.1
user = <?php echo $user?>

group = <?php echo $user?>

pm = dynamic
pm.max_children = <?php echo $maxchildren?>

pm.start_servers = <?php echo $startservers?>

pm.min_spare_servers = <?php echo $minspareservers?>

pm.max_spare_servers = <?php echo $maxspareservers?>

pm.max_requests = 2000
;pm.status_path = /status
;ping.path = /ping
;ping.response = pong
request_terminate_timeout = 120s
request_slowlog_timeout = 30s
slowlog = /var/log/php-fpm/slow.log
rlimit_files = 1024
rlimit_core = 0
;chroot =
;chdir = /var/www
catch_workers_output = yes
security.limit_extensions = .php .php3 .php4 .php5

env[HOSTNAME] = $HOSTNAME
env[PATH] = /usr/local/bin:/usr/bin:/bin
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp

;php_admin_value[sendmail_path] = /usr/sbin/sendmail -t -i -f webmaster@domain.com
;php_flag[display_errors] = off
php_admin_value[error_log] = /var/log/php-fpm/error.log
php_admin_value[session.save_path] = /var/lib/php/session
php_admin_flag[log_errors] = on
php_admin_value[memory_limit] = 128M

config /etc/nginx/nginx.conf
Code: [Select]
user nginx;

worker_processes 4;
worker_rlimit_nofile 400000;

pid /var/run/nginx.pid;

events {
    worker_connections 2048;

    use epoll;
}


http {
    add_header Cache-Control public;

    server_names_hash_max_size 4096;
    server_names_hash_bucket_size 2048;

    types_hash_bucket_size 64;
    types_hash_max_size 2048;

    client_header_buffer_size 2k;
    client_header_timeout 180s;
    client_body_timeout 180s;
    send_timeout 180s;

    client_max_body_size 64M;
    client_body_buffer_size 128k;

    sendfile        on;
    tcp_nopush      on;
    tcp_nodelay     on;
    server_tokens   on;

    include '/etc/nginx/conf.d/*.conf';
}

Config my.cnf
Code: [Select]
[mysqld]

## General
datadir                         = /var/lib/mysql
tmpdir                          = /var/lib/mysqltmp
socket                          = /var/lib/mysql/mysql.sock
skip-name-resolve
sql-mode                        = NO_ENGINE_SUBSTITUTION
#event-scheduler                = 1

## Cache
thread-cache-size               = 16
table-open-cache                = 4096
table-definition-cache          = 2048
query-cache-size                = 32M
query-cache-limit               = 1M

## Per-thread Buffers
sort-buffer-size                = 1M
read-buffer-size                = 1M
read-rnd-buffer-size            = 1M
join-buffer-size                = 1M

## Temp Tables
tmp-table-size                  = 32M
max-heap-table-size             = 64M

## Networking
back-log                        = 100
#max-connections                = 200
max-connect-errors              = 10000
max-allowed-packet              = 16M
interactive-timeout             = 3600
wait-timeout                    = 600

### Storage Engines
#default-storage-engine         = InnoDB
innodb                          = FORCE

## MyISAM
key-buffer-size                 = 64M
myisam-sort-buffer-size         = 128M

## InnoDB
#innodb-buffer-pool-size        = 128M
#innodb-log-file-size           = 100M
#innodb-log-buffer-size         = 8M
#innodb-file-per-table          = 1
#innodb-open-files              = 300

## Replication
server-id                       = 1
#log-bin                        = /var/log/mysql/bin-log
#relay-log                      = /var/log/mysql/relay-log
relay-log-space-limit           = 16G
expire-logs-days                = 7
#read-only                      = 1
#sync-binlog                    = 1
#log-slave-updates              = 1
#binlog-format                  = STATEMENT
#auto-increment-offset          = 1
#auto-increment-increment       = 2

## Logging
#log-output                      = FILE
#slow-query-log                  = 1
#slow-query-log-file             = /var/log/mysql/slow-log
#log-slow-slave-statements
#long-query-time                 = 2

[mysqld_safe]
log-error                       = /var/log/mysqld.log
open-files-limit                = 65535

[mysql]
no-auto-rehash
« Last Edit: 1970-01-01, 01:00:00 by Guest »

Offline zenkul

  • Global Moderator
  • Master
  • *****
  • Posts: 383
  • Karma: +3/-0
    • View Profile
    • home & decor
Re: Internal Server Error setelah ganti ke PHP-FPM
« Reply #9 on: 2013-09-26, 07:40:10 »
:o bro, kalau untuk production site jangan di-'mainin' deh, yg pasti-pasti ajah (hanya saran lho)  ;)

untuk my.cnf sebaiknya dibikin standar yang small
Code: [Select]
cp -f /usr/share/mysql/my-small.cnf /etc/my.cnf lihat http://forum.lxcenter.org/index.php?t=m ... 2&start=0&

terus database di-convert jadi myisam, ... saya tidak tahu untuk 'skip innodb' apakah masih bisa dibiarkan, kalau dulu bisa.

karena memory < 1G yang paling mungkin adalah dengan MyIsam
« Last Edit: 1970-01-01, 01:00:00 by Guest »
easy, secure and speed up web panel ===> Kloxo-MR

Offline zenkul

  • Global Moderator
  • Master
  • *****
  • Posts: 383
  • Karma: +3/-0
    • View Profile
    • home & decor
Re: Internal Server Error setelah ganti ke PHP-FPM
« Reply #10 on: 2013-09-26, 07:59:30 »
ayo coba berhitung  :?:

13 max children sekitar : 230 M
DjBdns sekitar : 25 M (jangan Bind karena bisa 100m lebih)
kloxo-mr sekitar : 30 M
Mysql dll. (dg catatan yg small) sekitar : 160
-----
jadi total sekitar 450M untuk start awal server, jadi masih ada cadangan 550 M untuk cache dll
« Last Edit: 1970-01-01, 01:00:00 by Guest »
easy, secure and speed up web panel ===> Kloxo-MR

Offline redpages

  • Master
  • **
  • Posts: 372
  • Karma: +0/-0
    • View Profile
Re: Internal Server Error setelah ganti ke PHP-FPM
« Reply #11 on: 2013-09-26, 09:36:12 »
ini bukan untuk produksi, tapi untuk ngeblog anak2 di komunitas kami, plus untuk 1 situs sekolah.

Memorynya pas 1GB, apakah tetap pake yg my-small.cnf?

@zenkul
Menghintung 13 max children ketemu 230MB dari mana ya? apakah besaran max children bisa meningkatkan kecepatan? maaf saya newbie dan memang ingin mempelajari php-fpm :-)
Djbdns sering gagal failed di kloxo MR saya :(

Quote from: "zenkul"
:o bro, kalau untuk production site jangan di-'mainin' deh, yg pasti-pasti ajah (hanya saran lho)  ;)

untuk my.cnf sebaiknya dibikin standar yang small
Code: [Select]
cp -f /usr/share/mysql/my-small.cnf /etc/my.cnf lihat http://forum.lxcenter.org/index.php?t=m ... 2&start=0&

terus database di-convert jadi myisam, ... saya tidak tahu untuk 'skip innodb' apakah masih bisa dibiarkan, kalau dulu bisa.

karena memory < 1G yang paling mungkin adalah dengan MyIsam
« Last Edit: 1970-01-01, 01:00:00 by Guest »

Offline zenkul

  • Global Moderator
  • Master
  • *****
  • Posts: 383
  • Karma: +3/-0
    • View Profile
    • home & decor
Re: Internal Server Error setelah ganti ke PHP-FPM
« Reply #12 on: 2013-09-26, 17:07:56 »
@ yes, bro yakin dalam kisaran itu, .. berdasarkan clue dari Mratwork, juga dari google ... dan lebih yakin lagi pengalaman kemarin saya nge-set 75 max children ternyata konsumsi php-fpm dalam kisaran 1.200 mb padahal hanya 4 web kecil. (ada software untuk ngecek itu, tapi saya sudah lupa)
...........
jadi saya yakin itu prinsip-nya harus 'small',  :!:  tapi variasi konfig-nya bisa berbeda
tapi kalau misalnya saya, lebih baik yg di template supaya langsung jalan & meminimalkan resiko macet
« Last Edit: 1970-01-01, 01:00:00 by Guest »
easy, secure and speed up web panel ===> Kloxo-MR

Offline redpages

  • Master
  • **
  • Posts: 372
  • Karma: +0/-0
    • View Profile
Re: Internal Server Error setelah ganti ke PHP-FPM
« Reply #13 on: 2013-09-29, 07:20:10 »
saya sudah berhasil menjalankan nginx bersama php-fpm worker. caranya radikal. Reinstall VPS! :).
cuma saya bingung dengan paramater "upload_max_filesize" di phpinfo. Dimana saya menggantinya? termasuk max_execution_time, memory_limit, dsb.
Btw, apa beda php-fpm event dengan worker? mana yang sekiranya cocok untuk WP Multisite (subdomain)?

Terima kasih pencerahannya
« Last Edit: 1970-01-01, 01:00:00 by Guest »

Offline zenkul

  • Global Moderator
  • Master
  • *****
  • Posts: 383
  • Karma: +3/-0
    • View Profile
    • home & decor
Re: Internal Server Error setelah ganti ke PHP-FPM
« Reply #14 on: 2013-09-29, 13:36:15 »
penafsiran kata per-kata (kira-kira  :D )

Intinya adalah pembatasan supaya tidak terjadi kudeta resource memory dll, ... dan web cukup lancar

# ukuran file yang bisa di-upload lewat php = dalam website (bukan ftp)

# maksimal waktu eksekusi php (halaman web) = standar basic 60, jadi default kloxo-mr sudah cukup tinggi.
coba bayangkan kalau misalnya ada yang iseng bikin halaman web sebesar 10m, maka kalau waktu mencukupi maka bisa di-load dg sempurna, dan akibatnya akan banyak menghisap memory. ..... kalau waktu dibatasi maka halaman web tidak terbuka dg sempurna.

# max-memory-limit juga begitu, 128m adalah standar pro, sangat jarang shared hosting yg menyediakan sebesar itu. sekali lagi intinya adalah supaya tidak terjadi kudeta resource. <<saran : jangan lebih 128m>> ada juga sih standar super 256m atau lebih tapi itu untuk kelas 'kakap'

# event vs worker : kek-nya sesuai arti kata, event berarti kegiatan yang banyak (high trepik)

=============

masalah max-children
mungkin ini lebih pada masalah skalabilitas, kalau banyak web yg super high trepik, maka pegawai yang dipekerjakan harus lebih banyak. dan tentu saja server-nya harus memadai.

kalau yg mini trepik, bisa saja di-set besar, tentu evektif : page load mungkin bisa lebih kenceng .... tapi itu kan nggak efisien. ibarat membunuh nyamuk dengan bom. .... nggak apa-apa juga juga sich, kalau itu server besar yang lagi santai  ;)

=============

sekali lagi, itu adalah pembatasan (dan itu hanya opini saya)  :D
« Last Edit: 1970-01-01, 01:00:00 by Guest »
easy, secure and speed up web panel ===> Kloxo-MR

 


Top 10 Social Networking:    Facebook    Twitter    LinkedIn    Pinterest    Google Plus    Tumblr    Instagram    VK    Flickr    Vine
Click Here

Page created in 0.071 seconds with 18 queries.

web stats analysis