Configurar Nginx Server Blocks no Ubuntu Linux

Este tutorial mostrará todos os passos necessários para configurar os Nginx Server Blocks no Ubuntu Linux.

O Nginx Server Blocks é praticamente o mesmo que o recurso de host Apache Virtual.

Este tutorial foi testado no Ubuntu 18.04.

1. Instale o Nginx no Ubuntu Linux

Use o comando APT do Ubuntu para instalar o servidor Nginx.

# apt-get update
# apt-get install nginx

Reinicie o servidor da Web Nginx manualmente.

# service nginx restart
# service nginx status

Verifique o status do serviço Nginx.

● nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2018-12-29 04:29:22 UTC; 1h 17min ago
Docs: man:nginx(8)
Process: 2233 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status
Process: 2221 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exite
Main PID: 2238 (nginx)
Tasks: 2 (limit: 1152)
CGroup: /system.slice/nginx.service
├─2238 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
└─2239 nginx: worker process

Você terminou a instalação do servidor Web Nginx no Ubuntu Linux.

2. Adicione Suporte PHP ao Nginx

O Nginx precisa de um programa externo para adicionar suporte ao PHP.

Use o comando APT do Ubuntu para instalar os pacotes requeridos do PHP.

# apt-get update
# apt-get install php7.2-fpm

Opcional. Use o seguinte comando para instalar os módulos PHP mais usados.

# apt-get install php7.2-xml php7.2-curl php7.2-gd php7.2-mbstring php7.2-mysql
# apt-get install php7.2-bz2 php7.2-zip php7.2-json php7.2-readline

Encontre a localização do arquivo de configuração do PHP em seu sistema.

Edite o arquivo de configuração do php.ini.

# updatedb
# locate php.ini
# vi /etc/php/7.2/fpm/php.ini

Sua versão do PHP pode não ser a mesma que a nossa.

Seu local do arquivo de configuração do PHP pode não ser o mesmo que o nosso.

Aqui está o arquivo com nossa configuração.

file_uploads = On
max_execution_time = 300
memory_limit = 256M
post_max_size = 32M
max_input_time = 60
max_input_vars = 4440
upload_max_filesize = 32M

Edite o arquivo de configuração do site padrão do Nginx.

# vi /etc/nginx/sites-available/default

Aqui está o arquivo original, antes da nossa configuração.

server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
index index.html index.htm index.nginx-debian.html;
server_name _;
location / {
try_files $uri $uri/ =404;
}
}

Aqui está o novo arquivo com nossa configuração.

server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
index index.php index.html index.htm;
server_name _;
location / {
try_files $uri $uri/ =404;
}
location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
}
}

Verifique se o seu arquivo de configuração do Nginx não tem erro.

# nginx -t

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Reinicie o serviço PHP.
Reinicie o serviço Nginx.

# service php7.2-fpm restart
# service nginx restart

Você terminou a integração do Nginx com o PHP no Ubuntu Linux.

3. Configurar Nginx Server Blocks

Blocos de servidores é um recurso que permite que um servidor Nginx ofereça vários sites usando o mesmo endereço IP.

Vamos criar a infraestrutura necessária para usar o recurso de blocos do Servidor Nginx.

# mkdir /websites/mining-pool -p
# cd /websites/mining-pool
# mkdir www
# chown www-data.www-data /websites -R

Nosso site será chamado mining-pool.ninja.

Os arquivos do site mining-pool.ninja devem estar dentro do diretório / websites / mining-pool / www.

Alert!

Mining-pool.ninja was used as an example!

You need to change your configuration files to reflect your website name.

Crie um arquivo de configuração Niganx Virtualhost em seu site.

# vi /etc/nginx/sites-available/mining-pool.conf

Aqui está o arquivo com nossa configuração.

server {
listen 80;
listen [::]:80;
root /websites/mining-pool/www;
index index.php index.html index.htm;
server_name mining-pool.ninja;
location / {
try_files $uri $uri/ =404;
}
location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
}
}

Crie um link simbólico para ativar a configuração do host virtual Nginx.

Reinicie o serviço Nginx.

# ln -s /etc/nginx/sites-available/mining-pool.conf /etc/nginx/sites-enabled/
# service nginx restart

Você terminou a configuração do Nginx Server block.

4. Configurar o Domínio DNS

Acesse o GODADDY e comprar um domínio DNS.

Em nosso exemplo, compramos o domínio chamado MINING-POOL.NINJA.

Você pode usar qualquer site para comprar um domínio DNS, o GoDaddy é apenas minha escolha pessoal.

Crie uma entrada DNS apontando seu site para o computador que está executando o Nginx.

Em nosso exemplo, criamos uma entrada de DNS apontando o domínio MINING-POOL.NINJA para o endereço IP 35.163.100.49.

Godaddy Apache DNS Configuration

Use o comando NSLOOKUP para testar sua configuração de DNS

# apt-get update
# apt-get install dnsutils
# nslookup mining-pool.ninja

Non-authoritative answer:
Name: mining-pool.ninja
Address: 35.163.100.49

Você terminou a configuração do domínio DNS.

Para testar nossa configuração, vamos criar uma página básica de teste do PHP.

# vi /websites/mining-pool/www/index.php

Aqui está o conteúdo do arquivo index.php.

<?php phpinfo(); ?>

Abra seu navegador e tente acessar a versão HTTP do seu site.

Em nosso exemplo, o seguinte URL foi inserido no navegador:

• http://mining-pool.ninja

A página de informações do PHP deve ser apresentada.

PHPInfo Nginx