GNU/Linux >> Znalost Linux >  >> Cent OS

Jak nastavit bloky serveru Nginx na Ubuntu a CentOS

V tomto tutoriálu vám poskytneme pokyny krok za krokem, jak nastavit bloky serveru nginx na Ubuntu 16.04 a  CentOS 7. Bloky serveru Nginx se často používají ke spuštění více webových stránek na jedné IP adrese.

Všimněte si, že tento tutoriál je pouze pro Nginx. Pokud používáte Apache, budete muset nastavení virtuálních hostitelů

1. Nainstalujte Nginx na Ubuntu

Ujistěte se, že jsou balíčky operačního systému vašeho serveru plně aktuální:

apt-get update 
apt-get upgrade

Zastavte a odeberte Apache a poté nainstalujte nginx pomocí následujících příkazů:

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

Odeberte výchozí konfigurační soubor nginx:

rm /etc/nginx/sites-enabled/default

Povolte spuštění služby nginx při spouštění a spusťte ji:

systemctl enable nginx
systemctl start nginx.service

2. Nainstalujte Nginx na CentOS

Ujistěte se, že jsou všechny balíčky OS aktuální spuštěním následujících příkazů:

yum clean all
yum update

Zastavte a odeberte Apache, pokud je nainstalován a spuštěn na vašem virtuálním serveru:

systemctl stop httpd
systemctl disable httpd
yum remove httpd

Nainstalujte nginx:

yum install nginx

Možná budete chtít nainstalovat PHP a MariaDB, takže spusťte následující příkaz:

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

Upravte konfigurační soubor /etc/php-fpm.d/www.conf a změňte:

user = apache
group = apache

komu:

user = www-data
group = www-data

Spusťte následující příkaz:

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

Spusťte služby PHP-FPM, Nginx a MariaDB a povolte jejich spuštění při spouštění:

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

3. Nakonfigurujte nginx a nastavte bloky serveru nginx

Pojďme nakonfigurovat základní direktivy v hlavním konfiguračním souboru nginx s názvem ‚nginx.conf‘. Měl by být umístěn v adresáři /etc/nginx/ na vašem serveru.

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

uživatel – uživatel, který bude vlastnit a provozovat server nginx.

pracovní_procesy – obecně je nejlepší nastavit konfiguraci nginx worker_processes na počet CPU. Pokud například používáte náš plán SSD 4 VPS, nastavte worker_processes na 4.

Chcete-li zkontrolovat počet CPU na vašem serveru, můžete použít následující příkaz:

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

4

pid – umístění, kam nginx zapíše ID hlavního procesu neboli PID.

Pokud používáte CentOS, vytvořte pro svůj web nový konfigurační soubor Nginx:

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

Přidejte následující obsah:

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

}

Pokud potřebujete hostovat více než jednu webovou stránku na stejném serveru (pomocí stejné IP adresy), můžete vytvořit nový blok serveru. Nejlepší je vytvořit nový konfigurační soubor pro každý web.

Vytvořte například druhý konfigurační soubor nginx s názvem /etc/nginx/conf.d/domain2.com.conf a přidejte stejný obsah jako /etc/nginx/conf.d/domain1.com.conf , ale nezapomeňte jej nahradit domain1.com s druhým názvem domény včetně kořenového adresáře dokumentu vašeho webu, umístění souborů protokolu atd.:

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

}

Pokud používáte operační systém Ubuntu, vytvořte konfigurační soubor nginx ‚domain1.com.conf‘ do adresáře /etc/nginx/sites-available.

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

(přidejte stejný obsah jako obsah uvedený výše, tj. /etc/nginx/conf.d/domain1.com.conf na serveru CentOS).

Poté z tohoto souboru vytvořte symbolický odkaz na adresář s povolenými weby:

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

Opakujte stejný postup a vytvořte nové konfigurační soubory pro všechny ostatní webové stránky hostované na serveru.

4. Otestujte konfiguraci Nginx

nginx -t

Pokud je test úspěšný, restartujte službu Nginx:

systemctl restart nginx

Nahrajte soubory svých webových stránek do adresářů /var/www/html/domain1.com , /var/www/html/domain2.com /var/www/html/domainN.com.

Uživatel webového serveru (www-data) musí mít přístup k adresářům /var/www/html/domain1.com , /var/www/html/domain2.com , /var/www/html/domainN.com. To lze snadno provést provedením následujícího příkazu:

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

Samozřejmě nemusíte Jak nastavit Nginx Server Blocks na Ubuntu a CentOS,  pokud používáte jednu z našich hostingových služeb Nginx VPS, v takovém případě můžete jednoduše požádat naše zkušené administrátory Linuxu, aby nastavili server nginx bloky pro tebe. Jsou k dispozici 24×7 a okamžitě se postarají o váš požadavek.

PS. Pokud se vám líbil tento příspěvek o tom, jak nastavit Nginx Server Blocks na Ubuntu a CentOS, sdílejte jej se svými přáteli na sociálních sítích pomocí tlačítek vlevo nebo jednoduše zanechte odpověď níže. Děkuji.


Cent OS
  1. Jak nastavit Nginx jako reverzní proxy na Ubuntu 20.04

  2. Jak povolit HTTP/2 v Nginx na Ubuntu a CentOS

  3. Jak změnit název hostitele na CentOS a Ubuntu

  1. Jak nastavit virtuálního hostitele Nginx (bloky serveru) na CentOS 7

  2. Nastavení serveru DHCP na CentOS 8 – Jak na to?

  3. Jak nastavit server a klienta NFS na Ubuntu 20.04

  1. Jak nastavit bloky serveru Nginx na Ubuntu 18.04

  2. Jak nastavit bloky serveru Nginx na Ubuntu 20.04

  3. Jak nastavit bloky serveru Nginx na CentOS 7