前端和后端的Nginx配置在同一个文件中

byqmnocz  于 5个月前  发布在  Nginx
关注(0)|答案(1)|浏览(76)

我有一个应用程序托管在Nginx和Gunicorn的服务器上。这个应用程序的前端是使用React构建的,而后端是Django。我确实知道如何为Django应用程序配置Nginx和Unicorn。但我想要的是每个对'/admin/'和'/API/'的请求都应该发送给gunicorn,但是每一个对根URL的其他请求和其他请求都应该发送到react应用程序来处理。我有下面的Nginx配置来服务Django,但是我没有。我不知道如何在一个配置文件中实现前端和后端。

# /etc/nginx/sites-available/myapp

server {
    listen 80;
    server_name myapp.com www.myapp.com

    location = /favicon.ico { access_log off; log_not_found off; }
    location /static/ {
        root /home/ubuntu/myapp;
    }

    location / {
        include proxy_params;
        proxy_pass http://unix:/run/gunicorn.sock;
    }
}

字符串
谢谢你的帮助

2q5ifsrm

2q5ifsrm1#

要为您的设置配置Nginx,您有一个Django后端处理/admin//api/,以及一个React应用程序用于根域,您需要更新Nginx配置文件。请根据需要调整路径。

server {
    listen 80;
    server_name myapp.com www.myapp.com;

    location = /favicon.ico { access_log off; log_not_found off; }
    location /static/ {
        root /home/ubuntu/myapp;
    }

    location /admin/ {
        # Pass requests to the Django backend
        include proxy_params;
        proxy_pass http://unix:/run/gunicorn.sock;
    }

    location /api/ {
        # Pass requests to the Django backend
        include proxy_params;
        proxy_pass http://unix:/run/gunicorn.sock;
    }

    location / {
        # Point to your React app build directory
        root /path/to/your/react/app/build;
        index index.html;

        try_files $uri $uri/ /index.html;
    }
}

字符串
重新启动Nginx以应用更改:

sudo systemctl restart nginx


现在,您的Nginx服务器应该配置为在根域服务您的React应用程序,并将请求传递到Django后端,路径以/admin//api/开始

相关问题