I have this flask application I deployed using Nginx, I get Internal server error in production but in developement it's fine. Is there a way to see what might be the error ? (log file or something)
Have a look in your Nginx' error log.
e.g. /var/log/nginx/error.log or journalctl -u nginx.
Related
An error occurred.
Sorry, the page you are looking for is currently unavailable.
Please try again later.
If you are the system administrator of this resource then you should check the error log for details.
Faithfully yours, nginx.
I rebooted the server just before happening this using sudo reboot now since it is an ubuntu server.
I checked this .I did not understand any of it unfortunately. Also I cant access any of the pages in the specific site of mine which is showing this error.
The error.log is empty on the location /var/log/nginx
error.log.1 has some logs which happens months ago. Same for access.log.1
I am not a network guy.
sudo service nginx status
sudo service nginx start
could be that for some reason nginx not started after reboot
I have Lapis installed and working on Debian 9. I have two beginner issues I need to solve running the simple init setup that serves static content from /static/ and the Lua app from all other requests:
I put an index.html file in a directory called static which is in the same directory I start Lapis from, but attempting to access via IP/static/index.html results in a 403 access error.
I cannot set the server to use port 80 because the address is already in use by nginx (confirmed with netstat). There is a "Welcome to OpenResty!" page served there, with the Lapis app only being served on other set ports.
I'd appreciate any advice that would solve these issues. Also any pointers towards documentation that fully describes the relationship between nginx, OpenResty and Lapis would be very helpful.
Thanks to help from LordRyan on the moonscript IRC the issues are solved.
The 403 issue was a permission error caused by the Lapis app directory being at root level.
Inability to use port 80 was caused by an nginx instance running in the background which was discovered using...
ps aux | grep nginx root
... shutting it down solved the issue and gave the Lapis app control.
I've been following the directions based on http://linoxide.com/linux-how-to/install-configure-femp-stack/
So far when I ran my ip address http://ip address
I got an error that says "404 not found."
I've already enable sysrc nginx_enable=yes and that one works
Next I tried nginx -t and that part works and it says:
nginx: the configuration file /usr/local/etc/nginx/nginx.conf syntax is ok
nginx: configuration file /usr/local/etc/nginx/nginx.conf test is successful
Then I tried nginx result and it it didn't work and I got the message saying "invalid option: "result"" it didn't work then I tried service nginx start and
it start running and when I type my ip address I kept getting 404 message.
I have OSX El Capitan. I installed Nginx-Full via homebrew. I am supposed to be able to start and stop services with
brew services Nginx-Full Start
I run that command and it seems to start no problem. I check the running services with
brew services list
That indicates that the Nginx-Full services is running. When i run
htop
to look at everything that is running Nginx does not show up and the server is not handling requests.
nginx is failing to launch because of an error, but brew-services is not communicating that to you.
Running it with sudo, as other users have suggested, is just masking the problem. If you just run nginx directly, you may see that there is actually a configuration or permissions issue that is causing nginx to abort. In my case, it was because it couldn't write to the error log:
nginx: [alert] could not open error log file: open() "/usr/local/var/log/nginx/error.log" failed (13: Permission denied)
2020/04/02 13:11:53 [warn] 19989#0: the "user" directive makes sense only if the master process runs with super-user privileges, ignored in /usr/local/etc/nginx/nginx.conf:2
2020/04/02 13:11:53 [emerg] 19989#0: open() "/usr/local/var/log/nginx/error.log" failed (13: Permission denied)
The last error is causing nginx to fail to launch. You can make yourself the owner of the logs with:
sudo chown -R $(whoami) /usr/local/var/log/nginx/
This should cause subsequent config errors to be written to the error log, even if homebrew services is not reporting them in stderr/stdout for now.
I've opened an issue about this: https://github.com/Homebrew/homebrew-services/issues/215
The log path may not the same for everyone. You can check the path to log file by checking the config file /usr/local/etc/nginx/nginx.conf. You can find a line like:
error_log /Users/myusername/somepath/nginx.log;. Change the chown command above accordingly. If even this didn't solve the problem, you may have to do the same for any other log files specified in the server blocks in your nginx configuration
Try launching it with "sudo", even if the formula say
The default port has been set in /usr/local/etc/nginx/nginx.conf to 8080 so that
nginx can run without sudo.
sudo brew services Nginx-Full start
this worked for me:
sudo brew services start nginx
Running sudo nginx worked for me, it initially gave some error stating certain file in certain directory is missing, creating that file, and then another file is asked for to be created and then it runs properly.
I had similar problem, running it brew services start nginx used to show nginx running.
but brew services list used to show error.
running with sudo nginx solved my issue
I'm running nginx with php-fpm. Whenever my Symfony app crashes, it returns a 500 error with the debug info and stack traces I need. The problem is Nginx dumps that info and returns a 502 error with no content.
How can I configure nginx to forward along the 500 error and content from php-fpm?
You can use "proxy_intercept_errors on" to transfer error code to client.
http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_intercept_errors
If your Symfony app crashes before any content was returned, then there is no content.