
2023 Pengarang: Peter John Melton | [email protected]. Diubah suai terakhir: 2023-11-26 11:12
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]
|
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:
Cara Pindah ke Kamera Dedicated Selepas Menggunakan Kamera Pintar

Tahun lepas, buat kali pertama dalam tempoh lima tahun, jumlah kamera yang dijual sebenarnya meningkat. Walaupun saya tidak mempunyai apa-apa selain anekdot peribadi untuk menyokongnya, saya mengesyaki bahawa orang ramai suka mengambil foto di telefon pintar mereka sehingga sebahagian daripada mereka sebenarnya memutuskan membeli kamera khusus.
Bagaimana Membina Komputer Anda Sendiri, Bahagian Lima: Tweaking Komputer Baru Anda

Tahniah, anda telah berjaya memilih bahagian, memasang PC anda sendiri, dan memasang Windows! Kini anda boleh sampai ke … apa sahaja yang anda mahu, saya fikir. Adakah pemain masih "tidak tahu"? Masihkah perkara itu?
Cara Tambah Baris Nombor Dedicated ke Papan Kekunci Google di Android

Secara lalai, papan kekunci Google tidak memaparkan deretan nombor di bahagian atas papan kekunci utama. Sekiranya anda menghabiskan banyak masa menaip nombor, ada cara mudah untuk menambah nombor baris berdedikasi ke bahagian atas papan kekunci.
10 Windows Tweaking Myths Debunked

Windows besar, rumit, dan tidak difahami. Anda masih akan tersandung nasihat buruk dari semasa ke semasa ketika menyemak imbas web. Tweaker Windows, prestasi, dan petua penyelenggaraan sistem kebanyakannya tidak berguna, tetapi ada yang secara aktif berbahaya.
Artikel Terbaik untuk Tweaking dan Menyesuaikan Windows 7

Adakah anda suka tweak sistem Windows 7, menyesuaikannya agar sesuai dengan keperibadian anda dan cara anda bekerja? Kami telah menunjukkan kepada anda banyak cara untuk menyesuaikan Taskbar, Start Menu, Desktop, Windows Explorer, dan bahagian lain Windows.