Tweaking Server Web Virtual Dedicated

Isi kandungan:

Video: Tweaking Server Web Virtual Dedicated

Video: Tweaking Server Web Virtual Dedicated
Video: 30 окончательных прогнозов и подсказок на 2020 год 2023, Disember
Tweaking Server Web Virtual Dedicated
Tweaking Server Web Virtual Dedicated
Anonim

Apabila anda mendapatkan pelayan maya yang berdedikasi untuk menjalankan laman web anda, peluangnya adalah baik bahawa ia dikonfigurasi untuk semua orang, dan tidak disesuaikan untuk memaksimumkan prestasi untuk menjalankan laman web.

Kandungan

[sembunyi]

  • 1 Gambaran Keseluruhan
  • 2 Linux Configuration

    • 2.1 Matikan DNS
    • 2.2 Lumpuhkan SpamAssassain
    • 2.3 Matikan xinetd
    • 2.4 Hadkan Penggunaan Memori Plesk
    • 2.5 Matikan atau Matikan Plesk (pilihan)
  • 3 Konfigurasi MySQL

    • 3.1 Dayakan Cache Query
    • 3.2 Lumpuhkan TCP / IP
  • 4 Konfigurasi Apache
  • 5 PHP Configuration

    • 5.1 Buang Modul PHP Yang Tidak Diperlukan
    • 5.2 PHP Opcode Cache
  • 6 Backup

    • 6.1 Buat Skrip Cadangan Automatik
    • 6.2 Penyegerakan Penyegerakan Luar Tapak Dengan Rsync
  • 7 Keselamatan

    • 7.1 Matikan Log masuk Root Lebih SSH
    • 7.2 Lumpuhkan Versi SSH 1
    • 7.3 Restart Server SSH
    • 7.4 Semak untuk Pelabuhan Terbuka
    • 7.5 Persediaan Firewall
  • 8 Lihat Juga
  • 9 Rujukan

Gambaran keseluruhan

Terdapat beberapa kawasan masalah di mana kita ingin memaksimumkan prestasi:

  • Konfigurasi Linux Biasanya terdapat perkhidmatan yang tidak perlu, membazirkan memori yang boleh digunakan untuk lebih banyak sambungan.
  • Konfigurasi MySQL Selalunya tetapan lalai didasarkan pada pelayan kecil, kami boleh menambah beberapa perubahan penting untuk meningkatkan prestasi yang banyak.
  • Konfigurasi Apache Secara lalai kebanyakan pembekal hosting memasang apache dengan hampir setiap modul yang dipasang. Tidak ada sebab untuk memuat modul jika anda tidak akan menggunakannya.
  • Konfigurasi PHP Konfigurasi PHP lalai juga dibengkokkan, biasanya terdapat satu ton modul tambahan yang tidak perlu dipasang.
  • PHP Opcode Cache Daripada membenarkan PHP untuk mengkompilasi semula skrip setiap kali, cache opcode akan menyembunyikan skrip yang dikompilkan dalam memori untuk meningkatkan prestasi yang besar.
  • Sandaran Sekiranya mungkin membuat persediaan beberapa sandaran automatik, kerana penyedia hosting anda tidak akan melakukannya untuk anda.
  • Keselamatan Pastinya, Linux cukup selamat secara lalai, tetapi biasanya terdapat beberapa isu keselamatan yang dapat anda selesaikan dengan beberapa tetapan cepat.

Konfigurasi Linux

Terdapat beberapa tweak yang boleh anda lakukan, yang akan sedikit berbeza berdasarkan pelayan yang anda gunakan. Tweak ini adalah untuk pelayan yang menjalankan CentOS, tetapi mereka harus bekerja untuk majoriti pelayan DV.

Lumpuhkan DNS

Jika penyedia hosting anda mengendalikan DNS untuk domain anda (mungkin), maka anda boleh mematikan perkhidmatan DNS daripada berjalan.

disable dns /etc/init.d/named stop chmod 644 /etc/init.d/named

Perintah chmod mengalih keluar kebenaran daripada skrip, menghentikannya daripada berjalan pada permulaan.

Lumpuhkan SpamAssassain

Jika anda tidak menggunakan akaun e-mel pada pelayan anda sendiri, anda tidak perlu bersusah payah menjalankan alat anti-spam. (Anda juga perlu menyemak Google Apps, penyelesaian e-mel yang lebih baik)

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

Lumpuhkan xinetd

Proses xinetd menempatkan beberapa proses lain, tidak ada yang berguna untuk pelayan web biasa.

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

Hadkan Penggunaan Memori Plesk

Jika anda menggunakan panel plesk, anda boleh memaksanya untuk menggunakan memori yang kurang dengan menambah fail pilihan.

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

Tambah baris berikut ke fail:

MinSpareServers 1 MaxSpareServers 1 StartServers 1 MaxClients 5

Ambil perhatian bahawa opsyen ini diketahui berfungsi pada pelayan MediaTemple DV, tetapi belum diperiksa pada mana-mana orang lain. (Lihat Rujukan)

Lumpuhkan atau Matikan Plesk (pilihan)

Jika anda hanya menggunakan Plesk sekali setahun, ada alasan yang sangat kecil untuk membiarkannya berjalan sama sekali. Ambil perhatian bahawa langkah ini adalah sepenuhnya pilihan, dan sedikit lebih maju.

Jalankan arahan berikut untuk mematikan plesk:

/etc/init.d/psa stop

Anda boleh mematikannya daripada berjalan pada permulaan dengan menjalankan arahan berikut:

chmod 644 /etc/init.d/psa

Ambil perhatian bahawa jika anda melumpuhkannya, maka anda tidak boleh memulakannya secara manual tanpa mengubah keizinan fail kembali (chmod u + x).

Konfigurasi MySQL

Dayakan Cache Query

Buka fail /etc/my.cnf anda dan tambahkan baris berikut dalam bahagian [mysqld] anda seperti ini:

[mysqld] query-cache-type = 1 query-cache-size = 8M

Anda boleh menambah lebih banyak memori ke cache pertanyaan jika anda mahu, tetapi jangan gunakan terlalu banyak.

Lumpuhkan TCP / IP

Bilangan tuan rumah yang mengejutkan membolehkan akses kepada MySQL pada TCP / IP secara lalai, yang tidak masuk akal untuk laman web. Anda boleh mengetahui jika mysql sedang mendengar TCP / IP dengan menjalankan perintah berikut:

netstat -an | grep 3306

Untuk melumpuhkan, tambah baris berikut ke fail /etc/my.cnf anda:

skip-networking

Konfigurasi Apache

Buka fail httpd.conf anda, sering dijumpai di /etc/httpd/conf/httpd.conf

Cari baris yang kelihatan seperti ini:

Timeout 120

Dan ubahlah ini:

Timeout 20

Sekarang cari bahagian yang merangkumi garis-garis ini, dan sesuaikan dengan sesuatu yang serupa:

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

Konfigurasi PHP

Salah satu perkara yang perlu diingat apabila tweaking pelayan di platform PHP adalah bahawa setiap thread apache tunggal akan memuatkan PHP di lokasi berasingan dalam ingatan. Ini bermakna jika modul yang tidak digunakan menambah 256k memori ke PHP, merentasi 40 benang apache anda membuang 10 MB memori.

Keluarkan Modul PHP Yang Tidak Diperlukan

Anda perlu mencari fail php.ini anda, yang biasanya terdapat di /etc/php.ini (Perhatikan bahawa pada beberapa pengedaran, akan ada direktori /etc/php.d/ dengan beberapa fail.ini, satu untuk setiap modul.

Komen mana-mana baris loadmodule dengan modul ini:

  • odbc
  • snmp
  • pdo
  • odbc pdo
  • mysqli
  • ioncube-loader
  • json
  • imap
  • ldap
  • ncurses

Todo: Tambah maklumat lanjut di sini.

PHP Opcode Cache

Terdapat beberapa cache opcode yang boleh anda gunakan, termasuk APC, eAccelerator, dan Xcache, yang terakhir adalah pilihan peribadi saya kerana kestabilan.

Muat turun xcache dan ekstraknya ke direktori, kemudian jalankan arahan berikut dari direktori sumber xcache:

phpize./configure --enable-xcache make make install

Buka fail php.ini dan tambahkan bahagian baru untuk xcache. Anda perlu menyesuaikan laluan jika modul php anda dimuatkan dari tempat lain.

vi /etc/php.ini

Tambah bahagian berikut pada fail:

[xcache-common] zend_extension = /usr/lib/php/modules/xcache.so [xcache.admin] xcache.admin.user = 'myusername' xcache.admin.pass = 'putanmd5hashhere' [xcache]; Change xcache.size to tune the size of the opcode cache xcache.size = 16M xcache.shm_scheme = 'mmap' xcache.count = 1 xcache.slots = 8K xcache.ttl = 0 xcache.gc_interval = 0; Change xcache.var_size to adjust the size of variable cache xcache.var_size = 1M xcache.var_count = 1 xcache.var_slots = 8K xcache.var_ttl = 0 xcache.var_maxttl = 0 xcache.var_gc_interval = 300 xcache.test = Off xcache.readonly_protection = On xcache.mmap_path = '/tmp/xcache' xcache.coredump_directory = '' xcache.cacher = On xcache.stat = On xcache.optimizer = Off

Todo: Perlu mengembangkan ini sedikit dan menghubungkan ke xcache dalam rujukan.

Sandaran

Terdapat sedikit lebih penting daripada mempunyai sandaran automatik laman web anda. Anda mungkin dapat mendapatkan sandaran snapshot dari penyedia hosting anda, yang juga sangat berguna, tetapi saya lebih suka mempunyai backup automatik juga.

Buat Skrip Cadangan Automatik

Saya biasanya mula membuat direktori / backup, dengan direktori / sandaran / fail di bawahnya. Anda boleh menyesuaikan laluan ini jika anda mahu.

mkdir -p /backups/files

Sekarang buat script backup.sh di dalam direktori sandaran:

vi /backups/backup.sh

Tambahkan yang berikut ke fail, menyesuaikan kata laluan dan kata laluan mysqldump yang diperlukan:

#!/bin/sh THEDATE=`date +%d%m%y%H%M` mysqldump -uadmin -pPASSWORD DATABASENAME > /backups/files/dbbackup$THEDATE.bak tar -cf /backups/files/sitebackup$THEDATE.tar /var/www/vhosts/my-website-path/httpdocs gzip /backups/files/sitebackup$THEDATE.tar find /backups/files/site* -mtime +5 -exec rm {}; find /backups/files/db* -mtime +5 -exec rm {};

Skrip pertama akan mencipta pemboleh ubah tarikh supaya semua fail akan dinamakan sama untuk sandaran tunggal, kemudian membuang pangkalan data, mencantumkan fail web dan gzip mereka. Perintah carian digunakan untuk mengalih keluar sebarang fail lebih lama daripada 5 hari, kerana anda tidak mahu pemacu anda kehabisan ruang.

Buat skrip yang boleh dilaksanakan dengan menjalankan perintah berikut:

chmod u+x /backups/backup.sh

Seterusnya anda perlu menetapkannya untuk dijalankan secara automatik oleh cron. Pastikan anda menggunakan akaun yang mempunyai akses ke direktori sandaran.

crontab -e

Tambahkan baris berikut ke crontab:

1 1 * * * /backups/backup.sh

Anda boleh menguji skrip sebelum masa dengan menjalankannya semasa log masuk ke akaun pengguna. (Saya biasanya menjalankan sandaran sebagai root)

Sinkronkan Backups Off-Site Dengan Rsync

Sekarang bahawa anda mempunyai sandaran automatik pelayan anda berjalan, anda boleh menyegerakkannya di tempat lain dengan menggunakan utiliti rsync. Anda akan mahu membaca artikel ini mengenai cara menyusun kunci ssh untuk log masuk automatik: Tambah Kunci SSH Umum kepada Pelayan Jauh dalam Command Single

Anda boleh menguji ini dengan menjalankan perintah ini pada mesin linux atau Mac di lokasi lain (saya mempunyai pelayan linux di rumah, di mana saya menjalankannya)

rsync -a [email protected]:/backups/files/* /offsitebackups/

Ini akan mengambil masa yang agak lama untuk dijalankan buat kali pertama, tetapi pada akhirnya komputer tempatan anda sepatutnya mempunyai salinan direktori fail dalam / offsitebackups / direktori. (Pastikan untuk mencipta direktori itu sebelum menjalankan skrip)

Anda boleh menjadualkan ini dengan menambahkannya ke baris crontab:

crontab -e

Tambah baris berikut, yang akan dijalankan rsync setiap jam pada tanda 45 minit. Anda akan melihat bahawa kami menggunakan laluan penuh ke rsync di sini.

45 * * * * /usr/bin/rsync -a [email protected]:/backups/files/* /offsitebackups/

Anda boleh menjadualkannya untuk berlari pada masa yang berlainan, atau hanya sekali sehari. Itu betul-betul terpulang kepada awak.

Perhatikan bahawa terdapat banyak utiliti yang akan membolehkan anda menyegerakkan melalui ssh atau ftp. Anda tidak perlu menggunakan rsync.

Keselamatan

Perkara pertama yang anda ingin lakukan ialah pastikan anda mempunyai akaun pengguna biasa untuk digunakan melalui ssh, dan pastikan anda boleh menggunakan su untuk bertukar menjadi root. Idea yang sangat buruk untuk membolehkan log masuk terus untuk root di atas ssh.

Lumpuhkan Login Root Lebih SSH

Edit fail / etc / ssh / sshd_config, dan cari baris berikut:

#PermitRootLogin yes

Tukar baris itu untuk kelihatan seperti ini:

PermitRootLogin no

Pastikan anda mempunyai akaun pengguna biasa dan boleh su root sebelum anda membuat perubahan ini, jika tidak, anda mungkin mengunci diri anda.

Lumpuhkan Versi SSH 1

Tidak ada sebab untuk menggunakan apa-apa selain versi SSH 2, kerana ia lebih selamat daripada versi sebelumnya. Edit fail / etc / ssh / sshd_config, dan cari bahagian berikut:

#Protocol 2,1 Protocol 2

Pastikan anda hanya menggunakan Protokol 2 seperti yang ditunjukkan.

Restart SSH Server

Kini, anda perlu memulakan semula pelayan SSH untuk melaksanakannya.

/etc/init.d/sshd restart

Semak Pelabuhan Terbuka

Anda boleh menggunakan arahan berikut untuk melihat mana pelabuhan pelayan sedang mendengar:

netstat -an | grep LISTEN

Anda benar-benar tidak perlu mendengar apa-apa daripada pelabuhan 22, 80, dan mungkin 8443 untuk plesk.

Persiapkan Firewall

Artikel utama:Menggunakan Iptables di Linux

Anda boleh membuat pilihan firewall iptables untuk menghalang lebih banyak sambungan. Sebagai contoh, saya biasanya menyekat akses kepada mana-mana pelabuhan lain selain dari rangkaian kerja saya. Sekiranya anda mempunyai alamat IP dinamik, anda ingin mengelakkan pilihan tersebut.

Jika anda telah mengikuti semua langkah dalam panduan ini setakat ini, mungkin tidak perlu juga menambah firewall pada campuran, tetapi ia adalah baik untuk memahami pilihan anda.

Lihat juga

  • Menggunakan Iptables di Linux

Rujukan

  • Mengoptimumkan pelayan DV anda (mediatemple.net)
  • XCache

Disyorkan: