GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come configurare i blocchi server Nginx su Ubuntu e CentOS

In questo tutorial, ti forniremo istruzioni dettagliate su come configurare i blocchi del server nginx su Ubuntu 16.04 e  CentOS 7. I blocchi del server Nginx vengono spesso utilizzati per eseguire più siti Web su un unico indirizzo IP.

Nota che questo tutorial è solo per Nginx. Se usi Apache, dovrai configura host virtuali

1. Installa Nginx su Ubuntu

Assicurati che i pacchetti del sistema operativo del tuo server siano completamente aggiornati:

apt-get update 
apt-get upgrade

Arresta e rimuovi Apache, quindi installa nginx utilizzando i seguenti comandi:

service apache2 stop
apt-get remove apache2
apt-get autoremove
apt-get install nginx

Rimuovere il file di configurazione nginx predefinito:

rm /etc/nginx/sites-enabled/default

Abilita il servizio nginx per l'avvio all'avvio e avvialo:

systemctl enable nginx
systemctl start nginx.service

2. Installa Nginx su CentOS

Assicurati che tutti i pacchetti del sistema operativo siano aggiornati eseguendo i seguenti comandi:

yum clean all
yum update

Arresta e rimuovi Apache se è installato e in esecuzione sul tuo server virtuale:

systemctl stop httpd
systemctl disable httpd
yum remove httpd

Installa nginx:

yum install nginx

Inoltre, potresti voler installare PHP e MariaDB, quindi esegui il seguente comando:

yum install nginx mariadb mariadb-server php php-fpm php-cli php-curl php-gd php-mbstring php-mysql php-xml

Modifica il file di configurazione /etc/php-fpm.d/www.conf e cambia:

user = apache
group = apache

a:

user = www-data
group = www-data

Esegui il seguente comando:

chown www-data: -R /var/lib/php/session

Avvia i servizi PHP-FPM, Nginx e MariaDB e abilita l'avvio all'avvio:

systemctl start php-fpm
systemctl start nginx
systemctl start mariadb
systemctl enable php-fpm
systemctl enable nginx
systemctl enable mariadb

3. Configura nginx e imposta i blocchi del server nginx

Configuriamo le direttive principali nel file di configurazione principale di nginx chiamato 'nginx.conf'. Dovrebbe trovarsi nella directory /etc/nginx/ sul tuo server.

vi /etc/nginx/nginx.conf
user www-data;
worker_processes 4;
pid /var/run/nginx.pid;

utente – un utente che possiederà ed eseguirà il server nginx.

processi_lavoratori – in generale, è meglio impostare nginx worker_processes config sul numero di CPU. Se ad esempio stai utilizzando il nostro piano VPS SSD 4, imposta worker_processes su 4.

Per controllare il numero di CPU sul tuo server, puoi usare il seguente comando:

#cat /proc/cpuinfo | grep processor | wc -l

4

pid – la posizione in cui nginx scriverà il suo ID di processo principale, o PID.

Se usi CentOS, crea un nuovo file di configurazione Nginx per il tuo sito web:

vi /etc/nginx/conf.d/domain1.com.conf

Aggiungi il seguente contenuto:

server {
    server_name www.domain1.com domain1.com;
    listen 80;
    root /var/www/html/domain1.com;
    access_log /var/log/nginx/domain1.com-access.log;
    error_log /var/log/nginx/domain1.com-error.log;
    index index.php;
 
    location / {
        try_files  $uri $uri/ /index.php?$args;
    }

    location ~* \.(jpg|jpeg|gif|css|png|js|ico|html)$ {
        access_log off;
        expires max;
    }

    location ~ \.php$ {
        try_files $uri = 404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        include /etc/nginx/fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }

    location ~ /\.ht {
        deny all;
    }

}

Se devi ospitare più di un sito Web sullo stesso server (utilizzando lo stesso indirizzo IP), puoi creare un nuovo blocco server. È meglio creare un nuovo file di configurazione per ogni sito web.

Ad esempio, crea un secondo file di configurazione di nginx denominato /etc/nginx/conf.d/domain2.com.conf e aggiungi lo stesso contenuto di /etc/nginx/conf.d/domain1.com.conf , ma assicurati di sostituirlo domain1.com con il secondo nome di dominio che include la radice del documento del tuo sito Web, la posizione dei file di registro ecc.:

server {
    server_name www.domain2.com domain2.com;
    listen 80;
    root /var/www/html/domain2.com;
    access_log /var/log/nginx/domain2.com-access.log;
    error_log /var/log/nginx/domain2.com-error.log;
    index index.php;
 
    location / {
        try_files  $uri $uri/ /index.php?$args;
    }

    location ~* \.(jpg|jpeg|gif|css|png|js|ico|html)$ {
        access_log off;
        expires max;
    }

    location ~ \.php$ {
        try_files $uri = 404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        include /etc/nginx/fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }

    location ~ /\.ht {
        deny all;
    }

}

Se utilizzi il sistema operativo Ubuntu, crea il file di configurazione nginx "domain1.com.conf" nella directory /etc/nginx/sites-available.

vi /etc/nginx/sites-enabled/domain1.com.conf

(aggiungi lo stesso contenuto del contenuto sopra elencato, ad esempio /etc/nginx/conf.d/domain1.com.conf su un server CentOS).

Quindi, crea un collegamento simbolico da questo file alla directory abilitati per i siti:

ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/

Ripetere la stessa procedura e creare nuovi file di configurazione per tutti gli altri siti Web ospitati sul server.

4. Testa la configurazione di Nginx

nginx -t

Se il test ha esito positivo, riavvia il servizio Nginx:

systemctl restart nginx

Carica i file del tuo sito web nelle directory /var/www/html/domain1.com , /var/www/html/domain2.com /var/www/html/domainN.com.

L'utente del server web (www-data) deve avere accesso alle directory /var/www/html/domain1.com , /var/www/html/domain2.com , /var/www/html/domainN.com. Può essere facilmente eseguito eseguendo il seguente comando:

chown -R www-data:www-data /var/www/html/

Ovviamente non è necessario Come configurare i blocchi server Nginx su Ubuntu e CentOS, se utilizzi uno dei nostri servizi di hosting VPS Nginx, nel qual caso puoi semplicemente chiedere ai nostri esperti amministratori Linux di configurare il server nginx blocchi per te. Sono disponibili 24 ore su 24, 7 giorni su 7 e si prenderanno immediatamente cura della tua richiesta.

PS. Se ti è piaciuto questo post, su come configurare Nginx Server Blocks su Ubuntu e CentOS, condividilo con i tuoi amici sui social network usando i pulsanti a sinistra o lascia semplicemente una risposta qui sotto. Grazie.


Cent OS
  1. Come configurare Nginx come proxy inverso su Ubuntu 20.04

  2. Configura il server DHCP su CentOS 8 - Come farlo?

  3. Come configurare server e client NFS su Ubuntu 20.04

  4. Come abilitare HTTP/2 in Nginx su Ubuntu e CentOS

  5. Come cambiare il nome host su CentOS e Ubuntu

Come installare Nginx su CentOS

Come configurare e configurare un server OpenVPN su Ubuntu 22.04

Come installare e configurare Gitlab CE Server su Centos 8

Come installare Nginx su CentOS 6

Come configurare il server DHCP su CentOS 8

Come configurare server e client NFS su CentOS 8