如何通过nginx搭建一个基于Python的web环境?
- 内容介绍
- 文章标签
- 相关推荐
本文共计401个文字,预计阅读时间需要2分钟。
前言:在搭建开始前,我们先梳理下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不属同一台服务器可以使用反向代理的方式来调取静态文件):
location /static/ { alias /opt/test/test1/static_file/; }
此时就可以访问基于python后台的web网站了
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易盾网络。
本文共计401个文字,预计阅读时间需要2分钟。
前言:在搭建开始前,我们先梳理下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不属同一台服务器可以使用反向代理的方式来调取静态文件):
location /static/ { alias /opt/test/test1/static_file/; }
此时就可以访问基于python后台的web网站了
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易盾网络。

