嗨,我需要在 nginx 上部署一个 django 应用程序。我在我的 Fedora 中安装了 nginx 和 python-flup 我尝试了本指南,但 nginx 无法读取我的静态文件。在我的项目目录中,我使用此命令运行 fastcgi:
[nima@ca005 bank]$ python ./manage.py runfcgi host=127.0.0.1 port=8080
[nima@ca005 bank]$
这是我在 /etc/nginx/sites-enable/ 中的 sample_project.conf :
server {
listen 80;
server_name 192.168.16.161;
access_log /var/log/nginx/sample_project.access.log;
error_log /var/log/nginx/sample_project.error.log;
# https://docs.djangoproject.com/en/dev/howto/static-files/#serving-static-files-in-production
location /static/ { # STATIC_URL
alias /home/nima/workspace/bank/media/; # STATIC_ROOT
expires 30d;
}
location /media/ { # MEDIA_URL
alias /home/nima/workspace/bank/meli/static/; # MEDIA_ROOT
expires 30d;
}
location / {
include fastcgi_params;
fastcgi_pass 127.0.0.1:8080;
fastcgi_split_path_info ^()(.*)$;
}
}
nginx.conf:
# For more information on configuration, see:
# * Official English Documentation: http://nginx.org/en/docs/
# * Official Russian Documentation: http://nginx.org/ru/docs/
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log;
#error_log /var/log/nginx/error.log notice;
#error_log /var/log/nginx/error.log info;
pid /run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
# Load config files from the /etc/nginx/conf.d directory
# The default server is in conf.d/default.conf
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enable/*;
}
我应该怎么办?!