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.
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?
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.
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
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.
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 ^__^
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?
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.
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?
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?
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
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.
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.
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?
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
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.
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?
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!
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
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!!
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, sam. Thanks for this amazing video, and also the article!
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.
thank you so much, loved your tutorial and you definitely deserve more views and subscribers for your effort
Thank you sir for this awesome tutorial. Exactly what I needed!!
Sooper useful.👌👌
Very great resource video.
Glad you liked it🤗
thanks bro, had trouble when i couldn't use dotenv
You are the best Sam! Like
🤗
thank you, this has been so incredibly helpful
"First Try... That doesn't always happen" soooo true.. so funny and painful at the same time :)))
my sincere gratitude, fam. 🙏🙏
Many thanks for sharing your knowledge. It was explained in a very chill and understandable manner. Good shit bro.
Clear and concise. Thank you!
learned so much from this video, subscribed
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?
Thank you very much!
Your video saved me a lot of time!
Sir. I love you. Thank you for this amazing video. Helped me get my project of the ground.
super greate video! thanks a lot. keep doing great work
Great job. Nice tutorial, easy for undertanding.
You're a life saver man! Great video
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 so much for this tutorial, this really help me a lot
thanks so much for this video !
You're so welcome 🤗
Note for myself:
Need to get back to 1:02 when deploying our node App
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?
Thanks dude it was amazingly simple and easy
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
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.
This is brilliant tutorial - I had my server al working with systemd until I changed from require(http) to using express
Very useful. Thank you.
Is there a more efficient way of handling env variables?
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 ^__^
do I always have to have my terminal open after starting nodej server? like node server.js
This is extremely useful.
awesome tutorial =D
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?
add the security bound of http and while accessing the pubilc ip address change it from https -> http
does this work in docker image i have docker image of my project in ec2 wwith jenkins
Hi.. How can we get sample project replace with our build code
do I need to have webserver running on ec2?
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
Thanks for sharing!
Love you!!!
I love me too 🤗
This tutorial is awesome! Is there a part 3?
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?
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
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.
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?
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.
I used NVM and Am I same the .service script?
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?
Great videos!
Good video thank you
Glad you enjoyed it
can this also work for Mongo Db
how do i tell it to update my server.js file? It's not updating
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
Git validation?
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.
I can’t find the node app you’re using on your GitHub. Which is it?
github.com/sam-meech-ward-bcit/lotr
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.
Thanksss !!!!!!!!
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 :)
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
cool video!
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
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.
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
Awesome video ++++++++++++++++++ 🙂
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 love you!
thanks alot
Thanks
why not just use NVM ?
Did you forget to install npm on linux machine?
it installed itself
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?
thanx
cool
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?