2017-05-31 2 views
0

Quelqu'un s'il vous plaît expliquer.Comment déployer créer une application de réaction sur l'océan numérique?

Je suis aux prises avec cela.J'ai suivi ce blog https://www.davidmeents.com/blog/how-to-simply-deploy-a-react-app-on-digital-ocean/ Mais tout ce que j'ai eu la page par défaut de nginx ou maintenant après quelques déconner avec la configuration que je reçois erreur 404 introuvable.

Il y a deux machines à l'intérieur de nginx 1) sites-availble 2) sites-enabled Je ne suis pas sûr de savoir lequel est pertinent ici.

ma config est comme ça

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

Merci - :)

+0

vous devez utiliser sites activés. –

+0

Essayé que pas de chance. – Abhishek

Répondre

3

Ce n'est pas si compliqué, il vous suffit de:

1/Démarrez réagir l'application comme d'habitude, npm start peut-être, alors peut-être il ouvrira le port 3000 pour vous (ou n'importe quel nombre)

2/Config nginx pour le port 80 pointant vers ce localhost:3000 (ou votre Port ed):

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; 
    } 
} 

Toutefois, afin de maintenir la npm start - votre localhost avec le port 3000 serveur toujours en vie, je vous suggère d'utiliser pm2:

sudo npm install pm2 -g 

Ensuite, changement de répertoire (cd) à votre dossier app reactjs: (Je suppose que vous utilisez pour vous npm start à partir reactjs app)

pm2 start npm -- start 

(si vous utiliser le type de npm run:start pour démarrer l'application, alors il devrait être: pm2 start npm -- run:start)

Ensuite, cette commande sera mémorisée par pm2!

commandes PM2 utiles:

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

(utilisation Supprimer 0 à supprimer la première commande de pm2 list avec ID 0)

+1

Merci beaucoup d'expliquer - :) – Abhishek

+0

L'avez-vous fait fonctionner ^^! Si non, s'il vous plaît dites-moi quelques erreurs sur le journal, alors nous pouvons trouver un autre moyen de contourner. Cependant, j'ai utilisé la méthode ci-dessus pour de nombreux projets, tout va bien! Si cela fonctionne, n'hésitez pas à me soutenir par un vote et à accepter, merci ^^! – thinhvo0108

+0

Oui ça a marché. bien que je devrais changer 'proxy_pass http: // localhost: 3000' à' proxy_pass http: // localhost: 3000/'(ajouté/en fin). Merci- :) – Abhishek