Fonte: https://docs.microsoft.com/pt-br/aspnet/core/host-and-deploy/linux-apache?view=aspnetcore-6.0
Apesar do link acima dar todas as diretrizes, tivemos que fazer algumas adaptações por conta do CentOS 7
Segue um resumo:
1) Instalar o Asp.net Core
1 2 |
sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm yum install dotnet-sdk-5.0 |
2) Agora é necessário criar um proxy reverso no apache. Crie mais um site em /etc/httpd/conf.d com o conteúdo abaixo.
1 2 3 4 5 6 7 8 |
<VirtualHost *> ProxyPreserveHost On ProxyPass / http://127.0.0.1:5000/ ProxyPassReverse / http://127.0.0.1:5000/ ServerName seusite.com.br ErrorLog /var/log/httpd/seusite.com.br-error.log CustomLog /var/log/httpd/seusite.com.br-access.log common </VirtualHost> |
3) Reinicie o apache.
4) Agora é necessário deixar o dotnet rodando direto.
1 2 |
cd /etc/systemd/system/ vim kestrel-seuapp.service |
5) Coloque o conteúdo abaixo
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
[Unit] Description=Example .NET Web API App running on CentOS 7 [Service] WorkingDirectory=/var/www/helloapp ExecStart=/usr/local/bin/dotnet /var/www/helloapp/helloapp.dll Restart=always # Restart service after 10 seconds if the dotnet service crashes: RestartSec=10 KillSignal=SIGINT SyslogIdentifier=dotnet-example User=apache Environment=ASPNETCORE_ENVIRONMENT=Production [Install] WantedBy=multi-user.target |
6) Agora habilite o serviço e inicie ele.
1 2 |
systemctl enable kestrel-seuapp.service systemctl start kestrel-seuapp.service |
Depois veja o status ..
1 |
systemctl status kestrel-seuapp.service |
Pronto. 🙂