専用仮想Webサーバーの調整

May 22, 2025
プライバシーとセキュリティ
未取得のコンテンツ

ウェブサイトを実行するための専用仮想サーバーを入手した場合、ウェブサイトを実行するためのパフォーマンスを最大化するようにカスタマイズされておらず、すべての人のために構成されている可能性があります。

内容

隠す

  • 1。概要
  • 2Linux構成
    • 2.1DNSを無効にする
    • 2.2SpamAssassinを無効にする
    • 2.3xinetdを無効にする
    • 2.4Pleskのメモリ使用量を制限する
    • 2.5 Pleskを無効またはオフにする(オプション)
  • 3MySQL構成
    • 3.1クエリキャッシュを有効にする
    • 3.2 TCP / IPを無効にする
  • 4Apache構成
  • 5PHP構成
    • 5.1不要なPHPモジュールを削除する
    • 5.2PHPオペコードキャッシュ
  • 6バックアップ
    • 6.1自動バックアップスクリプトの作成
    • 6.2バックアップをオフサイトでRsyncと同期する
  • 7セキュリティ
    • 7.1SSH経由のルートログインを無効にする
    • 7.2SSHバージョン1を無効にする
    • 7.3SSHサーバーを再起動します
    • 7.4開いているポートを確認する
    • 7.5ファイアウォールを設定する
  • 8関連項目
  • 9参照

概要概要

パフォーマンスを最大化したい問題領域がいくつかあります。

  • Linux構成
    通常、実行する必要のないサービスが実行されており、より多くの接続に使用できるメモリを浪費しています。
  • MySQL構成
    多くの場合、デフォルト設定は小さなサーバーに基づいていますが、パフォーマンスを大幅に向上させるためにいくつかの重要な変更を追加できます。
  • Apache構成
    デフォルトでは、ほとんどのホスティングプロバイダーは、ほぼすべてのモジュールがインストールされた状態でapacheをインストールします。モジュールを使用する予定がない場合は、モジュールをロードする理由はありません。
  • PHP構成
    デフォルトのPHP構成も同様に肥大化しており、通常、不要な追加モジュールが大量にインストールされています。
  • PHPオペコードキャッシュ
    PHPがスクリプトを毎回再コンパイルできるようにする代わりに、オペコードキャッシュは、コンパイルされたスクリプトをメモリにキャッシュして、パフォーマンスを大幅に向上させます。
  • バックアップ
    ホスティングプロバイダーが自動的にバックアップを行うことはないため、おそらく自動バックアップを設定する必要があります。
  • セキュリティ
    確かに、Linuxはデフォルトで十分に安全ですが、通常、いくつかの簡単な設定で修正できる明白なセキュリティ問題がいくつかあります。

Linux構成

実行できる微調整はかなりありますが、使用しているサーバーによって若干異なります。これらの調整はCentOSを実行しているサーバー用ですが、DVサーバーの大部分で機能するはずです。

DNSを無効にする

ホスティングプロバイダーがドメインのDNSを処理している場合(おそらく)、DNSサービスの実行を無効にすることができます。

DNSを無効にする
/etc/init.d/named stop
chmod 644 /etc/init.d/named

chmodコマンドは、スクリプトから実行権限を削除し、起動時にスクリプトの実行を停止します。

SpamAssassinを無効にする

サーバー自体でメールアカウントを使用していない場合は、スパム対策ツールをわざわざ実行しないでください。 (また、Google Apps、はるかに優れたメールソリューションをチェックする必要があります)

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

xinetdを無効にする

xinetdプロセスには他にも多くのプロセスがありますが、いずれも一般的なWebサーバーには役立ちません。

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

Pleskのメモリ使用量を制限する

pleskパネルを使用する場合は、オプションファイルを追加することで、強制的にメモリの使用量を減らすことができます。

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

次の行をファイルに追加します。

MinSpareServers 1
MaxSpareServers 1
StartServers 1
MaxClients 5

このオプションはMediaTempleDVサーバーで機能することがわかっていますが、他のサーバーではチェックされていないことに注意してください。 (見る 参考文献

Pleskを無効またはオフにする(オプション)

Pleskを1年に1回しか使用しない場合、Pleskを実行したままにする理由はほとんどありません。このステップは完全にオプションであり、少し進んでいることに注意してください。

次のコマンドを実行して、pleskをオフにします。

/etc/init.d/psa stop

次のコマンドを実行して、起動時に実行を無効にすることができます。

chmod 644 /etc/init.d/psa

無効にすると、ファイルのアクセス許可を元に戻さずに手動で起動することはできません(chmod u + x)。

MySQL構成

クエリキャッシュを有効にする

/etc/my.cnfファイルを開き、[mysqld]セクションに次のような行を追加します。

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

必要に応じてクエリキャッシュにメモリを追加できますが、あまり使用しないでください。

TCP / IPを無効にする

驚くべき数のホストがデフォルトでTCP / IP上のMySQLへのアクセスを有効にしますが、これはWebサイトには意味がありません。次のコマンドを実行すると、mysqlがTCP / IPをリッスンしているかどうかを確認できます。

netstat -an | grep 3306

無効にするには、/ etc /my.cnfファイルに次の行を追加します。

スキップネットワーキング

Apache構成

/etc/httpd/conf/httpd.confによくあるhttpd.confファイルを開きます

次のような行を見つけます。

タイムアウト120

そしてそれをこれに変更します:

タイムアウト20

次に、これらの行を含むセクションを見つけて、同様のものに調整します。

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

PHP構成

PHPプラットフォームでサーバーを微調整するときに覚えておくべきことの1つは、すべてのapacheスレッドがメモリ内の別々の場所にPHPをロードすることです。これは、未使用のモジュールがPHPに256kのメモリを追加した場合、40のapacheスレッド全体で10MBのメモリを浪費していることを意味します。

不要なPHPモジュールを削除する

php.iniファイルを見つける必要があります。これは通常/etc/php.iniにあります(一部のディストリビューションでは、/ etc / php.d /ディレクトリに多数の.iniファイルがあります。モジュールごとに1つ。

これらのモジュールを使用してloadmodule行をコメントアウトします。

  • odbc
  • snmp
  • pdo
  • odbc pdo
  • mysqli
  • イオンキューブローダー
  • json
  • imap
  • ldap
  • ncurses

Todo:ここに詳細情報を追加してください。

PHPオペコードキャッシュ

APC、eAccelerator、Xcacheなど、使用できるオペコードキャッシュは多数ありますが、最後のキャッシュは安定性のために個人的に好みです。

xcacheをダウンロードしてディレクトリに抽出し、xcacheソースディレクトリから次のコマンドを実行します。

phpize
./configure --enable-xcache
作る
インストールする

php.iniファイルを開き、xcacheの新しいセクションを追加します。 phpモジュールが別の場所から読み込まれる場合は、パスを調整する必要があります。

vi /etc/php.ini

次のセクションをファイルに追加します。

[xcache-common]
zend_extension = /usr/lib/php/modules/xcache.so
[xcache.admin]
xcache.admin.user = "myusername"
xcache.admin.pass = "putanmd5hashhere"
[xcache]
; xcache.sizeを変更して、オペコードキャッシュのサイズを調整します
xcache.size = 16M
xcache.shm_scheme = "mmap"
xcache.count = 1
xcache.slots = 8K
xcache.ttl = 0
xcache.gc_interval = 0
; xcache.var_sizeを変更して、変数キャッシュのサイズを調整します
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 =オフ
xcache.readonly_protection =オン
xcache.mmap_path = "/ tmp / xcache"
xcache.coredump_directory = ""
xcache.cacher =オン
xcache.stat =オン
xcache.optimizer =オフ

Todo:これを少し拡張して、リファレンスのxcacheにリンクする必要があります。

バックアップ

ウェブサイトの自動バックアップよりも重要なことはほとんどありません。ホスティングプロバイダーからスナップショットバックアップを取得できる場合もあります。これも非常に便利ですが、自動バックアップも使用したいと思います。

自動バックアップスクリプトの作成

私は通常、/ backupsディレクトリを作成し、その下に/ backups / filesディレクトリを作成することから始めます。必要に応じて、これらのパスを調整できます。

mkdir -p / backups / files

次に、backupsディレクトリ内にbackup.shスクリプトを作成します。

vi /backups/backup.sh

以下をファイルに追加し、必要に応じてパスとmysqldumpパスワードを調整します。

#!/ bin / sh

THEDATE = `日付+%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

/ backups / files / site * -mtime +5 -exec rm {} \;を検索します。
/ backups / files / db * -mtime +5 -exec rm {} \;を検索します。

スクリプトは最初に日付変数を作成するため、1回のバックアップですべてのファイルに同じ名前が付けられ、次にデータベースをダンプし、Webファイルをtarで圧縮し、gzipで圧縮します。ドライブの容量が不足しないようにするため、findコマンドを使用して5日より古いファイルを削除します。

次のコマンドを実行して、スクリプトを実行可能にします。

chもd う+x /ばcくps/ばcくp。sh

次に、cronによって自動的に実行されるように割り当てる必要があります。バックアップディレクトリにアクセスできるアカウントを使用していることを確認してください。

cろんたb ーえ

crontabに次の行を追加します。

1       1       *       *       *       /ばcくps/ばcくp。sh

ユーザーアカウントにログオンした状態でスクリプトを実行することにより、事前にスクリプトをテストできます。 (私は通常、バックアップをルートとして実行します)

バックアップをオフサイトでRsyncと同期する

サーバーの自動バックアップが実行されたので、rsyncユーティリティを使用して別の場所でそれらを同期できます。自動ログイン用にsshキーを設定する方法については、次の記事をお読みください。 単一のコマンドでリモートサーバーに公開SSHキーを追加する

これは、別の場所にあるLinuxまたはMacマシンでこのコマンドを実行することでテストできます(自宅にLinuxサーバーがあり、ここでこれを実行しています)

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

これは最初に実行するのにかなり時間がかかりますが、最後にローカルコンピュータの/ offsitebackups /ディレクトリにファイルディレクトリのコピーが必要です。 (スクリプトを実行する前に、必ずそのディレクトリを作成してください)

これをcrontab行に追加することでスケジュールできます。

cろんたb ーえ

次の行を追加します。これは、45分マークで1時間ごとにrsyncを実行します。ここでは、rsyncにフルパスを使用していることに気付くでしょう。

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

別の時間に実行するようにスケジュールすることも、1日に1回だけ実行するようにスケジュールすることもできます。それは本当にあなた次第です。

sshまたはftp経由で同期できるユーティリティがたくさんあることに注意してください。 rsyncを使用する必要はありません。

セキュリティ

最初に行うことは、sshを介して使用する通常のユーザーアカウントを持っていることを確認し、suを使用してrootに切り替えることができることを確認することです。 root oversshへの直接ログインを許可することは非常に悪い考えです。

SSH経由のルートログインを無効にする

/ etc / ssh / sshd_configファイルを編集して、次の行を探します。

#PermitRootLoginはい

その行を次のように変更します。

ぺrみtろおtぉぎん の

この変更を行う前に、通常のユーザーアカウントを持っていて、rootにsuできることを確認してください。そうしないと、ロックアウトされる可能性があります。

SSHバージョン1を無効にする

SSHバージョン2以外のものを使用する理由は実際にはありません。これは、以前のバージョンよりも安全だからです。 / etc / ssh / sshd_configファイルを編集し、次のセクションを探します。

#プロトコル2,1
プロトコル2

図のように、プロトコル2のみを使用していることを確認してください。

SSHサーバーを再起動します

これを有効にするには、SSHサーバーを再起動する必要があります。

/etc/init.d/sshd restart

開いているポートを確認します

次のコマンドを使用して、サーバーがリッスンしているポートを確認できます。

netstat -an | grep LISTEN

ポート22、80、場合によっては8443以外のpleskをリッスンする必要はありません。

ファイアウォールを設定する

オプションで、iptablesファイアウォールを設定して、より多くの接続をブロックできます。たとえば、私は通常、仕事用ネットワーク以外のポートへのアクセスをブロックします。動的IPアドレスがある場合は、そのオプションを避けたいと思うでしょう。

このガイドのこれまでのすべての手順をすでに実行している場合は、ファイアウォールも追加する必要はないかもしれませんが、オプションを理解しておくことをお勧めします。

関連項目

  • LinuxでのIptablesの使用

参考文献

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


プライバシーとセキュリティ - 最も人気のある記事

これらの人気のあるブラウザ拡張機能は、意図的に完全なWeb履歴を漏らしています

プライバシーとセキュリティ Jul 25, 2025

未取得のコンテンツ 合計1,100万人が使用するブラウザ拡張機能と電話アプリは、ユーザーの完全な閲覧履歴を記録しており、プライ�..


WindowsPCでウイルスやマルウェアを削除する方法

プライバシーとセキュリティ Nov 12, 2024

ウイルスが検出されたというメッセージが表示された場合でも、コンピュータの速度が遅く信頼性が低いように見える場合でも、PC上�..


「AntimalwareServiceExecutable」とは何ですか?なぜそれが私のPCで実行されているのですか?

プライバシーとセキュリティ Jul 31, 2025

Windows 10には、Microsoftの組み込みアンチウイルスであるWindowsDefenderが含まれています。 「AntimalwareServiceExecutable」プロセスは、WindowsDefend..


AndroidスマートフォンのPIN、パターン、またはパスワードを忘れた場合の対処方法

プライバシーとセキュリティ Jun 8, 2025

Androidは通常、PIN、パターン、または完全なパスワードを要求することでデバイスを保護します。ロック解除コードを忘れても、スマー..


ブラウザを閉じたときにプライベートデータを自動的にクリアする方法

プライバシーとセキュリティ Jul 5, 2025

Webブラウザーは通常、個人データを保存します—履歴、 クッキー 、検索、ダウンロードなど、そして あなたが尋ね�..


それをブロックするサイトにテキストを貼り付けることを有効にする方法

プライバシーとセキュリティ Apr 27, 2025

一部の企業は、パスワードフィールドなどのフォームフィールドに貼り付ける機能を無効にすることでセキュリティを強化してい�..


Googleアカウントが安全であることを確認する3つの簡単な方法

プライバシーとセキュリティ Nov 14, 2024

すべてのオンラインアカウントのうち、Googleがほとんどの情報を保持している可能性があります。考えてみてください。メールにGmail�..


初心者オタク:Evernote forChromeでオンラインで目にするものすべてを覚えておいてください

プライバシーとセキュリティ Jul 8, 2025

未取得のコンテンツ すばらしい記事、写真、またはWebサイトでのダウンロードを発見したことがありますが、後でそれがどこにあったかを�..


カテゴリ