Tahsis Edilmiş Sanal Web Sunucusunda Tweaking

May 22, 2025
Gizlilik ve güvenlik
BAĞLANMAMIŞ İÇERİK

Web sitenizi çalıştırmak için özel bir sanal sunucu aldığınızda, herkes için yapılandırılmış olması ve bir web sitesi çalıştırma performansını en üst düzeye çıkarmak için özelleştirilmemesi ihtimali yüksektir.

İçindekiler

[ saklamak ]

  • 1 Genel Bakış
  • 2 Linux Yapılandırması
    • 2.1 DNS'yi devre dışı bırakın
    • 2.2 SpamAssassin'i devre dışı bırakın
    • 2.3 xinetd'yi devre dışı bırakın
    • 2.4 Plesk Bellek Kullanımını Sınırla
    • 2.5 Plesk'i Devre Dışı Bırak veya Kapat (isteğe bağlı)
  • 3 MySQL Yapılandırması
    • 3.1 Sorgu Önbelleğini Etkinleştir
    • 3.2 TCP / IP'yi devre dışı bırakın
  • 4 Apache Yapılandırması
  • 5 PHP Yapılandırması
    • 5.1 Gereksiz PHP Modüllerini Kaldırın
    • 5.2 PHP İşlem Kodu Önbelleği
  • 6 Yedekleme
    • 6.1 Otomatik Yedekleme Komut Dosyası Oluşturun
    • 6.2 Yedeklemeleri Site Dışında Rsync ile Senkronize Etme
  • 7 Güvenlik
    • 7.1 SSH Üzerinden Kök Oturum Açmayı Devre Dışı Bırak
    • 7.2 SSH Sürüm 1'i devre dışı bırakın
    • 7.3 SSH Sunucusunu Yeniden Başlatın
    • 7.4 Açık Bağlantı Noktalarını Kontrol Etme
    • 7.5 Güvenlik Duvarı Kurun
  • 8 Ayrıca Bakınız
  • 9 Kaynaklar

Genel Bakış

Performansı en üst düzeye çıkarmak istediğimiz birkaç sorun alanı vardır:

  • Linux yapılandırması
    Genellikle, çalışması gerekmeyen ve daha fazla bağlantı için kullanılabilecek belleği boşa harcayan hizmetler vardır.
  • MySQL yapılandırması
    Genellikle varsayılan ayarlar küçük bir sunucuya dayalıdır, performansı büyük ölçüde artırmak için birkaç önemli değişiklik ekleyebiliriz.
  • Apache yapılandırması
    Varsayılan olarak, çoğu barındırma sağlayıcısı apache'yi neredeyse her modül yüklü olarak kurar. Hiç kullanmayacaksanız modülleri yüklemeniz için bir neden yoktur.
  • PHP yapılandırması
    Varsayılan PHP yapılandırması benzer şekilde şişirilmiştir, genellikle yüklü bir ton gereksiz ekstra modül vardır.
  • PHP İşlem Kodu Önbelleği
    PHP'nin her seferinde komut dosyalarını yeniden derlemesine izin vermek yerine, bir işlem kodu önbelleği, büyük performans artışları için derlenmiş komut dosyalarını bellekte önbelleğe alır.
  • Yedeklemeler
    Barındırma sağlayıcınız bunu sizin için yapmayacağından, muhtemelen bazı otomatik yedeklemeler kurmalısınız.
  • Güvenlik
    Elbette, Linux varsayılan olarak yeterince güvenlidir, ancak genellikle birkaç hızlı ayarla düzeltebileceğiniz göze çarpan bazı güvenlik sorunları vardır.

Linux Yapılandırması

Yapabileceğiniz epeyce ince ayar vardır ve bu, kullanmakta olduğunuz sunucuya bağlı olarak biraz farklılık gösterir. Bu ince ayarlar CentOS çalıştıran bir sunucu içindir, ancak DV sunucularının çoğu için çalışmalıdır.

DNS'yi devre dışı bırakın

Barındırma sağlayıcınız etki alanınız için DNS işliyorsa (muhtemelen), o zaman DNS hizmetinin çalışmasını devre dışı bırakabilirsiniz.

dns'yi devre dışı bırak
/etc/init.d/named stop
chmod 644 /etc/init.d/named

Chmod komutu, komut dosyasından yürütme iznini kaldırır ve başlangıçta çalışmasını durdurur.

SpamAssassin'i devre dışı bırakın

Sunucunuzun kendisinde e-posta hesapları kullanmıyorsanız, anti-spam araçlarını çalıştırmaya zahmet etmemelisiniz. (Ayrıca Google Apps'a göz atmalısınız, çok daha iyi bir e-posta çözümü)

/etc/init.d/psa-spamassassin durdurma
chmod 644 /etc/init.d/psa-spamassassin

Xinetd'yi devre dışı bırak

Xinetd süreci, hiçbiri tipik bir web sunucusu için kullanışlı olmayan bir dizi başka işlemi barındırır.

/etc/init.d/xinetd durdur
chmod 644 /etc/init.d/xinetd

Plesk Bellek Kullanımını Sınırla

Plesk panelini kullanırsanız, bir seçenek dosyası ekleyerek daha az bellek kullanmaya zorlayabilirsiniz.

vi /usr/local/psa/admin/conf/httpsd.custom.include

Dosyaya aşağıdaki satırları ekleyin:

MinSpareServers 1
MaxSpareServers 1
StartServers 1
MaxClients 5

Bu seçeneğin MediaTemple DV sunucularında çalıştığının bilindiğini, ancak diğerlerinde kontrol edilmediğini unutmayın. (Görmek Referanslar )

Plesk'i Devre Dışı Bırak veya Kapat (isteğe bağlı)

Plesk'i yılda sadece bir kez kullanırsanız, onu çalışır durumda bırakmak için çok az neden vardır. Bu adımın tamamen isteğe bağlı ve biraz daha gelişmiş olduğunu unutmayın.

Plesk'i kapatmak için aşağıdaki komutu çalıştırın:

/etc/init.d/psa durdur

Aşağıdaki komutu çalıştırarak başlangıçta çalışmasını devre dışı bırakabilirsiniz:

chmod 644 /etc/init.d/psa

Devre dışı bırakırsanız, dosya izinlerini geri değiştirmeden (chmod u + x) manuel olarak başlatamayacağınızı unutmayın.

MySQL Yapılandırması

Sorgu Önbelleğini Etkinleştir

/Etc/my.cnf dosyanızı açın ve [mysqld] bölümünüze aşağıdaki gibi aşağıdaki satırları ekleyin:

[mysqld]
sorgu-önbellek türü = 1
sorgu önbellek boyutu = 8 milyon

İsterseniz sorgu önbelleğine daha fazla bellek ekleyebilirsiniz, ancak çok fazla kullanmayın.

TCP / IP'yi devre dışı bırakın

Şaşırtıcı sayıda ana bilgisayar, varsayılan olarak TCP / IP üzerinden MySQL'e erişimi etkinleştirir, bu bir web sitesi için mantıklı değildir. Aşağıdaki komutu çalıştırarak mysql'in TCP / IP'yi dinleyip dinlemediğini anlayabilirsiniz:

netstat -an | grep 3306

Devre dışı bırakmak için /etc/my.cnf dosyanıza aşağıdaki satırı ekleyin:

atlama ağı

Apache Yapılandırması

Genellikle /etc/httpd/conf/httpd.conf adresinde bulunan httpd.conf dosyanızı açın.

Şuna benzeyen satırı bulun:

Zaman aşımı 120

Ve şuna değiştirin:

Zaman aşımı 20

Şimdi bu satırları içeren bölümü bulun ve benzer bir şeye ayarlayın:

StartServers 2
MinSpareServers 2
MaxSpareServers 5
ServerLimit 100
MaxClients 100
MaxRequestsPerChild 4000

PHP Yapılandırması

PHP platformunda bir sunucuda ince ayarlar yaparken akılda tutulması gereken şeylerden biri, her apache iş parçacığının PHP'yi bellekte ayrı bir konuma yükleyeceğidir. Bu, kullanılmayan bir modül PHP'ye 256k bellek eklerse, 40 apache iş parçacığı boyunca 10MB bellek harcadığınız anlamına gelir.

Gereksiz PHP Modüllerini Kaldır

Genellikle /etc/php.ini adresinde bulunan php.ini dosyanızı bulmanız gerekecek (Bazı dağıtımlarda birkaç .ini dosyası içeren bir /etc/php.d/ dizini olacağını unutmayın. her modül için bir tane.

Bu modüllerle herhangi bir yük modülü satırını yorumlayın:

  • Odbc
  • snmp
  • pdo
  • odbc pdo
  • mysqli
  • ioncube yükleyici
  • json
  • imap
  • ldap
  • ncurses

Yapılacaklar: Buraya daha fazla bilgi ekleyin.

PHP İşlem Kodu Önbelleği

APC, eAccelerator ve Xcache dahil kullanabileceğiniz bir dizi işlem kodu önbelleği vardır, sonuncusu kararlılık nedeniyle kişisel tercihimdir.

Xcache'yi indirin ve bir dizine çıkarın ve ardından xcache kaynak dizininden aşağıdaki komutları çalıştırın:

phpize etmek
./configure --enable-xcache
Yapmak
kurmak yap

Php.ini dosyanızı açın ve xcache için yeni bir bölüm ekleyin. Php modülleriniz başka bir yerden yüklenmişse, yolları ayarlamanız gerekecektir.

vi /etc/php.ini

Aşağıdaki bölümü dosyaya ekleyin:

[xcache-common]
zend_extension = /usr/lib/php/modules/xcache.so
[xcache.admin]
xcache.admin.user = "kullanıcı adım"
xcache.admin.pass = "putanmd5hashhere"
[xcache]
; İşlem kodu önbelleğinin boyutunu ayarlamak için xcache.size değerini değiştirin
xcache.size = 16 milyon
xcache.shm_scheme = "mmap"
xcache.count = 1
xcache.slots = 8K
xcache.ttl = 0
xcache.gc_interval = 0
; Değişken önbelleğin boyutunu ayarlamak için xcache.var_size değerini değiştirin
xcache.var_size = 1 milyon
xcache.var_count = 1
xcache.var_slots = 8K
xcache.var_ttl = 0
xcache.var_maxttl = 0
xcache.var_gc_interval = 300
xcache.test = Kapalı
xcache.readonly_protection = Açık
xcache.mmap_path = "/ tmp / xcache"
xcache.coredump_directory = ""
xcache.cacher = Açık
xcache.stat = Açık
xcache.optimizer = Kapalı

Yapılacaklar: Bunu biraz genişletmeniz ve referanslarda xcache ile bağlantı kurmanız gerekiyor.

Yedeklemeler

Web sitenizin otomatik yedeklemelerine sahip olmaktan çok daha az şey vardır. Anlık görüntü yedeklerini barındırma sağlayıcınızdan alabilirsiniz, bu da çok yararlıdır, ancak ben de otomatik yedeklemeleri tercih ederim.

Otomatik Yedekleme Komut Dosyası Oluşturun

Genelde altında / backups / files dizini olan bir / backups dizini oluşturarak başlarım. İsterseniz bu yolları ayarlayabilirsiniz.

mkdir -p / backups / files

Şimdi, backups dizini içinde bir backup.sh betiği oluşturun:

vi /backups/backup.sh

Yolları ve mysqldump şifresini gerektiği gibi ayarlayarak aşağıdakileri dosyaya ekleyin:

#! / bin / sh

THEDATE = `tarih +% d% m% y% H% M`

mysqldump -uadmin -pASSWORD DATABASENAME> /backups/files/dbbackup$THEDATE.bak

tar -cf /backups/files/sitebackup$THEDATE.tar / var / www / vhosts / web-sitem-yolum / httpdocs
gzip /backups/files/sitebackup$THEDATE.tar

bul / yedekler / dosyalar / site * -mtime +5 -exec rm {} \;
find / backups / files / db * -mtime +5 -exec rm {} \;

Komut dosyası önce bir tarih değişkeni oluşturur, böylece tüm dosyalar tek bir yedekleme için aynı şekilde adlandırılır, ardından veritabanını döker, web dosyalarını tarar ve bunları gzip'le gönderir. Bul komutları, sürücünüzün yerinin bitmesini istemediğiniz için 5 günden eski dosyaları kaldırmak için kullanılır.

Aşağıdaki komutu çalıştırarak komut dosyasını çalıştırılabilir hale getirin:

chmod u + x /backups/backup.sh

Daha sonra, cron tarafından otomatik olarak çalışacak şekilde atamanız gerekir. Yedekleme dizinine erişimi olan bir hesap kullandığınızdan emin olun.

crontab -e

Aşağıdaki satırı crontab'a ekleyin:

1       1       *       *       *       /backups/backup.sh

Komut dosyasını, kullanıcı hesabında oturum açmışken çalıştırarak önceden test edebilirsiniz. (Genellikle yedeklemeleri root olarak çalıştırırım)

Rsync ile Yedeklemeleri Site Dışında Senkronize Etme

Artık sunucunuzun otomatik yedeklemelerini çalıştırdığınıza göre, rsync yardımcı programını kullanarak bunları başka bir yerde eşitleyebilirsiniz. Otomatik oturum açma için ssh anahtarlarının nasıl ayarlanacağıyla ilgili bu makaleyi okumak isteyeceksiniz: Tek Komutta Uzak Sunucuya Genel SSH Anahtarı Ekleme

Bu komutu bir Linux veya Mac makinede başka bir konumda çalıştırarak bunu test edebilirsiniz (evde bir linux sunucum var, bunu çalıştırdığım yer burasıdır)

rsync -kullanıcı@website.com: / backups / files / * / offsitebackups /

Bu işlemin ilk çalıştırılması epey zaman alacaktır, ancak sonunda yerel bilgisayarınızın / offsitebackups / dizinindeki dosyalar dizininin bir kopyasına sahip olması gerekir. (Komut dosyasını çalıştırmadan önce bu dizini oluşturduğunuzdan emin olun)

Bunu bir crontab hattına ekleyerek planlayabilirsiniz:

crontab -e

45 dakika işaretinde her saat rsync çalıştıracak olan aşağıdaki satırı ekleyin. Burada senkronizasyon için tam yolu kullandığımızı fark edeceksiniz.

45 * * * * / usr / bin / rsync -kullanıcı@website.com: / backups / files / * / offsitebackups /

Bunu farklı bir saatte veya günde yalnızca bir kez çalışacak şekilde planlayabilirsiniz. Bu gerçekten size kalmış.

Ssh veya ftp aracılığıyla eşitlemenizi sağlayacak birçok yardımcı program olduğunu unutmayın. Rsync kullanmak zorunda değilsiniz.

Güvenlik

Yapmak isteyeceğiniz ilk şey, ssh aracılığıyla kullanabileceğiniz normal bir kullanıcı hesabınız olduğundan emin olmak ve root'a geçmek için su kullanabileceğinizden emin olmaktır. Ssh üzerinden kök için doğrudan girişe izin vermek çok kötü bir fikirdir.

SSH Üzerinden Kök Oturum Açmayı Devre Dışı Bırak

/ Etc / ssh / sshd_config dosyasını düzenleyin ve aşağıdaki satırı arayın:

#PermitRootLogin evet

Bu satırı şöyle görünecek şekilde değiştirin:

PermitRootLogin hayır

Normal bir kullanıcı hesabına sahip olduğunuzdan ve bu değişikliği yapmadan önce root'a başvurabileceğinizden emin olun, aksi takdirde kendinizi kilitleyebilirsiniz.

SSH Sürüm 1'i devre dışı bırakın

Önceki sürümlerden daha güvenli olduğu için SSH sürüm 2'den başka bir şey kullanmak için gerçekten bir neden yok. / Etc / ssh / sshd_config dosyasını düzenleyin ve aşağıdaki bölümü arayın:

#Protocol 2,1
Protokol 2

Yalnızca Protokol 2'yi gösterildiği gibi kullandığınızdan emin olun.

SSH Sunucusunu Yeniden Başlatın

Şimdi bunun etkili olması için SSH sunucusunu yeniden başlatmanız gerekecek.

/etc/init.d/sshd yeniden başlat

Açık Bağlantı Noktalarını Kontrol Edin

Sunucunun hangi bağlantı noktalarını dinlediğini görmek için aşağıdaki komutu kullanabilirsiniz:

netstat -an | grep DİNLE

Plesk için 22, 80 ve muhtemelen 8443 numaralı bağlantı noktalarından başka dinleyen bir şeye sahip olmamalısınız.

Güvenlik Duvarı Kurun

Daha fazla bağlantıyı engellemek için isteğe bağlı olarak bir iptables güvenlik duvarı kurabilirsiniz. Örneğin, genellikle iş ağım dışındaki bağlantı noktalarına erişimi engelliyorum. Dinamik bir IP adresiniz varsa, bu seçenekten kaçınmak isteyeceksiniz.

Şimdiye kadar bu kılavuzdaki tüm adımları zaten uyguladıysanız, muhtemelen karışıma bir güvenlik duvarı da eklemeniz gerekmeyebilir, ancak seçeneklerinizi anlamak iyidir.

Ayrıca bakınız

  • Linux'ta Iptables kullanma

Referanslar

Setting Up Virtual Hosts For The Apache Web Server - Tutorial

WHM Dedicated Server Configuration 3

Setting Up A Dedicated Server For A Multiplayer Game In Unity

WHM Bangla Tutorial Dedicated Server Configuration 2

Valheim Dedicated Server Setup | Host A FREE Private Server

How To Deploy A Cloud Dedicated Server With Free InterWorx - Host Unlimited Accounts

Set Up A Simple Web Server At Home In Under 10 Minutes Using Windows And WAMP

How To Setup A Cloud Dedicated Server W/InterWorx & Add Your Website, Name Servers, & Hostname SSL


Gizlilik ve güvenlik - En Popüler Makaleler

Twitter Hesabınızdaki Tüm Cihazların Oturumunu Kapatma

Gizlilik ve güvenlik Nov 29, 2024

Birinin Twitter hesabınıza erişimi olduğundan endişeleniyorsanız veya eski cihazların artık oturum açmadığından emin olmak istiyorsanız, hesabınızdaki her cihazda tek..


Windows 7’nin Temmuz 2019 Güvenlik Yaması Telemetri İçeriyor

Gizlilik ve güvenlik Jul 11, 2025

BAĞLANMAMIŞ İÇERİK Windows izleyicileri şaşırtacak şekilde, en son Windows 7 "yalnızca güvenlik" güncellemesi telemetriyi içerir. Söz konusu telemetri, Microsoft’u..


Windows 10 Bilgisayarınızı Uzaktan Kilitleme

Gizlilik ve güvenlik Jan 29, 2025

BAĞLANMAMIŞ İÇERİK Android ve Apple uzun zamandır insanlara gadget'larınızı uzaktan izleme ve devre dışı bırakma yolu sağladı. Microsoft ayrıca, Windows 10'da "Cih..


Pahalı Akıllı Cihazınız On Yıl Sürmeyebilir

Gizlilik ve güvenlik Jan 23, 2025

Sebastian Kaulitzki / Shutterstock Yeni bir cihaz satın aldığınızda, bir süre dayanması gereken bir yatırım yaparsınız, ancak bu akıl..


Telefonunuzun Parmak İzi Okuyucusunu Nasıl Daha Doğru Hale Getirebilirsiniz?

Gizlilik ve güvenlik Jul 13, 2025

BAĞLANMAMIŞ İÇERİK Telefonlardaki parmak izi okuyucular, cihazları, en azından ilk denemede çalıştıklarında daha güvenli ve daha hızlı hale getirdi. Telefonunuzun k..


MacOS 10.13 High Sierra'daki Yenilikler Şimdi Kullanılabilir

Gizlilik ve güvenlik Oct 3, 2025

BAĞLANMAMIŞ İÇERİK Safari, Mail, Fotoğraflar ve daha pek çok konuda iyileştirmelerle macOS'un bir sonraki sürümü çıktı. MacOS 10.13 "High Sierra" da göreceğiniz en..


Google Chrome'da Bir Web Sitesi İçin İzinleri Hızla Ayarlama

Gizlilik ve güvenlik Feb 7, 2025

BAĞLANMAMIŞ İÇERİK Google Chrome, çoğu insanın muhtemelen bilmediği çok kullanışlı bir özelliğe sahiptir - Tek bir tıklamayla site başına izinleri hızlı bir ş..


Internet Explorer 9 RC Artık Kullanılabilir: İşte En İlginç Yeni Öğeler

Gizlilik ve güvenlik Jul 11, 2025

BAĞLANMAMIŞ İÇERİK Dün Microsoft, nihai ürüne çok yakın olan Internet Explorer 9'un sürüm adayını açıkladı. İşte en ilginç yeni şeylerin ekran görüntüsü t..


Kategoriler