Configurando un proyecto Javascript con Angular en nginx

De MediaWiki
Ir a la navegación Ir a la búsqueda

Prerrequisitos

Unha instalación de Nginx como a feita nesta sección.

Instalación de Nodejs e Angular

apt install curl
curl -fsSL https://deb.nodesource.com/setup_current.x | sudo -E bash -

Podemos ver todas as versións de Node.js disponibles en Debian 11:

apt policy nodejs

E despois instalamos:

apt install -y nodejs

Comprbamos versión de node instalada:

node -v
v18.7.0

Comprobamos versión de npm instalada:

npm -v
8.15.0

Instalamos Angular:

npm install -g @angular/cli

Comprobamos versión de angular instalada:

ng version
14.1.1

Creando o proxecto

cd /var/www
mkdir angular
cd angular
ng help
ng new

No nome do proxecto inicia: aclasedopeque
Queremos usar angular routing? Yes (sistema que ten angular internamente para xestionar a memoria para a aplicación)
Qué formato de follas de estilo? Sass (linguaxe de programación para programar CSS)

O rematar pode dar un warning de que non hai instalado git. Pódese instalar:

apt install git

Accedemos a carpeta do proxecto e verificamos que a instalación foi correcta:

cd aclasedopeque
npm i

Compilamos o proxecto.

ng build

Se habrá llevado a cabo el setup inicial del proyecto.

Accedemos al mismo:

cd dist/aclasedopeque
ls

En src tendremos el código

cd ..
cd ..
cd src/app

Modificaremos un fichero fuente:

nano app.component.ts

Por ejemplo podemos editar el título.

IMPORTANTE. Se queremos que os cambios do código fonte tomen efecto teremos que facer de novo ng build.

Configuración de server block nginx

Nuestra aplicación es compilada, por eso no haremos un proxy como hicimos con spring boot.

cd /etc/nginx/sites-available/
server {
 listen 80;
 root /var/www/angular/aclasedopeque/dist/aclasedopeque;
 index index.html index.htm;
 server_name ng.aclasedopeque.com;

 access_log /var/log/nginx/angular_access.log;
 error_log /var/log/nginx/angular_error.log;

 location / {
  try_files $uri $uri/ /index.html?$args;
 }

}

Creamos o enlace simbólico:

ln -s /etc/nginx/sites-available/ng.aclasedopeque.com /etc/nginx/sites-enabled/ng.aclasedopeque.com

Reiniciamos o Nginx para que tomen efecto os cambios:

systemctl restart nginx

Correndo o proxecto

Accedemos a ng.aclasedopeque.com

Ng a clase do peque ok.PNG

Referencias