I've a web application with this structure:
| |__ static |__style.less |__images |__ myapp.py |__ wsgi.py
I've managed to run the web application using nginx and wsgi, but the problem is that the static files are not served, i mean, the server can't find them when i go to their URL. It gives me 404.
Here's my nginx configuration file part:
server { listen 80 default_server; listen [::]:80 default_server ipv6only=on; root /var/www/public_html; index index.php index.html index.htm; server_name xxxxxxx.com; location / { try_files $uri $uri/ =404; } location /myapp { include uwsgi_params; uwsgi_pass unix:/var/www/public_html/myapp/myapp.sock; }
Is there something missing?
Configure NGINX and NGINX Plus to serve static content, with type-specific root directories, checks for file existence, and performance optimizations.
Flask automatically creates a static view that serves static files from a folder named static in your application's directory. You can also use the url_for() method to allow for more dynamic URLs. Its use reduces the amount of modification needed in the code if something needs to change in your URL references.
Flask – Static Files Usually, the web server is configured to serve them for you, but during the development, these files are served from static folder in your package or next to your module and it will be available at /static on the application. A special endpoint 'static' is used to generate URL for static files.
Add this to your nginx configuration
location ^~ /static/ { include /etc/nginx/mime.types; root /project_path/; }
replace /project_path/
with your app's absolute path, you should note that it doesn't include static directory and all the contents inside /project_path/static/
will be serverd in url /static/
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With