A few weeks ago I configured an ec2 server on AWS and database is on RDS and I use nginx as web server. When i reboot server from the AWS console my nginx wont restart automatically. I did this using service nginx start command.
Is there any way to configure nginx server, So it restarted when i reboot my ec2 instance
You may configure nginx to start automatically on system boot using below command.
#chkconfig nginx on
Once you run above command, nginx will be always started whenever system boots.
You may check , if service is configured to start automaticaly on system boot using below command.
# chkconfig nginx --list
You may disable service auto start using below command
# chkconfig nginx off
Related
I have followed this tutorial https://www.digitalocean.com/community/tutorials/how-to-set-up-django-with-postgres-nginx-and-gunicorn-on-ubuntu-18-04 to setup my Django app on ec2 but it is not accessible. When I hit the url it says that site cannot be reached.
I did ssh to my ec2 instance and uses the curl command it shows me the html page but without it says connection cannot be established curl output:
Security Groups are also configured with port 80 and 443:
Also I set firewall to 'Nginx Full' - local firewall configuration:
When I run the command sudo systemctl status gunicorn.socket it shows:
The command sudo systemctl status gunicorn shows:
Also the command sudo systemctl status nginx shows:
I am trying to get a NodeJs application to run on a Amazon Linux server using port 80. Currently when I run the app it is defaulting to port 1024. I understand that this is due to the fact that I have to be root to run on port 80 but given I am on a aws linux box I am not able to run that as root. I have been digging for awhile but I am coming up short on what I need to adjust to get this to run properly.
sudo bash will allow you to connect as root on your EC2 Amazon Linux instance.
I would question why do you want to run NodeJS on port 80, the best practice would have a load balancer in front of your instance to accept HTTPS calls and relay to whatever port nodejs will run on your instance, in a private subnet.
I would suggest to read this doc to learn how to do this : https://aws.amazon.com/getting-started/projects/deploy-nodejs-web-app/
I have an app set to listen to port 66.
First I tried to run it with sudo node myapp.js . I was able to access it at the correct url (ip:66). Then I stopped the app (Ctrl+c) and started it with pm2, sudo pm2 start app.js. The status is online. However, that same url is now inaccessible.
Running sudo pm2 logs while the app is started with pm2 gives me the error EACCESS for port 66. No one else is running the app, and I am sure I am only using one console and killing the node service before starting it with pm2.
Pm2 was installed globally. Server is Debian stretch. Nodejs version is 8.x
I am logging as a normal user and using sudo to run the app.
on linux systems normal users are not allowed to listen to ports below 1024. There are several ways around this.
You can change this rule to allow non root users to open such ports. But this is a security risc and is not recommended. So i won't add a link to this solution.
you can also listen to a port that is greater than 1024 and then use a forward rule in your firewall to route port 66 to the port you opened.
https://www.systutorials.com/816/port-forwarding-using-iptables/
my (and pm2's) prefered solution is to listen to a port greater than 1024 and use a reverse proxy like nginx to route apps running on that server.
http://pm2.keymetrics.io/docs/tutorials/pm2-nginx-production-setup
I am installing chef-server on this VPS that my friend let me borrow.
I was able to install chef and run chef-server-ctl reconfigure successfully.
I ran into problems because I need to change the iptable rules and I discovered that I cannot find chef-server running on any port or as a service.
When I run chef-server-ctl it seems to pass all the tests, so I know its API is working.
Where can I find that chef is running?
I need to change my iptables so that I can use knife to communicate with chef-server.
First off it sounds like you installed Chef Server, not Chef, important distinction :) Second, there is no specific process called chef-server. The frontend routing is handled by nginx which binds on port 443 and 80 (80 is just a redirector to 443 and can be blocked or disabled if desired). Internally we have a bunch of different smaller services like oc_erchef, bifrost, oc_id, etc. These all listen on localhost and are reached via Nginx.
You have installed Chef server and have reconfigured the server, you can't find a chef-server.
you can run below commands to check all the services that are running chef server
$ chef-server-ctl service-list
bookshelf*
nginx*
oc_bifrost*
oc_id*
opscode-chef-mover*
opscode-erchef*
opscode-expander*
opscode-solr4*
rabbitmq*
redis_lb*
postgresql*
To update the port number you need to update
/etc/chef-server/chef-server.rb - in Chef 11
/etcopscode/chef-server.rb - in Chef 12
nginx['non_ssl_port'] = portnumber
And also how are using knife command? Do you want ssl check to be passed then you need to add a line in knife.rb file
ssl_verify_mode: verify_none
'
I recently setup an Ubuntu 12.04 LTS server running nginx, and I could connect to it via its IP address. However, after restarting my computer I can no longer connect to the server in any browser but I can connect via SSH through puTTy. No clue what's going on and ifconfig shows that the IP address has not changed and I changed no settings on the server. How can I fix this?
This picture shows the chrome window response when I try to access the server, the ifconfig from the server (top right), the network settings on the VM (bottom left), and the location settings for /etc/nginx/sites-available/www.
server settings
I have tried restarting, doing an nginx reload, and a full computer restart. Nothing has worked so far. All help is greatly appreciated!
First make sure that the service is working using sudo service nginx status
If it's not running try starting it manually sudo service nginx start
If it fails to start, you can check the error log in /var/log/nginx/error.log or any other error log defined in the server config.