GNU/Linux >> Linux Esercitazione >  >> Linux

Disabilita un host virtuale nel sistema operativo Ubuntu e CentOS per Apache e Nginx

Cosa succede se devi disabilitare un sito Web, ma non sei sicuro di come? È più facile di quanto potresti pensare. Prima di iniziare, tieni presente quanto segue durante la lettura di questo articolo:

  • Il blocco del server dell'host virtuale (vhost) potrebbe avere un titolo diverso da domain.com.conf . Ad esempio, potresti utilizzare httpd.conf o ssl.conf . In tal caso, sostituisci domain.com.conf con il nome del file di configurazione.

  • In questo articolo vengono utilizzati vhost o blocchi server in alcuni esempi che utilizzano la porta 80 e non sono SSL (Secure Sockets Layer). Tieni presente che questi passaggi non differiscono se il tuo vhost o blocco server è un vhost abilitato SSL o un blocco server che utilizza la porta 443. I passaggi sono gli stessi.

Sistema operativo Ubuntu e Apache

Cominciamo con il più semplice. Ubuntu® viene fornito con due comandi specifici per la gestione di vhost in Apache®. Per abilitare un vhost, utilizzare il comando seguente:

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

Quando capisci cosa significano quella raccolta di lettere e un numero in a2ensite , quindi è più facile ricordare come abilitare o disabilitare un vhost Apache in Ubuntu.

Ecco la ripartizione del comando:

  • a2 :apache2 (quello che Ubuntu chiama Apache)
  • it :abilita
  • sito :host virtuale del sito web

Per disabilitare il tuo sito web, usa a2dissite comando, come mostrato nell'esempio seguente:

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

Questo comando ha i seguenti componenti:

  • a2 :apache2 (quello che Ubuntu chiama Apache)
  • dis :disabilita
  • sito :host virtuale del sito web

Inoltre, prendi nota della differenza nei percorsi delle directory tra a2ensite e a2dissite . Quando vuoi abilitare un host virtuale per Apache in Ubuntu, puoi farlo dai siti-disponibili directory. Quando vuoi disabilitare un host virtuale in Ubuntu, puoi farlo da siti abilitati directory.

Dopo aver disabilitato l'host virtuale, utilizzare il comando seguente per verificare la sintassi della configurazione di Apache:

apache2ctl -t

Risposta prevista:

Syntax OK

Per riavviare o ricaricare Apache, esegui uno dei seguenti comandi:

service apache2 restart

o

service apache2 reload

restart abbatte completamente Apache e reload avvia senza problemi un nuovo servizio Apache prima di interrompere il servizio originale. In genere, si desidera ricaricare anziché riavviare quando si ha l'opzione.

Sistema operativo Ubuntu e Nginx

Disabilitare un blocco server Nginx® (ciò che Nginx chiama vhosts) è leggermente diverso. Nginx utilizza i collegamenti simbolici per abilitare o disabilitare i blocchi del server. Anche i vhost Apache possono usare collegamenti simbolici, ma a2ensite e a2dissite non funziona per Nginx.

Per disabilitare un blocco server in Nginx in Ubuntu, devi rimuovere il collegamento simbolico tra siti abilitati e siti disponibili , come mostrato nell'esempio seguente:

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

Il comando rimuove il collegamento simbolico per il tuo sito web, domain.com . Utilizzare il comando seguente per verificare la sintassi di Nginx:

nginx -t

Risposta prevista:

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

Il percorso del file viene visualizzato nel segnaposto . Dopo aver ricevuto una risposta positiva, è necessario ricaricare o riavviare Nginx bu utilizzando uno dei seguenti comandi:

service nginx reload

o

service nginx restart

Come prima, ogni volta che hai la possibilità di farlo, usa reload anziché restart in modo da non interrompere nessun altro sito web che hai.

Nota :Se esegui php-fpm , è necessario riavviare anche quel servizio, utilizzando il comando seguente:

service php-fpm restart

CentOS e Apache

Disabilitare un host virtuale in Apache in CentOS® è più complicato perché CentOS non ha un comando facile da usare. In CentOS, devi commentare manualmente il vhost che desideri disabilitare.

Ecco un esempio di dominio.com vhost per Apache in CentOS:

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

Trova questo host virtuale usando il seguente comando:

httpd -S | grep domain.com

L'output mostra la posizione dell'host virtuale, che è simile al seguente output:

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

A seconda della configurazione particolare, l'output precedente potrebbe avere un aspetto diverso. Tuttavia, il percorso che stai cercando dovrebbe terminare in modo simile a domain.com.conf .

Dopo aver individuato la posizione dell'host virtuale, apri il file di configurazione di vhost con il tuo editor di testo preferito. Ecco due esempi che usano vim e nano :

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

o

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

Modifica il file di configurazione e aggiungi un cancelletto (#) davanti a ciascuna riga per la voce vhost. Se stai usando vim , inserisci Inserisci prima la modalità. La tua configurazione vhost dovrebbe ora assomigliare a questa:

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

Salva il file ed esci dall'editor di testo.

Ora, devi controllare la sintassi di Apache con il seguente comando:

httpd -t

Risposta prevista:

Syntax OK

Infine, ricarica o riavvia Apache. Se utilizzi CentOS 7 o versioni successive, puoi utilizzare systemctl per questo comando. Altrimenti, usa il service . Gli esempi seguenti mostrano entrambi i comandi:

Utilizzando service :

sudo service httpd reload

o

sudo service httpd restart

Usando systemctl :

sudo systemctl reload httpd

o

sudo systemctl restart httpd

Nota :Mentre systemctl funziona solo in CentOS 7 o versioni successive, queste versioni supportano anche il service , se è più facile. Il sistema si collega a systemctl automaticamente.

Questo stesso processo funziona anche per SSL, porta 443, vhost.

Come prima, se hai l'opzione, usa reload anziché restart .

CentOS e Nginx

Nginx si riferisce a vhost come blocchi di server. Usa lo stesso processo per commentare i blocchi del server per Nginxin CentOS che hai usato per Apache.

Prima, però, dobbiamo trovare il blocco del server che vogliamo disabilitare. Puoi farlo con il seguente comando:

nginx -T | grep domain.com

Di nuovo, cerca un percorso che termini con .conf per il tuo dominio. È simile al seguente esempio:

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

Ora apri quel file con il tuo editor di testo preferito usando uno dei seguenti comandi:

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

o

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

Il file è simile al seguente esempio:

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;
    }
}

Dovresti commentare l'intero blocco di server. Se stai usando vim , assicurati di essere in Inserisci prima la modalità. Il tuo blocco server dovrebbe assomigliare a questo:

#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;
#    }
#}

Salva il file ed esci dall'editor di testo.

Ora, controlla la sintassi di Nginx con il seguente comando:

nginx -t

Risposta prevista:

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

Il percorso del file viene visualizzato nel segnaposto . Dopo aver ricevuto una risposta positiva, è necessario ricaricare o riavviare Nginx utilizzando uno dei seguenti comandi:

sudo service nginx reload

o

sudo service nginx restart

Se esegui php-fpm , riavvia il servizio utilizzando il comando seguente:

sudo service php-fpm restart

Puoi anche riavviare o ricaricare Nginx usando systemctl invece di service , come mostrato nei seguenti esempi:

sudo systemctl reload nginx

o

sudo systemctl restart nginx

Riavvia php-fpm con systemctl :

sudo systemctl restart php-fpm

Ora sai come disabilitare vhost o blocchi server sia in CentOS che nel sistema operativo Ubuntu per Apache e Nginx.


Linux
  1. Installa Nginx e configura l'host virtuale in Ubuntu 20.04

  2. Cambia la porta SSH nel sistema operativo Linux Ubuntu

  3. Configura Apache sul sistema operativo Ubuntu

  4. Configura il server MySQL sul sistema operativo Ubuntu

  5. Concedi l'accesso a sudo in Debian e nel sistema operativo Ubuntu

Come configurare Nginx come server Web e proxy inverso per Apache su CentOS 8

Installa Varnish Cache 6 per Apache/Nginx su CentOS 8

Come configurare l'host virtuale Apache su CentOS 8

Come configurare gli host virtuali Apache su Ubuntu 20.04

Come configurare Nginx come proxy inverso per Apache su Ubuntu 18.04 VPS

Come installare NGINX come proxy inverso per Apache su Ubuntu 18.04