Wie man Angular unter Ubuntu 22.04 installiert

Angular.js ist ein kostenloses und quelloffenes JavaScript-Framework, mit dem du dynamische Anwendungen erstellen kannst. Es ermöglicht dir, HTML als Vorlagensprache zu verwenden und die Syntax von HTML zu erweitern, um die Komponenten deiner Anwendung klar und prägnant auszudrücken. Es bietet eine Reihe von Tools zum Entwickeln, Aktualisieren und Testen von Code. Es hat viele Funktionen, wie z. B. Formularmanagement, Routing usw.

Diese Anleitung zeigt dir, wie du Angular.js mit Nginx als Reverse Proxy auf Ubuntu 22.04 installierst.

Voraussetzungen

  • Ein Server, auf dem Ubuntu 22.04 läuft.
  • Ein Root-Passwort ist auf dem Server eingerichtet.

Erste Schritte

Bevor du anfängst, solltest du alle Systempakete auf die neueste Version aktualisieren und aufrüsten. Du kannst alle Pakete aktualisieren, indem du den folgenden Befehl ausführst:

apt update -y
apt upgrade -y

Sobald alle Pakete aktualisiert sind, kannst du mit folgendem Befehl weitere erforderliche Abhängigkeiten installieren:

apt install curl gnupg2 gnupg git wget -y

Wenn du damit fertig bist, kannst du mit dem nächsten Schritt fortfahren.

Node.js installieren

Du musst auch die neueste stabile Version von Node.js auf deinem Server installieren. Füge zunächst das Node.js-Repository mit folgendem Befehl hinzu:

curl -fsSL https://deb.nodesource.com/setup_lts.x | bash -

Du solltest die folgende Ausgabe erhalten:

## Run `sudo apt-get install -y nodejs` to install Node.js 16.x and npm
## You may also need development tools to build native addons:
     sudo apt-get install gcc g++ make
## To install the Yarn package manager, run:
     curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | gpg --dearmor | sudo tee /usr/share/keyrings/yarnkey.gpg >/dev/null
     echo "deb [signed-by=/usr/share/keyrings/yarnkey.gpg] https://dl.yarnpkg.com/debian stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
     sudo apt-get update && sudo apt-get install yarn

Als Nächstes installierst du das Node.js-Paket mit dem folgenden Befehl:

apt install nodejs

Sobald Node.js installiert ist, kannst du die Node-Version mit dem folgenden Befehl überprüfen:

node --version

Du erhältst die folgende Ausgabe:

v16.17.0

Angular CLI installieren

Als Nächstes musst du das Angular CLI auf deinem Server installieren. Angular CLI ist ein Kommandozeilentool, mit dem du eine Angular-App über eine Kommandozeilenschnittstelle erstellen und verwalten kannst.

Aktualisiere zunächst das NPM-Paket mit dem folgenden Befehl auf die neueste Version:

npm install npm@latest -g

Als Nächstes installierst du das Angular CLI mit dem folgenden Befehl:

npm install -g @angular/cli

Sobald die Angular CLI installiert ist, kannst du die Angular-Version mit dem folgenden Befehl überprüfen:

ng version

Du solltest die folgende Ausgabe erhalten:

Global setting: enabled
Local setting: No local workspace configuration file.
Effective status: enabled

     _                      _                 ____ _     ___
    / \   _ __   __ _ _   _| | __ _ _ __     / ___| |   |_ _|
   / ? \ | '_ \ / _` | | | | |/ _` | '__|   | |   | |    | |
  / ___ \| | | | (_| | |_| | | (_| | |      | |___| |___ | |
 /_/   \_\_| |_|\__, |\__,_|_|\__,_|_|       \____|_____|___|
                |___/
    

Angular CLI: 14.2.3
Node: 16.17.0
Package Manager: npm 8.19.2 
OS: linux x64

Angular: 
... 

Package                      Version
------------------------------------------------------
@angular-devkit/architect    0.1402.3 (cli-only)
@angular-devkit/core         14.2.3 (cli-only)
@angular-devkit/schematics   14.2.3 (cli-only)
@schematics/angular          14.2.3 (cli-only)

Eine Angular-Beispielanwendung erstellen

In diesem Abschnitt werden wir eine Angular-Beispielanwendung erstellen.

Führe den folgenden Befehl aus, um eine neue Anwendung namens myapp zu erstellen:

ng new myapp

Du erhältst die folgende Ausgabe:

? Would you like to add Angular routing? Yes
? Which stylesheet format would you like to use? CSS
CREATE myapp/src/styles.css (80 bytes)
CREATE myapp/src/test.ts (749 bytes)
CREATE myapp/src/assets/.gitkeep (0 bytes)
CREATE myapp/src/environments/environment.prod.ts (51 bytes)
CREATE myapp/src/environments/environment.ts (658 bytes)
CREATE myapp/src/app/app-routing.module.ts (245 bytes)
CREATE myapp/src/app/app.module.ts (393 bytes)
CREATE myapp/src/app/app.component.css (0 bytes)
CREATE myapp/src/app/app.component.html (23115 bytes)
CREATE myapp/src/app/app.component.spec.ts (1070 bytes)
CREATE myapp/src/app/app.component.ts (209 bytes)
? Packages installed successfully.

Wechsle als Nächstes in das myapp-Verzeichnis und führe die Anwendung mit folgendem Befehl aus:

cd myapp
ng serve --host 0.0.0.0 --port 8000

Wenn alles in Ordnung ist, erhältst du die folgende Ausgabe:

? Would you like to share pseudonymous usage data about this project with the Angular Team
at Google under Google's Privacy Policy at https://policies.google.com/privacy. For more
details and how to change this setting, see https://angular.io/analytics. Yes

? Browser application bundle generation complete.

Initial Chunk Files   | Names         |  Raw Size
vendor.js             | vendor        |   2.10 MB | 
polyfills.js          | polyfills     | 318.00 kB | 
styles.css, styles.js | styles        | 210.08 kB | 
main.js               | main          |  49.83 kB | 
runtime.js            | runtime       |   6.51 kB | 

                      | Initial Total |   2.67 MB

Build at: 2022-09-18T07:17:07.899Z - Hash: d94baf4d66e9fad0 - Time: 26751ms

** Angular Live Development Server is listening on 0.0.0.0:8000, open your browser on http://localhost:8000/ **


? Compiled successfully.

Drücke die Tastenkombination STRG + C, um die Anwendung zu beenden. Wir werden eine Systemd-Dienstdatei für die Angular-Anwendung erstellen.

Eine Systemd-Dienstdatei für Angular erstellen

Du kannst eine systemd-Dienstdatei erstellen, um die Angular-Anwendung zu verwalten.

nano /lib/systemd/system/myapp.service

Füge die folgenden Zeilen hinzu:

[Unit]
Description=MyWeb Application
After=network-online.target

[Service]
Restart=on-failure
WorkingDirectory=/root/myapp
ExecStart=/usr/bin/ng serve --port 8000
CPUAccounting=true
CPUQuota=50%
MemoryAccounting=true
MemoryLimit=1024M

[Install]
WantedBy=multi-user.target

Speichere und schließe die Datei und lade den systemd-Daemon neu, um die Änderungen zu übernehmen:

systemctl daemon-reload

Starte und aktiviere den Angular-Dienst mit dem folgenden Befehl:

systemctl start myapp
systemctl enable myapp

Jetzt kannst du den Status des Angular-Dienstes mit dem folgenden Befehl überprüfen:

systemctl status myapp

Du erhältst die folgende Ausgabe:

? myapp.service - MyWeb Application
     Loaded: loaded (/lib/systemd/system/myapp.service; disabled; vendor preset: enabled)
     Active: active (running) since Sun 2022-09-18 07:28:42 UTC; 28s ago
   Main PID: 56301 (ng serve --port)
      Tasks: 11 (limit: 4579)
     Memory: 380.1M (limit: 1.0G)
        CPU: 14.152s
     CGroup: /system.slice/myapp.service
             ??56301 "ng serve --port 8000" "" "" "" "" "" "" "" "" "" "" "" "" "" ""

Sep 18 07:28:42 ubuntu2204 systemd[1]: Started MyWeb Application.
Sep 18 07:28:49 ubuntu2204 ng[56301]: - Generating browser application bundles (phase: setup)...

Du kannst deine Angular-Anwendung jetzt ganz einfach über systemd verwalten. Wenn du fertig bist, kannst du mit dem nächsten Schritt fortfahren.

Nginx als Reverse Proxy für Angular konfigurieren

Zu diesem Zeitpunkt ist die Angular-Anwendung gestartet und lauscht auf Port 8000. Es ist jedoch ratsam, Nginx als Reverse Proxy zu konfigurieren, damit du über Port 80 auf die Angular-Anwendung zugreifen kannst.

Installiere zunächst das Nginx-Webserverpaket mit dem folgenden Befehl:

apt install nginx -y

Sobald Nginx installiert ist, erstellst du eine Nginx-Konfigurationsdatei:

nano /etc/nginx/conf.d/app.conf

Füge die folgenden Zeilen ein:

server {  
       listen 80;
       server_name app.example.com;
       location / {  
                  proxy_pass http://localhost:8000;  
                  proxy_http_version 1.1;  
                  proxy_set_header Upgrade $http_upgrade;  
                  proxy_set_header Connection 'upgrade';  
                  proxy_set_header Host $host;  
                  proxy_cache_bypass $http_upgrade;  
               }  
}

Speichere und schließe die Datei, wenn du fertig bist. Überprüfe dann Nginx mit dem folgenden Befehl auf Syntaxfehler:

nginx -t

Du erhältst die folgende Ausgabe:

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

Starte anschließend den Nginx-Dienst neu, um die Änderungen zu übernehmen:

restart nginx

Du kannst den Status von Nginx auch mit dem folgenden Befehl überprüfen:

systemctl status nginx

Du solltest die folgende Ausgabe erhalten:

? 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 Sun 2022-09-18 07:24:51 UTC; 6s ago
       Docs: man:nginx(8)
    Process: 55161 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
    Process: 55162 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
   Main PID: 55163 (nginx)
      Tasks: 3 (limit: 4579)
     Memory: 3.3M
        CPU: 28ms
     CGroup: /system.slice/nginx.service
             ??55163 "nginx: master process /usr/sbin/nginx -g daemon on; master_process on;"
             ??55164 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""
             ??55165 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""

Sep 18 07:24:51 ubuntu2204 systemd[1]: Starting A high performance web server and a reverse proxy server...
Sep 18 07:24:51 ubuntu2204 systemd[1]: Started A high performance web server and a reverse proxy server.

Zugriff auf Angular Web UI

Jetzt ist Nginx als Reverse Proxy für die Angular-Anwendung konfiguriert. Du kannst nun über die URL http://app.example.com auf sie zugreifen . Du solltest deine Angular-Anwendung auf dem folgenden Bildschirm sehen:

Fazit

Herzlichen Glückwunsch! Du hast Angular erfolgreich mit Nginx als Reverse Proxy auf Ubuntu 22.04 installiert. Jetzt kannst du mit dem Angular.js-Framework eine dynamische App entwickeln und im Web bereitstellen. Wenn du noch Fragen hast, kannst du dich gerne an mich wenden.

Das könnte dich auch interessieren …