美文网首页
Django mod_wsgi Apache Nginx Win

Django mod_wsgi Apache Nginx Win

作者: wyude | 来源:发表于2021-11-18 11:50 被阅读0次
    • windows下,Apache带mod_wsgi跑Django,Nginx代理Apache。

      • Django环境已经配置好了,Nginx代理了Django的简单服务。
      • 配置Apache环境,
      • 1.下载Apache,记下下载的版本,解压到文件夹。
        2.打开httpd.conf,Defin SRVROOT "Apache路径"
        3.修改默认端口到其他
        4.运行httpd.exe ,如果报错,装下对应的vc运行库
        5.添加Apache到环境变量
        6.httpd -k install -n Apache将Apache添加到Windows服务,随手启用Apache服务
        7.访问localhost:port能看到Apache页面就成了。

      • mod_wsgi安装
      • 1.添加python到环境变量,虽然现在python都自动添加了,但是还是要有PYTHONPATH,PYTHONHOME,这是个坑。PYTHONPATH对应scripts路径,PYTHONHOME对应python根目录
        2.pip install mod_wsgi 或者下载mod_wsgi。(这里更新了pip,发现新的pip安装失败会自动尝试其他版本。)
        3.下载安装的话,选择对用apache版本+vc运行库版本+对应python+对用操作系统的版本。当然,找不到就用上面python版本+操作系同对用上的就行。
        4.安装成功后控制台 mod_wsgi-express module-config > a.txt输出配置Apache用的参数,

        LoadFile path
        LoadModule wsgi_module path
        WSGIPythonHome path

      • Apache带起Django
      • 配置apache httpd.conf,添加以下内容到conf底部

    #上面生成的三行
    LoadFile path
    LoadModule wsgi_module path
    WSGIPythonHome path
    #指定Django项目的wsgi.py配置文件路径
    #注意中间的'/'
    WSGIScriptAlias /  path\to\wsgi.py
    #指定Django项目目录
    WSGIPythonPath path/root
    <Directory path/root>
    <Files wsgi.py>
        Require all granted
    </Files>
    </Directory>
    #项目静态文件地址
    Alias /assets path/to/assets
    <Directory path/to/assets>
        AllowOverride None
        Options None
        Require all granted
    </Directory>
    
      • Nginx配置
    http {
        include       mime.types;
        default_type  application/octet-stream;
        sendfile        on;
        keepalive_timeout  65;
        resolver 8.8.8.8;
        gzip  on;
        # 缓存目录地址不能定义在server块内,必须定义在http快中 配置一个cache空间
        proxy_cache_path ./ServerTool/cache levels=1:2 keys_zone=SLoan:500m inactive=10d max_size=10g;
        proxy_temp_path ./ServerTool/cache/temp;
        # 缓存
        # 调用缓存 SLoan为缓存名称
        proxy_cache SLoan;
        # 添加服务器地址到报文头部
        add_header X_Via $server_addr;
        # 添加缓存状态到报文头部
        add_header X-Cache $upstream_cache_status;
        proxy_cache_key $host$uri$is_args$args;
        # 定义缓存失效时间,200 是状态码,即缓存状态码是200请求成功的数据,10M是10分钟,即缓存的数据超时时间为10分钟,10分钟后过期,不定义则缓存不生效
        proxy_cache_valid 200 302 3m; #200 302状态码保存3小时
        proxy_cache_valid 301 1m; #状态保存时间为3小时
        proxy_cache_valid any 1m; #其他保存时间为 1分钟
        server {
            listen       80;
            server_name  localhost;
            #server_name 127.0.0.1;
            server_name domain.com;
            location / {
                root   html;
                index  index.html index.htm;
            }
            location /hy/ {
                proxy_pass   http://127.0.0.1:90;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header REMOTE-HOST $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            }
            location /assets/ {
                root C:/Users/Administrator/Desktop/www/myproject/tian/;
            }
            location /static/ {
                root C:/Users/Administrator/Desktop/www/;
            }
            location /avatar/ {
                root C:/Users/Administrator/Desktop/www/static/media/upload/HBY/;
            }
            error_page   500 502 503 504  /50x.html;
            location = /50x.html {
                root   html;
            }
        }
    }
    
    

    相关文章

      网友评论

          本文标题:Django mod_wsgi Apache Nginx Win

          本文链接:https://www.haomeiwen.com/subject/clydtrtx.html