Just wanted to say, I have had to gone through this process over a dozen times and I always come back to this video and the nginx set up. Your awesome. Thank you!
It's a best video and it's really works smooth I read hundred of documents but I didn't understand how to host but, after seeing your video I understand easily and I host a node app think you very very much I love you............... Keep doing it
Thanks bro! I solved a problem about ec2 I was facing thanks to your video (I forgot to add TCP port rule to security groups) Keep making such good content!!!
Hey, welcome to come back again, after 5 months. Nice to see this video, since I have developed a Nodejs app (TDD with using jest and superset inspiring your tutorials), I was thinking how to deploy and where, and see this video. Very happy.
Also, if you have the error: "Error: listen EADDRNOTAVAIL", Be sure to use the private IPv4 address of your EC2 instance in your node app in order to properly establish connection. And to test things, use the public one as shown in the video Again, great tutorial btw ^__^
Hi Sorry That was my mistake. Here I didn't Stop node server.js in my terminal. It is wokring After stopped the Terminal node server.js. Thanks Really is helping ur videos.
If you are using NVM, then /usr/bin/node WILL NOT WORK you have to use "nvm which " then replace /usr/bin/node with the actual path in the service file other than that 10/10 vid subbed
wow, just right on !! subscribed.... now let me binge watch, thank you. - i wish i found this channel earlier 😆, anyway never too late, let's go do some devops sht.
I reproduce the results of your video. I am not able to use the systemd command to turn the web app into a always-up service. In fact, after starting the pulled repository content (which goes fine hosted locally), its status is (code=exited, status=1/FAILURE). Do you have some idea how to debug this issue?
Hello @Sam Meech-Ward, We're enjoying so much with everything you're giving to this channel, would you please make a tutorial on how to deploy laravel app on linux aws, it seems to have many confusing configurations
Hey Sam, great tutorial. Thanks for the work. I had a question, I’m trying to set environment variables in a way where they are not on the actual EC2 instance but in a CI CD pipeline on Azure Devops. In order to set those, do I need to alter the actual in any way?
Hi Sam, I can't thank you enough for this tutorial video. There is a point that I cannot overcome, if you can help me, I will be very happy, even if you just show me the way, it is enough. I am creating a cookie token in my code structure and while this cookie token creation process works very well on my local server, ec2 does not work and generates the token, but it does not set the cookie, I could not understand why.
Great tutorial. Where can I learn more about linux server administration for web development like you showed us? Did you learn it by doing or is there a tutorial for this kind of stuff because I cannot find a good one.
I learned this stuff by reading some books, reading the docs, reading some articles, watching some videos, and trying over and over again until I got it right. You just gotta keep going, keep trying, keep reading and watching and don't give up until you've figured out how to do the thing you're doing.
Is there a reason you don’t want to run the node app on the same EC2 instance as the MySQL DB instance from your prior video? Many of the other tutorials I saw run both node app and DB on same instance.
Having everything on one instance is fine for a small app, but it makes it impossible to horizontally scale your application. Separating out everything like this makes horizontal scaling very easy.
Hello, Thanks for the video. I tried creating some routes using express but I can’t get a way around on ec2 . It fails with a Error called Cannot Get /routeName. Is there any workaround to get this done?
My EC2 instance doesn't seem to have yum installed and I am having trouble installing it. Why do these things have to be such a pain, also in the security group there seems to be 2 options for "anywhere", anwhere ipv4 and anywhere ipv6. Does that mean I have to make 2 security groups for both of those destinations?
Great tutorial Sam. I got a question tho. I followed along, created a systemd service using your script, changed the directories to match my own but when I try to run it, it fails with error code 1. My code runs fine if I run npm start. What could be causing this?
Make sure you use the absolute path to the executable ExecStart like /home/ec2-user/whatever/script.js Try running the ExecStart code directly in the command line and make sure that works /usr/bin/node /home/ec2-user/whatever/script.js If you have an EnvironmentFile, make sure that's the correct absolute path
Hey Sam! Your videos are super helpful, thx! I have one question please 🙏🏻 when I tryed to set up the db to the server machine Using the environment variables I got this error “MYSQL_HOST: command not found”. * I have the .env file (and insert it to the gitignore like I should) with the environment variables like yours. * looked for the error but couldn’t find anything helpful. Do you know what the problem can be?
hi , I just followed your tutorial but I am unable to access the test or any route, even the nodejs app is running "This site can’t be reached" is being displayed. need help regarding this ..
If you can't connect to the site, it might be an issue with the security group and port number. Make sure your port number is correct and try opening up your security group to allow traffic on all ports to see if that helps.
Hi, I am currently running into some issues using lightsail and the forever script. The systemD that you spoke of. Would that work within lightsail aswell?
Safe enough and ferric enough to work on any Linux and cloud environment. But secret manager makes encryption and managing secrets and rotations and other things easier, but it costs money and you have to learn how to use that service correctly
HI Sam.. Thank you for the tutorial. I just have a question. When I use Https to create connection, the systemd service is not working anymore. https .createServer( { key: privateKey, cert: certificate, }, app ) .listen(process.env.PORT || 8443) Will I change something from the systemd service?
Just wanted to say, I have had to gone through this process over a dozen times and I always come back to this video and the nginx set up. Your awesome. Thank you!
There are tutorial videos, and then there's this tutorial video, which is a tutorial video about deploying Node on an AWS EC2 instance. Great work!
Didn't know Edge left WWE and became a software developer 😉😉Nice explanation btw
This makes sense now. Was always trying to create EC2 but stuck at terminal termination, app used to stop always. Thanks man!
Hi Sam, great stuff. I've decided to ween myself off of beanstalk and find your videos to be concise, informative, and easy to follow. Thank you!!
It's a best video and it's really works smooth I read hundred of documents but I didn't understand how to host but, after seeing your video I understand easily and I host a node app think you very very much I love you............... Keep doing it
You are most welcome
Thanks bro! I solved a problem about ec2 I was facing thanks to your video (I forgot to add TCP port rule to security groups) Keep making such good content!!!
Hey, welcome to come back again, after 5 months. Nice to see this video, since I have developed a Nodejs app (TDD with using jest and superset inspiring your tutorials), I was thinking how to deploy and where, and see this video. Very happy.
Hey, sam. Thanks for this amazing video, and also the article!
thank you so much, loved your tutorial and you definitely deserve more views and subscribers for your effort
nice video! it worked perfectly! I have 2 questions though...
1. Why didnt you use CodeDeploy?
2. How would you integrate this method in a pipeline?
Thank you sir for this awesome tutorial. Exactly what I needed!!
Also, if you have the error: "Error: listen EADDRNOTAVAIL", Be sure to use the private IPv4 address of your EC2 instance in your node app in order to properly establish connection.
And to test things, use the public one as shown in the video
Again, great tutorial btw ^__^
Many thanks for sharing your knowledge. It was explained in a very chill and understandable manner. Good shit bro.
thanks bro, had trouble when i couldn't use dotenv
my sincere gratitude, fam. 🙏🙏
Clear and concise. Thank you!
Sooper useful.👌👌
Very great resource video.
Glad you liked it🤗
thank you, this has been so incredibly helpful
Hi Sorry That was my mistake. Here I didn't Stop node server.js in my terminal. It is wokring After stopped the Terminal node server.js. Thanks Really is helping ur videos.
If you are using NVM, then /usr/bin/node WILL NOT WORK
you have to use "nvm which " then replace /usr/bin/node with the actual path in the service file
other than that 10/10 vid subbed
Sir. I love you. Thank you for this amazing video. Helped me get my project of the ground.
learned so much from this video, subscribed
You are the best Sam! Like
🤗
wow, just right on !! subscribed.... now let me binge watch, thank you.
- i wish i found this channel earlier 😆, anyway never too late, let's go do some devops sht.
Thank you very much!
Your video saved me a lot of time!
Thanks dude it was amazingly simple and easy
Great job. Nice tutorial, easy for undertanding.
This is brilliant tutorial - I had my server al working with systemd until I changed from require(http) to using express
You're a life saver man! Great video
thank you so much for this tutorial, this really help me a lot
"First Try... That doesn't always happen" soooo true.. so funny and painful at the same time :)))
I reproduce the results of your video. I am not able to use the systemd command to turn the web app into a always-up service. In fact, after starting the pulled repository content (which goes fine hosted locally), its status is (code=exited, status=1/FAILURE). Do you have some idea how to debug this issue?
super greate video! thanks a lot. keep doing great work
This is extremely useful.
Very useful. Thank you.
thanks so much for this video !
You're so welcome 🤗
hey sam,
Can you make a video tutorial on AWS x-ray integration with node app in ECS and trace all requests via Xray console.
awesome tutorial =D
Hello @Sam Meech-Ward, We're enjoying so much with everything you're giving to this channel,
would you please make a tutorial on how to deploy laravel app on linux aws, it seems to have many confusing configurations
Hey Sam, great tutorial. Thanks for the work. I had a question, I’m trying to set environment variables in a way where they are not on the actual EC2 instance but in a CI CD pipeline on Azure Devops. In order to set those, do I need to alter the actual in any way?
This tutorial is awesome! Is there a part 3?
add the security bound of http and while accessing the pubilc ip address change it from https -> http
Is there a more efficient way of handling env variables?
Thanks for sharing!
Great videos!
do I always have to have my terminal open after starting nodej server? like node server.js
Hi Sam, I can't thank you enough for this tutorial video. There is a point that I cannot overcome, if you can help me, I will be very happy, even if you just show me the way, it is enough.
I am creating a cookie token in my code structure and while this cookie token creation process works very well on my local server, ec2 does not work and generates the token, but it does not set the cookie, I could not understand why.
Great tutorial. Where can I learn more about linux server administration for web development like you showed us? Did you learn it by doing or is there a tutorial for this kind of stuff because I cannot find a good one.
I learned this stuff by reading some books, reading the docs, reading some articles, watching some videos, and trying over and over again until I got it right. You just gotta keep going, keep trying, keep reading and watching and don't give up until you've figured out how to do the thing you're doing.
Is there a reason you don’t want to run the node app on the same EC2 instance as the MySQL DB instance from your prior video? Many of the other tutorials I saw run both node app and DB on same instance.
Having everything on one instance is fine for a small app, but it makes it impossible to horizontally scale your application. Separating out everything like this makes horizontal scaling very easy.
does this work in docker image i have docker image of my project in ec2 wwith jenkins
Love you!!!
I love me too 🤗
How do we update to the new code? LIke if we make any changes in github how will we update it in the server also?
Hello, Thanks for the video. I tried creating some routes using express but I can’t get a way around on ec2 . It fails with a Error called Cannot Get /routeName. Is there any workaround to get this done?
My EC2 instance doesn't seem to have yum installed and I am having trouble installing it. Why do these things have to be such a pain, also in the security group there seems to be 2 options for "anywhere", anwhere ipv4 and anywhere ipv6. Does that mean I have to make 2 security groups for both of those destinations?
Great tutorial Sam. I got a question tho. I followed along, created a systemd service using your script, changed the directories to match my own but when I try to run it, it fails with error code 1. My code runs fine if I run npm start. What could be causing this?
Make sure you use the absolute path to the executable ExecStart like /home/ec2-user/whatever/script.js
Try running the ExecStart code directly in the command line and make sure that works
/usr/bin/node /home/ec2-user/whatever/script.js
If you have an EnvironmentFile, make sure that's the correct absolute path
Note for myself:
Need to get back to 1:02 when deploying our node App
hello brother,
I have a question where I can find the .env file in node js ec2 AWS ubuntu instance and how I can update it
Hi.. How can we get sample project replace with our build code
do I need to have webserver running on ec2?
cool video!
I followed the steps to host a website but when i am hosting i'm unable to render the images. Please help me out guys
Good video thank you
Glad you enjoyed it
Hey Sam!
Your videos are super helpful, thx!
I have one question please 🙏🏻
when I tryed to set up the db to the server machine Using the environment variables I got this error “MYSQL_HOST: command not found”.
* I have the .env file (and insert it to the gitignore like I should) with the environment variables like yours.
* looked for the error but couldn’t find anything helpful.
Do you know what the problem can be?
Did you add the environment variables file path to the systemd file?
@@SamMeechWard Yes. The problem was a spare whitespace at the terminal 😅 Thank you! Your videos are super helpful!
I used NVM and Am I same the .service script?
I love you!
I can’t find the node app you’re using on your GitHub. Which is it?
github.com/sam-meech-ward-bcit/lotr
how do i tell it to update my server.js file? It's not updating
can this also work for Mongo Db
when i run my project this error occur
[722:0x4dede40] 13621 ms: Scavenge 468.9 (479.1) -> 468.5 (479.6) MB, 5.4 / 0.0 ms (average mu = 0.358, current mu = 0.415) allocation failure
[722:0x4dede40] 14106 ms: Mark-sweep (reduce) 469.4 (479.6) -> 469.1 (479.4) MB, 342.1 / 0.0 ms (+ 61.5 ms in 12 steps since start of marking, biggest step 18.3 ms, walltime since start of marking 422 ms) (average mu = 0.271, current mu = 0.192) alloc
FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory
1: 0xb02960 node::Abort() [node]
2: 0xa18149 node::FatalError(char const*, char const*) [node]
3: 0xcdd22e v8::Utils::ReportOOMFailure(v8::internal::Isolate*, char const*, bool) [node]
4: 0xcdd5a7 v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, bool) [node]
5: 0xe94c15 [node]
6: 0xea48dd v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) [node]
7: 0xea75de v8::internal::Heap::AllocateRawWithRetryOrFailSlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment) [node]
8: 0xe68b1a v8::internal::Factory::NewFillerObject(int, bool, v8::internal::AllocationType, v8::internal::AllocationOrigin) [node]
9: 0x11e1886 v8::internal::Runtime_AllocateInYoungGeneration(int, unsigned long*, v8::internal::Isolate*) [node]
10: 0x15d54f9 [node]
Aborted
hi , I just followed your tutorial but I am unable to access the test or any route, even the nodejs app is running "This site can’t be reached" is being displayed. need help regarding this ..
If you can't connect to the site, it might be an issue with the security group and port number. Make sure your port number is correct and try opening up your security group to allow traffic on all ports to see if that helps.
Hi,
I am currently running into some issues using lightsail and the forever script. The systemD that you spoke of. Would that work within lightsail aswell?
Yes systemd works on any Linux system
@@SamMeechWard Perfect thankyou :)
Thanks
Awesome video ++++++++++++++++++ 🙂
thanks alot
Thanksss !!!!!!!!
Git validation?
👍
I saw my service status is active, but I can't load my web page... is there something wrong?
it appears code: 'ERR_INVALID_ARG_TYPE' in the var/log/messages
Did you forget to install npm on linux machine?
it installed itself
thanx
why not just use NVM ?
cool
variable in clear instead of in the secret manager!!! Not so safe.
Safe enough and ferric enough to work on any Linux and cloud environment. But secret manager makes encryption and managing secrets and rotations and other things easier, but it costs money and you have to learn how to use that service correctly
Why 8080 and not 80?
because only privileged applications can access privileged ports like 80 and your web app should NOT be privileged
My keypair isn't accessible
Did you chmod 400 your key?
HI Sam.. Thank you for the tutorial. I just have a question. When I use Https to create connection, the systemd service is not working anymore.
https
.createServer(
{
key: privateKey,
cert: certificate,
},
app
)
.listen(process.env.PORT || 8443)
Will I change something from the systemd service?