Eu instalei o nginx via yum no Centos 7.4. Eu adicionei alguns sites a /etc/nginx/conf.d
que escutam na porta 80. Aqui está um exemplo:
server {
listen 80;
root /var/www/vhosts/somesite;
index index.php index.html index.htm;
server_name api.somesite.info;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/impro.somesite.sock;
fastcgi_index index.php;
include fastcgi_params;
}
}
nginx -t retorna:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
O serviço é iniciado da seguinte forma:
systemctl start nginx
Isso não retorna erros. E não há firewall instalado no momento.
O problema é que, mesmo se eu apontar /etc/hosts
em api.somesite.info, estou recebendo uma conexão recusada.
Para ver as portas limitadas, eu corri netstat -ltnep
, dando:
Proto Recv-Q Send-Q Local Address Foreign Address State
User Inode PID/Program name
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 0 14585 1/systemd
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 0 18224 1105/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 0 16689 979/master
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 0 68092 4930/php-fpm: maste
tcp6 0 0 :::3306 :::* LISTEN 27 51441 26589/mysqld
tcp6 0 0 :::111 :::* LISTEN 0 14584 1/systemd
tcp6 0 0 :::22 :::* LISTEN 0 18226 1105/sshd
tcp6 0 0 ::1:25 :::* LISTEN 0 16690 979/master
Então, enquanto o php-fpm está ligado a uma porta (na verdade, estou usando principalmente soquetes, mas isso não é relevante aqui, não acho), o nginx não. Note que não há nada escutando a porta 80 - o apache não é instalado por padrão nesta versão do centos.
Eu posso ver que o nginx está sendo executado executando systemctl status nginx
:
nginx.service - The nginx HTTP and reverse proxy server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled)
Active: active (running) since Wed 2018-04-04 15:24:04 BST; 4min 8s ago
Process: 6091 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)
Process: 6088 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
Process: 6086 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)
Main PID: 6094 (nginx)
CGroup: /system.slice/nginx.service
├─6094 nginx: master process /usr/sbin/nginx
└─6095 nginx: worker process
Apr 04 15:24:04 smaractus systemd[1]: Starting The nginx HTTP and reverse proxy server...
Apr 04 15:24:04 smaractus nginx[6088]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
Apr 04 15:24:04 smaractus nginx[6088]: nginx: configuration file /etc/nginx/nginx.conf test is successful
Apr 04 15:24:04 smaractus systemd[1]: Failed to read PID from file /run/nginx.pid: Invalid argument
Apr 04 15:24:04 smaractus systemd[1]: Started The nginx HTTP and reverse proxy server.
Eu posso ver um aviso aqui onde ele não consegue encontrar o arquivo pid, mas pelo que eu entendi isso não é um show stopper? Fora de ideias sobre onde procurar agora. Por que o nginx não está vinculando a porta 80?