如何通过nginx搭建一个基于Python的web环境?

2026-04-20 04:541阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计401个文字,预计阅读时间需要2分钟。

如何通过nginx搭建一个基于Python的web环境?

前言:在搭建开始前,我们先梳理下web服务工作流程,先看看下图表:

1、用户(PC)向web服务器发起http请求

2、web服务器判断用户请求文件是否为静态文件,是则直接读取文件返回,否则进行下一步

3、直接读取静态文件并返回

前言:

在搭建开始前,我们先来梳理下web服务工作流程,先看下图:

1、用户(PC)向web服务器发起uwsgi; # 通过反向代理和uWSGI服务器关联 } }

方式二(本地模式):

server { listen 8080; server_name localhost; #charset koi8-r; #access_log /var/log/nginx/host.access.log main; location / { include uwsgi_params; # 指定nginx和uWSGI服务器的通信方式 uwsgi_connect_timeout 30; uwsgi_pass unix:/opt/test/script/uwsgi.sock; # 通过sock文件和uWSGI服务器关联! 因为nginx会去读取.sock文件,所以需要关闭selinux才行!!! } }

4、此时访问django的admin管理后台时,静态资源会调取失败。这时可以将该项目所有静态资源统一收集到一个文件夹下,然后由nginx统一去调取,真正做到动静分离(动的给uWSGI,静的由nginx直接调取):

在settings.py中加入:

TATIC_ROOT = os.path.join(BASE_DIR, 'static_file')

执行如下命令(搜集项目中所有静态文件至'static_file'目录):

python3.6 manage.py collectstatic --noinput

此时会在项目目录下生成一个'static_file'文件夹,内含admin和所有app涉及的静态文件 。

在nginx中配置静态文件路径(如果nginx和uWSGI不属同一台服务器可以使用反向代理的方式来调取静态文件):

如何通过nginx搭建一个基于Python的web环境?

location /static/ { alias /opt/test/test1/static_file/; }

此时就可以访问基于python后台的web网站了

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易盾网络。

本文共计401个文字,预计阅读时间需要2分钟。

如何通过nginx搭建一个基于Python的web环境?

前言:在搭建开始前,我们先梳理下web服务工作流程,先看看下图表:

1、用户(PC)向web服务器发起http请求

2、web服务器判断用户请求文件是否为静态文件,是则直接读取文件返回,否则进行下一步

3、直接读取静态文件并返回

前言:

在搭建开始前,我们先来梳理下web服务工作流程,先看下图:

1、用户(PC)向web服务器发起uwsgi; # 通过反向代理和uWSGI服务器关联 } }

方式二(本地模式):

server { listen 8080; server_name localhost; #charset koi8-r; #access_log /var/log/nginx/host.access.log main; location / { include uwsgi_params; # 指定nginx和uWSGI服务器的通信方式 uwsgi_connect_timeout 30; uwsgi_pass unix:/opt/test/script/uwsgi.sock; # 通过sock文件和uWSGI服务器关联! 因为nginx会去读取.sock文件,所以需要关闭selinux才行!!! } }

4、此时访问django的admin管理后台时,静态资源会调取失败。这时可以将该项目所有静态资源统一收集到一个文件夹下,然后由nginx统一去调取,真正做到动静分离(动的给uWSGI,静的由nginx直接调取):

在settings.py中加入:

TATIC_ROOT = os.path.join(BASE_DIR, 'static_file')

执行如下命令(搜集项目中所有静态文件至'static_file'目录):

python3.6 manage.py collectstatic --noinput

此时会在项目目录下生成一个'static_file'文件夹,内含admin和所有app涉及的静态文件 。

在nginx中配置静态文件路径(如果nginx和uWSGI不属同一台服务器可以使用反向代理的方式来调取静态文件):

如何通过nginx搭建一个基于Python的web环境?

location /static/ { alias /opt/test/test1/static_file/; }

此时就可以访问基于python后台的web网站了

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易盾网络。