Sådan opsættes Nginx Server Blocks på Ubuntu og CentOS

I denne vejledning skal vi give dig trinvise instruktioner om Sådan konfigureres nginx-serverblokke på en Ubuntu 16.04 VPS og på en CentOS 7 VPS. Nginx-serverblokke bruges ofte til at køre flere websteder på en enkelt IP-adresse.

Bemærk at denne vejledning er for Nginx kun. Hvis du bruger Apache, skal du oprette virtuelle værter

Installer Nginx på Ubuntu

Sørg for, at dine server-OS-pakker er helt up-to-date:

apt-get opdatering apt-get opgradering

Stop og fjern Apache, og installer derefter nginx ved hjælp af følgende kommandoer:

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

Fjern standard nginx-konfigurationsfilen:

rm / etc / nginx / sites-enabled / default

Aktivér nginx-tjenesten til at starte ved opstart og start den:

systemtabling nginx systemctl start nginx.service

Installer Nginx på CentOS

Sørg for, at alle OS-pakker er opdaterede ved at køre følgende kommandoer:

yum rense alle yum opdatering

Stop og fjern Apache, hvis det er installeret og kører på din virtuelle server:

systemt stop httpd systemctl deaktiver httpd yum fjern httpd

Installer nginx:

Du installerer nginx

Du kan også installere PHP og MariaDB, så kør følgende kommando:

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

Rediger konfigurationsfilen /etc/php-fpm.d/www.conf og ændr:

bruger = apache gruppe = apache

til:

user = www-data group = www-data

Kør følgende kommando:

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

Start PHP-FPM, Nginx og MariaDB-tjenesterne og aktiver dem til at starte ved opstart:

system start php-fpm system start start nginx systemctl start mariadb
systemctl aktiver php-fpm systemctl aktivere nginx systemctl enable mariadb

Konfigurer nginx og konfigurer nginx-serverblokke

Lad os konfigurere kernedirektiverne i den vigtigste nginx-konfigurationsfil med navnet 'nginx.conf'. Den skal være placeret i / etc / nginx / mappen på din server.

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

bruger - En bruger, som vil eje og køre nginx-serveren.

worker_processes - Generelt er det bedst at indstille nginx worker_processes config til antallet af CPU'er. Hvis du for eksempel bruger vores SSD 4 VPS planlægge, sæt worker_processes til 4.

For at kontrollere antallet af CPU'er på din server, kan du bruge følgende kommando:

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

pid - hvor nginx vil skrive sit masterproces ID eller PID

Hvis du bruger CentOS, skal du oprette en ny Nginx-konfigurationsfil til din hjemmeside:

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

Tilføj følgende indhold:

server {server_name www.domain1.com domain1.com; lyt 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; indeks index.php; placering / {try_files $ uri $ uri / /index.php?$args; } placering ~ *. (jpg | jpeg | gif | css | png | js | ico | html) $ {access_log off; udløber maks. } placering ~ .php $ {try_files $ uri = 404; fastcgi_split_path_info ^ (. +. php) (/.+) $; fastcgi_pass 127.0.0.1: 9000; fastcgi_index index.php; inkludere / etc / nginx / fastcgi_params; fastcgi_param SCRIPT_FILENAME $ document_root $ fastcgi_script_name; } placering ~ /.ht {benægter alt; }}

Hvis du skal være vært for mere end et websted på samme server (ved hjælp af samme IP-adresse), kan du oprette en ny serverblok. Det er bedst at oprette en ny konfigurationsfil for hver hjemmeside.

For eksempel opretter du en anden nginx-konfigurationsfil med navnet /etc/nginx/conf.d/domain2.com.conf og tilføjer det samme indhold som /etc/nginx/conf.d/domain1.com.conf, men sørg for at udskifte domain1.com med det andet domænenavn, herunder dokumentets rod på dit websted, placering af logfiler osv .:

server {server_name www.domain2.com domain2.com; lyt 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; indeks index.php; placering / {try_files $ uri $ uri / /index.php?$args; } placering ~ *. (jpg | jpeg | gif | css | png | js | ico | html) $ {access_log off; udløber maks. } placering ~ .php $ {try_files $ uri = 404; fastcgi_split_path_info ^ (. +. php) (/.+) $; fastcgi_pass 127.0.0.1: 9000; fastcgi_index index.php; inkludere / etc / nginx / fastcgi_params; fastcgi_param SCRIPT_FILENAME $ document_root $ fastcgi_script_name; } placering ~ /.ht {benægter alt; }}

Hvis du bruger Ubuntu OS, skal du oprette 'domain1.com.conf' nginx konfigurationsfilen til mappen / etc / nginx / sites-tilgængelig.

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

(Tilføj det samme indhold som ovenstående indhold, dvs. /etc/nginx/conf.d/domain1.com.conf på en CentOS-server).

Derefter opretter du et symbolsk link fra denne fil til den webstederaktiverede mappe:

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

Gentag den samme procedure og opret nye konfigurationsfiler for alle andre websteder, der er hostet på serveren.

Test Nginx-konfigurationen

nginx -t

Testen er vellykket, genstart Nginx-tjenesten:

systemctl genstart nginx

Upload dine website filer til /var/www/html/domain1.com, /var/www/html/domain2.com /var/www/html/domainN.com mapper.

Webserver-brugeren (www-data) skal have adgang til /var/www/html/domain1.com, /var/www/html/domain2.com, /var/www/html/domainN.com-mapper. Det kan nemt udføres ved at udføre følgende kommando:

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

Kilde

Giv en kommentar

Dette websted bruger Akismet til at reducere spam. Lær, hvordan dine kommentardata behandles.