GNU/Linux >> Linux の 問題 >  >> Linux

Ubuntuオペレーティングシステムで仮想ホストを無効にし、ApacheとNginxのCentOSを無効にします

Webサイトを無効にする必要があるが、その方法がわからない場合はどうなりますか?思ったより簡単です。始める前に、この記事を読むときは次の点に注意してください。

  • 仮想ホスト(vhost)サーバーブロックのタイトルが domain.com.conf以外である可能性があります 。たとえば、 httpd.confを使用できます またはssl.conf 。その場合は、 domain.com.confを置き換えてください 構成ファイル名を使用します。

  • この記事では、ポート80を使用し、Secure Sockets Layer(SSL)ではないいくつかの例でvhostsまたはサーバーブロックを使用しています。 vhostまたはサーバーブロックがポート443を使用するSSL対応のvhostまたはサーバーブロックである場合、これらの手順に違いはないことに注意してください。手順は同じです。

UbuntuオペレーティングシステムとApache

最も簡単なものから始めましょう。 Ubuntu®には、Apache®で仮想ホストを管理するための2つのコマンドが付属しています。仮想ホストを有効にするには、次のコマンドを使用します。

sudo a2ensite /etc/apache2/sites-available/domain.com.conf

a2ensiteでの文字と数字のコレクションの意味を理解したとき 、UbuntuでApache仮想ホストを有効または無効にする方法を覚えておくと簡単です。

コマンドの内訳は次のとおりです。

  • a2 :apache2(UbuntuがApacheと呼んでいるもの)
  • en :有効にする
  • サイト :ウェブサイト仮想ホスト

ウェブサイトを無効にするには、 a2dissiteを使用します 次の例に示すように、コマンド:

sudo a2dissite /etc/apache2/sites-enabled/domain.com.conf

このコマンドには次のコンポーネントがあります。

  • a2 :apache2(UbuntuがApacheと呼んでいるもの)
  • dis :無効にする
  • サイト :ウェブサイト仮想ホスト

また、 a2ensite間のディレクトリパスの違いにも注意してください。 およびa2dissite 。 UbuntuでApacheの仮想ホストを有効にする場合は、サイトで利用可能から有効にします。 ディレクトリ。 Ubuntuで仮想ホストを無効にする場合は、サイト対応から無効にします。 ディレクトリ。

仮想ホストを無効にした後、次のコマンドを使用して、Apache構成の構文を確認します。

apache2ctl -t

期待される応答:

Syntax OK

Apacheを再起動またはリロードするには、次のいずれかのコマンドを実行します。

service apache2 restart

または

service apache2 reload

再起動 Apacheを完全にダウンさせ、リロード 元のサービスを停止する前に、新しいApacheサービスをシームレスに開始します。通常、オプションがある場合は、再起動するのではなく、リロードする必要があります。

UbuntuオペレーティングシステムとNginx

Nginx®サーバーブロック(Nginxがvhostsと呼ぶもの)を無効にすることは少し異なります。 Nginxはシンボリックリンクを使用してサーバーブロックを有効または無効にします。 Apache vhostsもシンボリックリンクを使用できますが、 a2ensite およびa2dissite Nginxでは機能しません。

UbuntuのNginxでサーバーブロックを無効にするには、サイト対応間のシンボリックリンクを削除する必要があります およびサイト-利用可能 、次の例に示すように:

sudo rm /etc/nginx/sites-enabled/domain.com.conf

このコマンドは、Webサイト domain.comのシンボリックリンクを削除します 。次のコマンドを使用して、Nginx構文を確認します。

nginx -t

期待される応答:

nginx: the configuration file <file-path> syntax is ok
nginx: configuration file <file-path> test is successful

ファイルパスウェイがプレースホルダーに表示されます。肯定応答を受け取ったら、次のいずれかのコマンドを使用してNginxbuをリロードまたは再起動する必要があります。

service nginx reload

または

service nginx restart

以前と同様に、そうするオプションがあるときはいつでも、 reloadを使用してください restartではなく 所有している他のWebサイトを中断しないようにします。

php-fpmを実行した場合 、次のコマンドを使用して、そのサービスも再起動する必要があります。

service php-fpm restart

CentOSとApache

CentOSには使いやすいコマンドがないため、CentOS®のApacheで仮想ホストを無効にするのはより複雑です。 CentOSでは、無効にする仮想ホストを手動でコメントアウトする必要があります。

これがdomain.comの例です CentOSでのApacheの仮想ホスト:

<VirtualHost *:80>
ServerName domain.com
ServerAlias www.domain.com
DocumentRoot /var/www/vhosts/domain.com/public
</VirtualHost>

次のコマンドを使用して、この仮想ホストを見つけます。

httpd -S | grep domain.com

出力には、仮想ホストの場所が表示されます。これは、次の出力のようになります。

/etc/httpd/vhost.d/domain.com.conf

特定の設定に応じて、前の出力は異なって見える場合があります。ただし、探している経路は domain.com.confと同様に終了する必要があります 。

仮想ホストの場所を取得したら、お気に入りのテキストエディターでvhost構成ファイルを開きます。 vimを使用した2つの例を次に示します。 およびnano

sudo vim /etc/httpd/vhost.d/domain.com.conf

または

sudo nano /etc/httpd/vhost.d/domain.com.conf

構成ファイルを編集し、vhostエントリの各行の前にポンド記号(#)を追加します。 vimを使用している場合 、挿入と入力します 最初にモード。これで、仮想ホストの構成は次のようになります。

#<VirtualHost *:80>
#   ServerName domain.com
#   ServerAlias www.domain.com
#   DocumentRoot /var/www/vhosts/domain.com/public
#</VirtualHost>

ファイルを保存して、テキストエディタを終了します。

次に、次のコマンドを使用してApache構文を確認する必要があります。

httpd -t

期待される応答:

Syntax OK

最後に、Apacheをリロードまたは再起動します。 CentOS 7以降を使用している場合は、 systemctlを使用できます。 このコマンドの場合。それ以外の場合は、 serviceを使用してください 。次の例は、両方のコマンドを示しています。

serviceの使用 :

sudo service httpd reload

または

sudo service httpd restart

systemctlを使用する :

sudo systemctl reload httpd

または

sudo systemctl restart httpd

systemctlの間 CentOS 7以降でのみ機能し、これらのバージョンは serviceもサポートします 、それが簡単な場合。システムはsystemctlにリンクしています 自動的に。

これと同じプロセスがSSL、ポート443、vhostsでも機能します。

以前と同様に、オプションがある場合は、 reloadを使用します restartではなく 。

CentOSとNginx

Nginxはvhostsをサーバーブロックと呼びます。 Apacheに使用したのと同じプロセスを使用してNginxinCentOSのサーバーブロックをコメントアウトします。

ただし、最初に、無効にするサーバーブロックを見つける必要があります。これを行うには、次のコマンドを使用します。

nginx -T | grep domain.com

繰り返しますが、 .confで終わる経路を探します あなたのドメインのために。次の例のようになります。

/etc/nginx/conf.d/domain.com.conf

次に、次のいずれかのコマンドを使用して、お気に入りのテキストエディタでそのファイルを開きます。

sudo vim /etc/nginx/conf.d/domain.com.conf

または

sudo nano /etc/nginx/conf.d/domain.com.conf

ファイルは次の例のようになります。

server {
listen 80;
server_name domain.com www.domain.com;
access_log /var/log/nginx/domain.com.access.log;
error_log /var/log/nginx/domain.com.error.log;
root /var/www/domain.com/httpdocs;
location / {
index index.html index.htm index.php;
try_files $uri =404;
}
location ~ \.php$ {
    include /etc/nginx/fastcgi_params;
    fastcgi_pass  127.0.0.1:9000; #this means php-fpm will run on a port
    # fastcgi_pass unix:/run/php-fpm/domain.com.sock; or you could have php-fpm running on a socket
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME /var/www/html/domain.com$fastcgi_script_name;
    }
}

このサーバーブロック全体をコメントアウトする必要があります。 vimを使用している場合 、挿入にいることを確認してください 最初にモード。サーバーブロックは次のようになります。

#server {
#   listen 80;
#   server_name domain.com www.domain.com;
#   access_log /var/log/nginx/domain.com.access.log;
#   error_log /var/log/nginx/domain.com.error.log;
#   root /var/www/domain.com/httpdocs;
#location / {
#   index index.html index.htm index.php;
#   try_files $uri =404;
#   }
#location ~ \.php$ {
#   include /etc/nginx/fastcgi_params;
#    fastcgi_pass  127.0.0.1:9000; #this means php-fpm will run on a port
#    # fastcgi_pass unix:/run/php-fpm/domain.com.sock; or you could have php-fpm running on a socket
#   fastcgi_index index.php;
#    fastcgi_param SCRIPT_FILENAME /var/www/html/domain.com$fastcgi_script_name;
#    }
#}

ファイルを保存して、テキストエディタを終了します。

次に、次のコマンドを使用してNginx構文を確認します。

nginx -t

期待される応答:

nginx: the configuration file <file-path> syntax is ok
nginx: configuration file <file-path> test is successful

ファイルパスウェイがプレースホルダーに表示されます。肯定応答を受け取ったら、次のいずれかのコマンドを使用してNginxをリロードまたは再起動する必要があります。

sudo service nginx reload

または

sudo service nginx restart

php-fpmを実行する場合 、次のコマンドを使用してそのサービスを再起動します:

sudo service php-fpm restart

systemctl を使用して、Nginxを再起動またはリロードすることもできます serviceの代わりに 、次の例に示すように:

sudo systemctl reload nginx

または

sudo systemctl restart nginx

php-fpmを再起動します systemctlを使用 :

sudo systemctl restart php-fpm

これで、CentOSとApacheおよびNginxのUbuntuオペレーティングシステムの両方でvhostまたはサーバーブロックを無効にする方法がわかりました。


Linux
  1. Nginxをインストールし、Ubuntu20.04で仮想ホストを構成します

  2. LinuxUbuntuオペレーティングシステムのSSHポートを変更します

  3. CentOSおよびUbuntuオペレーティングシステムでSSHリモートルートログインを有効にする

  1. UbuntuオペレーティングシステムにIMAPforPHP7.1をインストールします

  2. UbuntuオペレーティングシステムにMySQLサーバーをインストールします

  3. UbuntuオペレーティングシステムでApache仮想ホストを設定する

  1. UbuntuオペレーティングシステムでApacheを構成する

  2. ubuntuでApache仮想ホストを構成する方法

  3. Debian および Ubuntu に最新の nginx をインストールする方法