一般应用都是部署在linux系统上,不会在windows上部署,emmm..所以有兴趣的就瞧瞧吧哈哈

nginx工作原理:

nginx用于处理静态文件,动态部分经由fastcgi 、scgi或uWSGI交给django处理!

1.下载nginx, 去http://nginx.org/en/download.html 下载,我下载的是1.17.6 stable版本。

2.配置文件/conf/nginx.conf

#user  nobody;
worker_processes 1; #error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info; #pid logs/nginx.pid; events {
worker_connections 1024;
} http {
include 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 logs/access.log main; sendfile on;
#tcp_nopush on; #keepalive_timeout 0;
keepalive_timeout 65; #gzip on; server {
listen 80;
server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / {
root html;
index index.html index.htm;
} #error_page 404 /404.html; # redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
} # proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#} # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#} # deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#} location ~* ^.+\.(html|jpg|jpeg|gif|png|ico|css|js)$
{
root D:/bomc_i;
expires 30d;
break;
} location ~ ^/static/ {
root D:/bomc_i; #Django项目所在目录,不能包含static文件夹
expires 30d;
break;
} location ~ ^/ {
fastcgi_pass 127.0.0.1:8051;
fastcgi_param PATH_INFO $fastcgi_script_name;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;
fastcgi_pass_header Authorization;
fastcgi_intercept_errors off;
} } # another virtual host using mix of IP-, name-, and port-based configuration
#
#server {
# listen 8000;
# listen somename:8080;
# server_name somename alias another.alias; # location / {
# root html;
# index index.html index.htm;
# }
#} # HTTPS server
#
#server {
# listen 443 ssl;
# server_name localhost; # ssl_certificate cert.pem;
# ssl_certificate_key cert.key; # ssl_session_cache shared:SSL:1m;
# ssl_session_timeout 5m; # ssl_ciphers HIGH:!aNULL:!MD5;
# ssl_prefer_server_ciphers on; # location / {
# root html;
# index index.html index.htm;
# }
#} }

其他都没有改动,最重要的部分就是在server{}配置项里添加FASTCGI的配置和静态文件的路径配置。

注意:配置location ~ ^/static/ 的位置,一定要在location ~ ^/的前面,而且不能单纯的使用 location /static/  或者location /static ,不然,static文件夹中的静态文件都不能加载!!!

3. python 安装flup(Python的FastCGI组件)

pip install flup

4. 运行nginx服务器

D:\nginx-1.17.6>start nginx

 D:\nginx-1.17.6>nginx.exe

最好使用第一种,第二种会使你的cmd窗口一直处于执行中,Ctrl + C也不能终止,就算关闭cmd窗口,查看进程管理器也能看到之前还在运行并未随着cmd窗口关闭而结束进程。如果使用了第二种方法,关闭nginx进程方法就是,重新打开cmd,输入停止命令 nginx.exe -s quit 进程就关闭了。

5. 用FastCGI运行你的Django项目

D:\bomc_i>python manage.py runfcgi method=threaded host=127.0.0.1 port=8051

6. 若出现Unknown command: ‘runfcgi’ 错误,这是由于django版本,在1.9及1.9以上不支持runfcgi命令,如果要使用 runfcgi,将django的版本更换到 1.8 就可以了

7. 在浏览器中输入http://localhost:8051即可访问

8. 其它windows下nginx相关命令

停止:

D:\nginx-1.17.6>nginx.exe -s stop

D:\nginx-1.17.6>nginx.exe -s quit

ps:stop是快速停止nginx,可能并不保存相关信息;quit是完整有序的停止nginx,并保存相关信息。

重新载入Nginx:

D:\nginx-1.17.6>nginx.exe -s reload

当配置信息修改,需要重新载入这些配置时使用此命令。

重新打开日志文件:

D:\nginx-1.17.6>nginx.exe -s reopen

查看Nginx版本:

D:\nginx-1.17.6>nginx -v

参考:

https://www.cnblogs.com/kiddy/p/4530461.html

https://blog.csdn.net/weixin_33725272/article/details/91913165

https://blog.csdn.net/mcYang0929/article/details/90666299

Nginx + FastCGI + Django在windows上部署及nginx常用命令的更多相关文章

  1. 使用Gitblit 在windows 上部署你的Git Server

    Gitblit: 在windows 上部署你的Git Server 前言 之前在dudu的文章里看到过用bonobogit 部署在 IIS 7.5 上的Window 平台的git 服务器.学着部署使用 ...

  2. 在windows上部署使用Redis(摘录)

    下载Redis 在Redis的官网下载页上有各种各样的版本,我这次是在windows上部署的,要去GitHub上下载.目前的是2.8.12版的,直接解压,在\bin\release 目录下有个压缩包, ...

  3. 在Windows上部署dubbo-admin(监控中心)

    在Windows上部署dubbo-admin(监控中心) 2018年11月12日 22:45:13 zzz_er 阅读数:1004 标签: dubbo 更多 个人分类: dubbo   版权声明:本文 ...

  4. 在windows上部署使用redis出现的问题及解决方法

    在windows上部署使用Redis出现问题的解决方法  原文链接:https://www.cnblogs.com/herry52/p/5938902.html 下载Redis 在Redis的官网下载 ...

  5. 在windows上部署使用Redis出现问题的解决方法

    下载Redis 在Redis的官网下载页上有各种各样的版本,我这次是在windows上部署的,要去GitHub上下载.目前的是2.8.12版的,直接解压,在\bin\release 目录下有个压缩包, ...

  6. mac与windows上部署使用Redis

    windows下Redis安装 在Redis的官网下载页上有各种各样的版本,由于redis官网不支持windows,但是我们伟大的windows家族还是召唤了一群小伙伴开发了win版的redis.要在 ...

  7. 【转载】在windows上部署使用Redis

    下载Redis 在Redis的官网下载页上有各种各样的版本,我这次是在windows上部署的,要去GitHub上下载.目前的是2.8.12版的,直接解压,在\bin\release 目录下有个压缩包, ...

  8. Nginx+uwsgi+Django 的web应用环境部署-完整记录

    Python作为当前最火爆最热门,也是最主要的Web开发语言之一,在其二十多年的历史中出现了数十种Web框架,比如Django.Tornado.Flask.Twisted.Bottle和Web.py等 ...

  9. nginx+uwsgi+django+celery+supervisord环境部署

    前言 很久没更博客了,最近新写了一个小项目,后边有时间把一些心得放上来,先把环境的部署方式整理出来. 部署过程 先将环境的python升级为2.7 保证有pip 安装了nginx并配置 vim /Da ...

随机推荐

  1. ESP8266调试(UDP调试)

    1.设置STA模式 AT+CWMODE=1 2.加入热点 AT+CWJAP="Admin_name","password" 3.开启单路连接 AT+CIPMUX ...

  2. 使用 yum 安装Docker(CentOS 7下)

    使用 yum 安装(CentOS 7下) Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker . 通过 uname ...

  3. python学习-继承

    # 继承# 你的是我的,我的还是我的 class Animal: def __init__(self,name,private_v1): self.name = name self._private_ ...

  4. C语言中表达n次方

    C语言中表达n次方可以用pow函数. 函数原型:double pow(double x, double y) 功    能:计算x^y的值 返 回 值:计算结果 举例: double a; a = p ...

  5. poj 2398 Toy Storage(计算几何)

    题目传送门:poj 2398 Toy Storage 题目大意:一个长方形的箱子,里面有一些隔板,每一个隔板都可以纵切这个箱子.隔板将这个箱子分成了一些隔间.向其中扔一些玩具,每个玩具有一个坐标,求有 ...

  6. nyoj 737 石子合并(区间DP)

    737-石子合并(一) 内存限制:64MB 时间限制:1000ms 特判: No通过数:28 提交数:35 难度:3 题目描述:     有N堆石子排成一排,每堆石子有一定的数量.现要将N堆石子并成为 ...

  7. Python连载58-http协议简介

    一.http协议实战 1.URL(Uniform Resource Located) (1)使用FFTP的URL,例如:ftp://rtfm.mit.edu (2)使用HTTP的URL,例如:http ...

  8. JS Math对象、日期对象、函数、定时器

    Math对象 开平方:sqrt 绝对值:abs π:PI x的y次方:pow 四舍五入取整:round 向下取整:floor 向上取整:ceil 最大值:max 最小值: min 随机数:random ...

  9. Ajax获取网页添加到div中

    1:利用DOM获取该 div 的 ID,然后清空该DIV的内容(如果你需要接着里面的内容添加可不要清空):需要注意点是清空最好用“ empty()  ”: 2: 把  async设成true ,否则又 ...

  10. css3 @page

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...