cPanel / WHM etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
cPanel / WHM etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

5 Mart 2017 Pazar

MySQL 5.7.17 ve MySQL 5.6.35 Optimizasyonu

Yoğun siteler için mysql sunuclarında dikkat etmemiz gereken değişkenler var. Ancak bu değişkenlerle oynarken sistemin kullandığı ram oldukça yükselebilir swap’e geçebilir böylelikle makinayı kilitleyebiliriz.

Azar azar artırıp testler yaparak değişkenlerin değerlerini analiz edip gerekli değişiklikleri yapmak gerekir.


Hatasız MySQL kurulumu için aşağıdaki kodlar işinize yarayacaktır. Optimizasyon

MySQL yeniden başlatınca verdiği hata

-bash-4.2$ mysqld-debug
[Note] mysqld-debug (mysqld 5.6.35-debug) starting as process 45685...[/php]

Dizinleri ve yolu değişen kurallar aşağıdadır.

[php][mysqld]
basedir = /mysql/mysql-5.6.35/
collation-server = utf8_unicode_ci
character-set-server = utf8
datadir = /mysql/data/T02
explicit_defaults_for_timestamp
log-error = /mysql/log/errorlogT02.log
pid-file = /mysql/admin/T02.pid
port = 33002
secure-file-priv = /mysql/admin/secure
socket = /mysql/admin/T02.sock
tmpdir = /mysql/temp/T02/
user = mysql[/php]

MySQL 5.6.35 için uyarlanmış my.cnf kodları.

Makina özellikleri 4 GB of RAM and 4 Core CPU and CentOs 7 MySQL 5.6.35

Şimdi bu my.cnf dosyasını kullanıyoruz ve günlük 20-25k hiti var.

Dosyayı değişmeden önce mutlaka eski my.cnf dosyasını yedekleyiniz.

Servisin başlamaması ile ilgili herhangi bir hata almamışsanız, yeni my.cnf dosyanız aktif ve herhangi bir sorun bulunmamaktadır.

[php]


# ************************* #
# #
# Sphere "Moutarde" #
# #
# ************************* #

# ==================== #
# MySql Client #
# ==================== #

[client]
port = 3306
socket = mysql

# ----------------------- #
# access features #
# ----------------------- #

user = root
password = root
host = 127.0.0.1

# --------------- #
# Charset #
# --------------- #

default-character-set = latin1


# ==================== #
# MySql Server #
# ==================== #

[wampmysqld]
port = 3306
socket = mysql

# -------------- #
# Master #
# -------------- #

server-id = 1
skip-slave-start

# --------------- #
# Charset #
# --------------- #

character-set-server = latin1
collation-server = latin1_general_ci
character-set-filesystem = latin1

init-connect = 'SET collation_connection = latin1_general_ci'
init-connect = 'SET NAMES latin1 COLLATE latin1_general_ci'

# ------------------- #
# Date & Time #
# ------------------- #

date-format = "%d-%m-%Y"
datetime-format = "%d-%m-%Y %H:%i:%s"

default-time-zone = SYSTEM

explicit-defaults-for-timestamp = on

# ------------------- #
# Directories #
# ------------------- #

basedir = /bin/mysql/mysql5.6.35/
datadir = /bin/mysql/mysql5.6.35/data
tmpdir = /tmp

# -------------------------#
# Full Text Search #
# -------------------------#

ft-max-word-len = 10
ft-min-word-len = 1
ft-stopword-file = ""

# ---------------#
# InnoDB #
# ---------------#

default-storage-engine = InnoDB
default-tmp-storage-engine = InnoDB

innodb-adaptive-hash-index = on

innodb-buffer-pool-dump-now = off
innodb-buffer-pool-dump-at-shutdown = off
innodb-buffer-pool-instances = 2
innodb-buffer-pool-load-at-startup = OFF
innodb-buffer-pool-size = 256M

innodb-data-file-path = ibdata1:12M:autoextend
innodb-data-home-dir = /bin/mysql/mysql5.6.35/data/ibdata/
innodb-doublewrite = 1
#skip-innodb_doublewrite

innodb-file-format = Barracuda
innodb-file-format-check = on
innodb-file-per-table = 1

innodb-flush-log-at-trx-commit = 1
#innodb-force-recovery = 1

innodb-ft-enable-stopword = off
innodb-ft-max-token-size = 10
innodb-ft-min-token-size = 0

innodb-io-capacity = 2000
innodb-max-dirty-pages-pct = 90
innodb-lock-wait-timeout = 600

innodb-log-buffer-size = 16M
innodb-log-file-size = 20M
innodb-log-files-in-group = 2
innodb-log-group-home-dir = /bin/mysql/mysql5.6.35/data/ibdata/

innodb-max-dirty-pages-pct = 80
innodb-optimize-fulltext-only = 1
innodb-page-size = 16K
innodb-purge-threads = 10
innodb-read-io-threads = 4
innodb-stats-on-metadata = 0
innodb-support-xa = 1
innodb-thread-concurrency = 16
innodb-write-io-threads = 4

# ---------------- #
# Language #
# ---------------- #

lc-messages = tr_TR
lc-time-names = tr_TR

# ------------#
# Log #
# ------------#

#binlog-cache-size = 1M
#binlog-format = mixed

#log-bin = /logs/mysql_bin
log-error = /logs/mysql_error.log
#log-error-verbosity = 3

log-queries-not-using-indexes = 1
log-throttle-queries-not-using-indexes = 60

#general-log = on
#general-log-file = /logs/mysql_general.log

# ------------#
# Max #
# ------------#

max-allowed-packet = 16M
max-connections = 20
max-connect-errors = 10
max-error-count = 64
max-heap-table-size = 512M
max-user-connections = 0
max-sp-recursion-depth = 255

# --------------------#
# Buffer-Size #
# --------------------#

join-buffer-size = 512M
read-buffer-size = 512M
read-rnd-buffer-size = 512M
sort-buffer-size = 512M

# ---------------#
# MyIsam #
# ---------------#

bulk-insert-buffer-size = 64M

key-buffer-size = 1G

myisam-max-sort-file-size = 1G
myisam-recover-options = OFF
myisam-repair-threads = 1
myisam-sort-buffer-size = 128M
myisam-stats-method = nulls_unequal
myisam-use-mmap = OFF

# -------------------#
# Networking #
# -------------------#

back-log = 50

net-buffer-length = 8K
net-read-timeout = 60
net-write-timeout = 60

# -----------------#
# Password #
# -----------------#

disconnect-on-expired-password = 0

# ---------------------------#
# Performance-Schema #
# ---------------------------#

# performance-schema = ON
# performance-schema-events-waits-history-size = 20
# performance-schema-events-waits-history-long-size = 1500

# --------------#
# Query #
# --------------#

query-alloc-block-size = 8M
query-cache-limit = 512M
query-cache-min-res-unit = 4096
query-cache-size = 512M
query-cache-type = On
query-cache-wlock-invalidate = Off

# -------------#
# Skip #
# -------------#

#skip-innodb-doublewrite

skip-external-locking
skip-federated

#skip-grant-tables
#skip-log-warnings
skip-slave-start
# skip-innodb-adaptive-hash-index

# --------------------#
# Slow & Long #
# --------------------#

long-query-time = 1

slow-query-log = 1
slow-query-log-file = /logs/mysql_slow.log

# ------------#
# Ssl #
# ------------#

ssl
ssl-ca = /bin/apache/apache2.4.23/conf/certificat/ca/ca.crt
ssl-cert = /bin/apache/apache2.4.23/conf/certificat/localhost/localhost.crt
ssl-key = /bin/apache/apache2.4.23/conf/certificat/localhost/localhost.key

skip-ssl

# --------------#
# Table #
# --------------#

table-definition-cache = 512
table-open-cache = 512

# -------------------#
# Temp Table #
# -------------------#

tmp-table-size = 1G

# ---------------#
# Thread #
# ---------------#

thread-cache-size = 8
thread-stack = 256K

# ------------------------------#
# Timeout Configuration #
# ------------------------------#

connect-timeout = 600
interactive-timeout = 600
wait-timeout = 600

# --------------------#
# Transaction #
# --------------------#

transaction-isolation = SERIALIZABLE

# ---------------#
# Tuning #
# ---------------#

concurrent-insert = 2
open-files-limit = 8192

secure-file-priv = /tmp/

# =================== #
# MySql Admin #
# =================== #

[mysqldadmin]
force


# ================== #
# MySql Dump #
# ================== #

[mysqldump]
add-drop-database
add-drop-table
add-drop-trigger

default-character-set = utf8

flush-logs
flush-privileges

lock-all-tables
max-allowed-packet = 16M
no-autocommit
order-by-primary
quick
routines

skip-comments
skip-opt
skip-set-charset
skip-tz-utc

triggers


# ===================== #
# My Isam Check #
# ===================== #

[myisamchk]
key-buffer-size = 128M
sort-buffer-size = 128M
read-buffer = 2M
write-buffer = 2M


# ====================== #
# MySql Hot Copy #
# ====================== #

[mysqlhotcopy]
interactive-timeout


# ===================== #
# MySql Monitor #
# ===================== #

[mysql]
default-character-set = latin1
no-auto-rehash
#safe-updates
skip-reconnect
table


# ================== #
# MySql Safe #
# ================== #

[mysqld_safe]
open-files-limit = 8192

log-error = /logs/mysql_error.log


Tavsiye MySQL Tuning Script'i kurarak tam siteninizin ihtiyacına göre dosya oluşturabilirsiniz.

20 Şubat 2017 Pazartesi

WHM / cPanel Nginx Kurulumu



Nginx ile sunucunuzda bulunan web sitelerin daha hızlı açılmasını ve sunucu üzerindeki yükü dengeleyerek gelen request’leri rahatlıkla karşılanmasını sağlayabilirsiniz.

Ayrıca sayfalarınızda bulunan static içeriğin (jpg, png, css vs.) önbelleğe alınmasıyla daha hızlı açılması için imkan sağlar. default gelen apache ile 1000 request’i karşıladığınızda sunucunuz yavaşlar ise nginx ile 1000+ request’i kolaylıkla karşılayabilirsiniz.
Ancak bu sunucunuzun fiziksel özelliği baz alınarak yorumlanabilir.



Kurulum işlemleri için sunucunuza SSH ile root erişimi için aşağıdaki 5 adımlık kodları konsolda yürütünüz,


cd /usr/local/src
wget http://nginxcp.com/latest/nginxadmin.tar
tar xf nginxadmin.tar
cd publicnginx
./nginxinstaller install


Kurulum sırasında “access key doesn’t exist create it in” şeklinde bir hata aldıysanız çözümü;

WHM Panel >> Cluster/Remote Access >> Setup Remote Access Key bölümündeki “Then click Generate New Key” butonuna bir defa tıklamalısınız.

Bu işlemin ardından kurulum işlemini yeniden başlatmalısınız. Böylelikle problemsiz olarak kurulum işlemi gerçekleşecektir.

Kurulum sonrası Nginx çalıştıktan sonra /tmp dizinin otomatik olarak boşaltılmasını sağlamak için WHM >> Plugins >> Nginx Admin bölümünde yer alan cron komutunu SSH üzerinden eklemeliyiz.

Öncelikle cron’un çalışabilmesi için tmpwatch bileşeninin kurulu olmak zorunda. Kurulu değil ise aşağıdaki yum paketi ile kurabilirsiniz.


yum install tmpwatch


Cronjob’a eklemek içinse export VISUAL=nano; crontab -e komutunu çalıştırıp aşağıdaki kodu ekleyip kaydedin.

0 */1 * * * /usr/sbin/tmpwatch -am 1 /tmp/nginx_client


Böylelikle tmp dizininde yer alan dosyaların düzenli olarak silinmesi için cronjob’a görev atamasını sağlamış olduk.

Sorun:

Nginx kurulumu sonrasında WHM >> Plugins >> Nginx Admin bölümünde aşağıdaki gibi hata alıyorsanız;



WHM is configured to disallow execution of unregistered applications when logged in as root or a reseller with the “all” ACL. To enable this functionality you must do one of the following: Register this addon using /usr/local/cpanel/bin/register_appconfig (http:// docs. cpanel .net/twiki/bin/view/SoftwareDevelopmentKit/AppConfig), Enable the “Allow apps that have not registered with AppConfig to be run when logged in as root or a reseller with the “all” ACL in WHM” option in “Tweak Settings”, or add permit_unregistered_apps_as_root=1 to /var/cpanel/cpanel.config, and run /usr/local/cpanel/etc/init/startcpsrvd



Çözümü:

SSH üzerinden çözmek için aşağıdaki komutları uygulayabilirsiniz.


nano /var/cpanel/cpanel.config
permit_unregistered_apps_as_root=1
#Default olarak 0 gelir 1 olarak değiştiriniz.



Kaydettikten sonra /usr/local/cpanel/etc/init/startcpsrvd komutu ile servisi başlatın.

WHM arayüzden çözmek için, Tweak Settings bölümünden “Allow apps that have not registered with AppConfig to be run when logged in as root or a reseller with the “all” ACL in WHM.” seçeneğini “Off” konuma getirmelisiniz.

Nginx’den memnun kalmadım ve silmek istiyorum diyorsanız aşağıdaki işlemleri yapabilirsiniz.


cd /usr/local/src
wget http://nginxcp.com/latest/nginxadmin.tar
tar xf nginxadmin.tar
cd publicnginx
./nginxinstaller uninstall


Özet

Nginx ("engine x", enciniks olarak telaffuz edilir); yüksek eş zamanlı çalışma kabiliyeti, yüksek performans ve düşük hafıza kullanımına odaklanılarak tasarlanmış bir web sunucusudur. Aynı zamanda ters vekil sunucusu, yük dengeleyici ve HTTP önbelleği olarak da kullanılabilir.

2002 yılında Igor Sysoev tarafından yazılmış olan Nginx Unix, Linux, BSD türevleri, Mac OS X, Solaris, AIX, HP-UX ve Microsoft Windows işletim sistemleri üzerinde çalışabilir. BSD-like lisansı ile yayımlanan Nginx bir özgür ve açık kaynak kodlu bir yazılımdır.

Netcraft'ın Nisan 2015 Web Sunucusu Anketine göre Nginx, internet üzerindeki tüm "aktif "siteler arasında en yaygın ikinci web sunucusudur.

Alttaki hatayı verirse,

Internal Server Error

500

No response from subprocess (/usr/local/cpanel/whostmgr/docroot/cgi/addon_nginx.cgi): The subprocess reported error number 2 when it ended.


buradan Internal Server Error 500 No response from subprocess Hatası ve Çözümü anlatılanları uygulayınız.

Ayrıca nginx_client klasoru oluşturup yazma izni verin.

cd /var/tmp
mkdir nginx_client
chmod 777 nginx_client

Internal Server Error 500 No response from subprocess Hatası ?

WHM-cPanel -> Plugins -> Nginx Admin:

Internal Server Error

500

No response from subprocess (/usr/local/cpanel/whostmgr/docroot/cgi/addon_nginx.cgi): The subprocess reported error number 2 when it ended.

cpsrvd/11.62.0.7

cPanel use whmlib desteğini kaldırdığı için bu hatayı veriyor.


Çözüm : /usr/local/cpanel/whostmgr/docroot/cgi/addon_nginx.cgi

Ftp aracılığıyla dosyayı indir

use whmlib; satırın başına # kare ekleyiniz.

#use whmlib;

dosyayı atıp, Nginx Admin panele giriş yapabilirsiniz.

Not # ekledikten sonra dosyanın yeni kodlaması



#!/bin/sh
eval 'if [ -x /usr/local/cpanel/3rdparty/bin/perl ]; then exec /usr/local/cpanel/3rdparty/bin/perl -x -- $0 ${1+"$@"}; else exec /usr/bin/perl -x $0 ${1+"$@"}; fi;'
if 0;

#!/usr/bin/perl
#WHMADDON:nginx:Nginx Admin
#####################################################################
# Copyright (C) 2010 nginxcp.com. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
#####################################################################

use lib '/usr/local/cpanel';
use Cpanel::cPanelFunctions ();
use Cpanel::Form ();
use Cpanel::Config ();
use Whostmgr::HTMLInterface ();
use Whostmgr::ACLS ();

print "Content-type: text/html\r\n\r\n";
BEGIN {
push(@INC,"/usr/local/cpanel");
push(@INC,"/usr/local/cpanel/whostmgr/docroot/cgi");
}

#use whmlib;
require 'parseform.pl';

Whostmgr::ACLS::init_acls();
if ( !Whostmgr::ACLS::hasroot() ) {
print "You do not have the proper permissions to access Nginx Admin...\n";
exit();
}
print "";
1;

5 Şubat 2017 Pazar

Let’s Encrypt Eklentisi Kurulumu


cPanel / WHM 58 sürümünde AutoSSL özelliği ile oto olarak Let’s Encrypt (Bedava SSL) kurulabileceğini duyurdu. Üstelik AutoSSL üzerinden istediğiniz bir hesaba SNI olarak SSL aktivasyonunu sağlayabileceksiniz.

Let's encrypt ve cPanel işbirliği ile, sunucunuzda barındırdığınız her websiteye ücretsiz SSL sertifikası verebilirsiniz. Bu sertifikalar tamamen ucretsiz ve 3 ay geçerliliğe sahip. Her 3 ayin sonunda, sertifikalar otomatik olarak yenileniyor.

Ayrıca; her websiteye özel statik IP alma gereksinimiz de yok! Tek bir IP de bir çok SSL sertifikali websiteye sahip olabilirsiniz.

1- Öncelikle sunucumuzda ssh üzerinden root girişi yapıyoruz.

Kurulum için SSH üzerinden yürütün ;

[php]/scripts/install_lets_encrypt_autossl_provider[/php]

2- Kurulum tamamlandığında WHM ye giriş yapın ve SSL/TLS -> Manage AutoSSL tıklayın.

3- Providers altından Let’s Encrypt seçin Kutucukları işaretleyin ve Kayıt edin.

4- Manage Users‘a tıklayın ve listeden SSL i aktif etmek istediğiniz hesaplarda Enable AutoSSL seçin.

5- https olmayan linkleri google üzerinden otomatik yönlendirme için, WordPress kullanıyorsanız .htaccess dosyasını aşağıdaki kodlar ile değiştiriniz.

[php]# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{SERVER_PORT} 80
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress[/php]

6- Son olarak resimlerde de sorun çıkmaması ve sağlıklı olarak görünmesi için aşağıdaki sorguyu phpMyAdmin de çalıştırıyoruz.

[php]UPDATE wp_posts SET post_content = replace(post_content, 'http://www.eskisitem.com', 'https://www.yenisitem.com');[/php]

eskisitem.com ve yenisitem.com domain adınızı kendinize göre düzenleyip çalıştırın.

28 Kasım 2016 Pazartesi

Eski Sürüm Cpanel Kurulumu

Cpanel son güncellemesi ile easyapache 4 e geçti ve hali hazırdaki bir çok uygulama bu geçiş ile devre dışı kaldı bu sebeple easyapache 3 destekli cpanel nasıl kurarız onu anlatacağım.

Ben çok araştırdım bu konuyu , eminim siz arayan arkadaşlarında işlerine yarayacaktır.

Öncelikle Yeni bir centos sunucu kurulumu yapıyoruz , Yeni kurulmuş linux sunucumuza SSH ile bağlanarak

27 Kasım 2016 Pazar

EasyApache 4 Kurulum

EasyApache 4 ile ilgili detaylı bilgilendirme konumuza hoşgeldiniz arkadaşlar.Öncelikle bu konuyu neden açma gereği duydum ondan bahsedeyim size.Sürekli güncellemeleri takip ediyorum ve gerek hız ve performans gerekse güvenlik sağlayacağını düşündüğüm için EasyApache 4 kurulumu yaptım ve yaptıktan sonra bazı sorunlar yaşadım.

Bu sorunlardan birisi “nginx 403 hatası” kurulum sonrası aldım bu hatayı neyseki sorunu nginx ‘i kaldırark çözdüm.Buradaki hatam apacheye ek olarak çalışan bu eklentiyi öncesinde kaldırıp, sonrasında EasyApache 4 ‘ü kurmamam.

Linux cPanel Kurulumu

Sunucuya cPanel kurulumu yapmak oldukça basit bir işlemdir çünkü bütün işlemleri cPanel kendisi yapmaktadır. Yine de, kurmadan önce dikkat edilebilecek birkaç nokta mevcut.

İlk olarak, işletim sistemi kesinlikle yeni kurulmuş olmalıdır. Sadece base olarak kurulmuş bir işletim sistemi yeterli olacaktır.


Yeni kurulmuş linux sunucumuza SSH ile bağlanarak

Hotmail Spam Sorunu Çözümü

Mail sağlayıcıların koruma yöntemleri nedeniyle genellikle yaşanılan bir problemdir spam mail sorunu. Ayrıca uygulanan limitler sebebiyle sunucudan çıkan mailler yerine ulaşmadan engellenir. Bunun önüne geçmek için aşağıdaki adımları uygulayarak yoğun çalışan hosting sunucusunuzu geçici bir süreliğine spam listesinden çıkarabilirsiniz.

Spam listesinden çıkmak için sunucudan maillerin çıktığı yani smtp host için ip adresini değiştirebilirsiniz.