django-nginx与uwsgi项目部署

uwsgi是提供动态服务的

nginx反向代理

在项目中创建一个settings.py的副本。我这里重命名为copy_settings.py,将配置文件中的DEBUG=False

django-nginx与uwsgi项目部署

修改项目下wsgi.py的启动配置文件名称

django-nginx与uwsgi项目部署

环境配置:

第一步:在Linux系统中创建一个运行虚拟环境 执行:mkvirtualenv -p /usr/bin/python3.6 copymysite

django-nginx与uwsgi项目部署

第二步:将开发项目中虚拟环境中的依赖包安装到创建的这个虚拟环境中

2-1:首先进入开发项目的虚拟环境中导出包列表

django-nginx与uwsgi项目部署

查看项目依赖的包

django-nginx与uwsgi项目部署

2-2 在新创建的正式虚拟环境中安装上面的包(如果上面有些包是通过离线包安装的,就需要从列表中删除,然后通过离线包安装)

django-nginx与uwsgi项目部署

查看安装的包就和开发环境中的包是一样的

django-nginx与uwsgi项目部署

第三步:安装uwsgi

django-nginx与uwsgi项目部署

测试uwsgi是否安装成功,在项目中创建一个deploy文件夹,在里面创建一个测试文件test.py文件

django-nginx与uwsgi项目部署

执行测试命令,一定要进入到当前测试文件的路径中

django-nginx与uwsgi项目部署

浏览器测试:

django-nginx与uwsgi项目部署

第四步:配置uwsgi,在deploy文件中创建一个uwsgi_conf.ini文件和logs文件夹,配置内容如下:

django-nginx与uwsgi项目部署

第五步:启动uwsgi,进入虚拟环境切换到项目中的deploy文件目录中

启动uwsgi:uwsgi –ini uwsgi_conf.ini &

停止uwsgi:uwsgi –stop uwsgi.pid

sudo pkill -f uwsgi 全部停止后uwsgi 会自动重启

查看状态

ps aux|grep uwsgi

第六步:Nginx安装与配置

6-1:安装nginx 首先执行 sudo apt update -y

django-nginx与uwsgi项目部署

执行安装:sudo apt install nginx -y

django-nginx与uwsgi项目部署

开启和查看开启状态:

django-nginx与uwsgi项目部署

测试:

django-nginx与uwsgi项目部署

第七步:项目中添加nginx配置文件,在deploy文件夹中创建nginx_conf.conf配置文件,内容如下:

7-1

django-nginx与uwsgi项目部署

Nginx配置文件

bash;gutter:true; 启动该程序的默认程序</p> <h1>user nobody;</h1> <p>一个主进程和多个工作进程。这里定义的是主进程数量 worker_processes 4;</p> <p>全局错误日志的位置及日志格式</p> <h1>error_log logs/error.log;</h1> <h1>error_log logs/error.log notice;</h1> <h1>error_log logs/error.log info;</h1> <h1>pid logs/nginx.pid;</h1> <p>events { # 每个工作进程最大并发数 worker_connections 1024; }</p> <p>http 服务设置 http { include mime.types; default_type application/octet-stream;</p> <pre><code># 日志格式 #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; # 全局日志路径 # $remote_addr与$http_x_forwarded_for用以记录客户端ip地址 # $remote_user:记录客户端名称 # $time_local:记录访问时间与时区 # $request:记录访问状态 200成功 # $body_bytes_sent:记录发送给客户端文件主体内容大小 # $http_referer:记录从哪个页面链接访问过来的 # $http_user_agent:记录客户端浏览器相关信息 # sendfie指令指定nginx是否调用sendfile函数(zero copy 方式)来输出文件 sendfile on; # 允许或禁止使用socke的TCP_CORK的选项仅在使用sendfile的时候使用 #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; # 定义web根路径 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; #} } # 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; # } #} </code></pre> <p>}

7-2:将上面创建的配置文件复制到 /etc/nginx/conf.d文件夹中去或者加入到配置中

注意:将该配置文件加入到nginx的启动配置文件中 获取覆盖原配置文件

sudo ln -s 你的目录/mysite/deploy/nginx_conf.conf

django-nginx与uwsgi项目部署

7-3:如果是第一次使用nginx 需要添加用户到nginx.conf 配置文件中

django-nginx与uwsgi项目部署

7-4:测试nginx配置文件是否正确

django-nginx与uwsgi项目部署

7-5:重新加载配置

sudo nginx -c /etc/nginx/nginx.conf

sudo nginx -s reload

重启nginx sudo systemctl restart nginx

重启第二中方式:

pkill -f ninx

nginx

完成部署,在浏览器中输入IP地址即可访问网站了……..

设置开机启动

sudo systemctl enable nginx.service

Original: https://www.cnblogs.com/wendj/p/11065285.html
Author: begrateful
Title: django-nginx与uwsgi项目部署

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/576506/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • keycloak~资源的远程授权

    17.1远程资源授权准备 17.1.1认证和访问流程图 参考:http://www.zyiz.net/tech/detail-141309.html 17.1.2为用户指定角色 可…

    数据库 2023年6月6日
    0104
  • 4_爬NMPA药监总局_动态加载_传ID

    http://scxk.nmpa.gov.cn:81/xk/ import requests url = ‘http://scxk.nmpa.gov.cn:81/xk/itowne…

    数据库 2023年6月11日
    0103
  • 如何构建你自己的计算机网络知识体系?

    大家好,我是小牛肉,不知道各位曾经有没有和我一样的困惑,就是有些知识好像已经看了好多遍了,但是知识点在脑子中是分散的,没办法串联起来,别人问一个问题我能答出来一点,但是你让我自己从…

    数据库 2023年6月6日
    0100
  • 【StoneDB】产品FAQ

    StoneDB与MySQL的兼容性如何?StoneDB高度兼容MySQL 5.6、5.7协议和MySQL生态等重要特性,支持MySQL常用的功能及语法。由于StoneDB本身的一些…

    数据库 2023年5月24日
    0102
  • kettle插入更新

    kettle实现若主键存在则更新,若主键不存在则插入 Original: https://www.cnblogs.com/cheng9999/p/14085922.htmlAuth…

    数据库 2023年6月16日
    086
  • HTTP状态码1XX深入理解

    前段时间看了《御赐小仵作》,里面有很多细节很有心。看了一些评论都是:终于在剧里能够看到真正在搞事业、发了工资第一时间还钱的正常人了。我印象比较深的是王府才能吃上的葡萄。觉得非常合理…

    数据库 2023年6月6日
    0120
  • MySQL 中如何定位 DDL 被阻塞的问题

    经常碰到开发、测试童鞋会问,线下开发、测试环境,执行了一个DDL,发现很久都没有执行完,是不是被阻塞了?要怎么解决? 包括在群里,也经常会碰到类似问题:DDL 被阻塞了,如何找到阻…

    数据库 2023年5月24日
    084
  • Centos7安装Greenplum5.3单机版教程

    环境:centos7 ,Greenplum5.3 1. Greenplum 5.3 下载 安装包下载 https://download.csdn.net/download/Ange…

    数据库 2023年6月14日
    0110
  • 为了防止这个公众号被封,我连夜用Python爬取了它所有图片~

    哈喽兄弟们,今天来试试批量获取公众号文章,emmm… 虽然名义上是文章,单其实它是一篇纯图片文,至于为什么不是文字,小姐姐不比文字香? ; 事前准备 我们需要用到 Fi…

    数据库 2023年6月14日
    0111
  • StoneDB完成华为鲲鹏国产处理器适配认证!

    近日,一体化实时 HTAP 数据库 StoneDB 与华为鲲鹏 920 已完成并通过相互兼容性测试认证,取得 KUNPENG COMPATIBLE 证书及认证徽标的使用权。 该认证…

    数据库 2023年5月24日
    0104
  • Postman安装及汉化

    1. 安装postman 各位根据各自需要可以参考下表自行下载,把链接内的”版本号”替换为指定的版本号 操作系统 下载链接 Windows64位 Windo…

    数据库 2023年6月14日
    0125
  • Linux(CentOS)安装Redis保姆级教程

    Linux(CentOs)安装Redis教程 一,下载Redis(两种方式) 1,找到redis官网(https://redis.io/download ) 如果想下载指定版本就去…

    数据库 2023年6月11日
    0106
  • 【数据结构】跳表

    一、基本概念 1.1 定义 跳表(SkipList):增加了向前指针的链表叫做指针。跳表全称叫做跳跃表,简称跳表。跳表是一个随机化的数据结构,实质是一种可以进行二分查找的有序链表。…

    数据库 2023年6月11日
    0104
  • 事务的本质和死锁的原理・改

    由于一些错误操作和被爬的原因,我重新整理了 &#x4E0A;&#x4E00;&#x7BC7;&#x6587;&#x7AE0;https://…

    数据库 2023年6月9日
    0103
  • Vue router-link点击事件不生效

    在学习路由时,想给 贴个代码: index.html 命名视图 <router-link v-on:click=&qu…

    数据库 2023年6月16日
    0119
  • MySQL实战45讲 15

    15 | 答疑文章(一):日志和索引相关问题 日志相关 binlog(归档日志)和redo log(重做日志)配合崩溃恢复,在两阶段提交的不同瞬间,MySQL如果发生异常重启,是怎…

    数据库 2023年6月16日
    0154
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球