2017-05-31 3 views
0

Bitte erläutern Sie es.Wie man create react App auf Digital Ocean bereitstellt?

Ich habe mit diesem Problem.Ich folgte diesem Blogpost https://www.davidmeents.com/blog/how-to-simply-deploy-a-react-app-on-digital-ocean/ Aber alles, was ich habe Standard-Seite von Nginx oder jetzt nach einigem Herumspielen mit Konfiguration ich bekomme 404 nicht gefunden Fehler.

Es gibt zwei floders in nginx 1) sites-availble 2) sites-enabled Ich bin mir nicht sicher, welche hier relevant ist.

meine Config wie folgt

server { 
    listen 80; 
    server_name 139.59.25.228; 
    root /www/mywebsite/app/build; 
    rewrite ^/(.*)/$ $1 permanent; 
    location/{ 
     try_files $uri index.html; 
    } 
} 

Dank ist - :)

+0

Sie verwenden sites-enabled. –

+0

Versucht, dass kein Glück. – Abhishek

Antwort

3

Es ist nicht so kompliziert, man muss nur:

1/Starten Sie Ihre Anwendung wie gewohnt reagieren, vielleicht npm start, Dann öffnet es vielleicht Port 3000 für Sie (oder irgendeine Zahl)

2/Config nginx für Port 80, der auf diesen localhost:3000 zeigt (oder Ihr definierter ed-Port):

server { 
    listen 80 default_server; 
    server_name YOURDOMAIN.HERE; 
    location/{ 
     #auth_basic "Restricted Content"; 
     #auth_basic_user_file /home/your/basic/auth/passwd_file; 
     proxy_pass http://localhost:3000; #or any port number here 
     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; 
    } 
} 

Um jedoch die npm start zu halten - localhost mit Port 3000 Server immer am Leben, ich schlage vor, Sie pm2 verwenden:

sudo npm install pm2 -g 

Dann ändern Sie das Verzeichnis (cd) zu Ihre reactjs App-Ordner: (ich gehe davon aus, Sie npm start zum Starten verwenden reactjs app)

pm2 start npm -- start 

(wenn Sie Verwenden Sie Art von npm run:start App zu starten, dann sollte es sein: pm2 start npm -- run:start)

Danach wird dieser Befehl von pm2 erinnert werden!

Nützliche PM2 Befehle:

pm2 list all 
pm2 stop all 
pm2 start all 
pm2 delete 0 

(Verwendung 0 löschen Sie den ersten Befehl von pm2 list mit ID 0 löschen)

+1

Vielen Dank für die Erklärung - :) – Abhishek

+0

Hast du es funktioniert ^^! Wenn nicht, bitte erzähl mir ein paar Fehler im Log, dann können wir einen anderen Weg finden. Allerdings habe ich den obigen Weg für viele Projekte benutzt, sie sind alle in Ordnung! Wenn das klappt, unterstütze mich mit einem Up-Vote und akzeptiere, danke ^^! – thinhvo0108

+0

Ja, es hat funktioniert. obwohl ich "proxy_pass http: // localhost: 3000" zu "proxy_pass http: // localhost: 3000 /' (hinzugefügt/am Ende) ändern würde. Danke- :) – Abhishek

Verwandte Themen