一:mysql 与环境选用的坑

目前, 在生产环境部署django有三种方式:

1. apache + mod_wsgi

2. nginx + uwsigi

3. nginx + supervisor + gunicorn

我选用的是nginx + supervisor + gunicorn, 因为我使用的是python3, django的mysql数据库驱动MySQLdb只支持python2, 我们需要在项目app的__init__.py中设置

import pymysql
pymysql.install_as_MySQLdb()
 
然而, uwsgi 会对此报错.
据说apache 的 mod_wsgi 对python的支持不是那么好,所以我就不入坑了.
 
二: css丢失的坑
目前django在生产环境上有一坑,那就是开了debug=False后, 所有的css都丢失, 网上的很多方案我都试过,但是只有下面这个英文的有用, 注意看,这个更新时间是2018年3月1日, 比较新.
https://devcenter.heroku.com/articles/django-assets
 
注意,在此处做了static转移后,不应该再去nginx设置 static , 否则就会出现用ip:port 方式能够正常访问, 但是域名访问依旧没有css的情况
 
三: 我的一些配置
(具体配置方式请自行百度)
1. gunicorn
在和manage.py同文件夹内加入 文件 gunicorn.conf.py
import multiprocessing

bind = "0.0.0.0:8080"
workers = 2 #workers是工作线程数,一般设置成:服务器CPU个数 + 1
errorlog = '/var/log/gunicorn_chenyansu_xyz.error.log'
accesslog = '/var/log/gunicorn_chenyansu_xyz.access.log'
#loglevel = 'debug'
proc_name = 'chenyansu_xyz'

2. supervisor配置

chenyansu_xyz.ini

[program:chenyansu_xyz]
command=gunicorn -c /path/to/chenyansu_xyz/gunicorn.conf.py chenyansu_xyz.wsgi:application
directory=/path/to/chenyansu_xyz/
user=root
autostart=true
autorestart=true
redirect_stderr=true
;environment=PYTHON_EGG_CACHE=/opt/www/memo/.python-eggs

3.nginx

chenyansu_xyz.conf

server {
listen 80;
server_name www.chenyansu.xyz;
charset utf-8; client_max_body_size 75M; location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
} location /media {
alias /root/code/chenyansu_xyz/media;
} }
 
 

django2.0 + python3.6 在centos7 下部署生产环境的一些注意事项的更多相关文章

  1. centos7下部署iptables环境纪录(关闭默认的firewalle)

    CentOS7默认的防火墙不是iptables,而是firewall.由于习惯了用iptables作为防火墙,所以在安装好centos7系统后,会将默认的firewall关闭,并另安装iptables ...

  2. centos7下部署iptables环境纪录(关闭默认的firewalle)(转)

    下面介绍centos7关闭firewall安装iptables,并且开启80端口.3306端口的操作记录:[root@localhost ~]# cat /etc/redhat-release Cen ...

  3. Centos7下部署两套python版本并存

    Centos7下部署两套python版本并存   需求说明:centos7.2系统的开发机器上已经自带了python2.7版本,但是开发的项目中用的是python3.5版本,为了保证Centos系统的 ...

  4. Djang1.8+Python2.0迁移到Django2.0+Python3.6注意事项(转)

    Djang1.8+Python2.0迁移到Django2.0+Python3.6注意事项 参考:https://blog.csdn.net/weixin_40475396/article/detail ...

  5. CentOS7下部署rsync服务

    说明: 在CentOS7下部署rsync服务和在CentOS6上部署基本上是一样的,只是CentOS7自带了rsyncd启动脚本,由systemd管理而已. rsync服务端配置 [root@SERV ...

  6. Centos6.3 下使用 Tomcat-6.0.43 非root用户 jsvc模式部署 生产环境 端口80 vsftp

    一.安装JDK环境 方法一. 官方下载链接 http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260 ...

  7. Centos6.3 下使用 Tomcat-6.0.43 非root用户 部署 生产环境 端口转发方式

    一.安装JDK环境 方法一. 官方下载链接 http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260 ...

  8. Linux—CentOS7下python开发环境配置

    CentOS7下python开发环境配置 上一篇博客讲了如何在Centos7下安装python3(https://www.cnblogs.com/zivli/p/9937608.html),这一次配置 ...

  9. CentOS7.6部署k8s环境

    CentOS7.6部署k8s环境 测试环境: 节点名称 节点IP 节点功能 K8s-master 10.10.1.10/24 Master.etcd.registry K8s-node-1 10.10 ...

随机推荐

  1. NFS存储服务

    NFS存储服务笔记======================================================================NFS共享存储是什么: 英文名-Netwo ...

  2. UICollectionView didSelectItemAtIndexPath实现方法

    didSelectItemAtIndexPath是通过UIResponder的四个touch方法实现的(touchBegan, touchMove, touchEnd, touchCancel),因此 ...

  3. 通过crt修改数据库中的存储过程

    mysql -u idc_user -pidc_user123 通过crt修改数据库中的存储过程PRO_RET_HD_TZXW STEP1:在crt中查看数据库中的存储过程PRO_RET_HD_TZX ...

  4. Mysql千万级大表优化

    Mysql的单张表的最大数据存储量尚没有定论,一般情况下mysql单表记录超过千万以后性能会变得很差.因此,总结一些相关的Mysql千万级大表的优化策略. 1.优化sql以及索引 1.1优化sql 1 ...

  5. html5下F11全屏化的几点注意

    1.实现全屏化 var docElm = document.documentElement; //W3C if (docElm.requestFullscreen) { docElm.requestF ...

  6. 20175213 2018-2019-2 《Java程序设计》第6周学习总结

    教材学习内容总结 1.第七章:内部类与异常类 ①.内部类和外嵌类之间的重要关系: ·内部类的外嵌类的成员变量在内部类中仍然有效,内部类中的方法也可以调用外嵌类中的方法. ·内部类的类体中不可以声明类变 ...

  7. python入门(十七)python连接mysql数据库

    mysql 数据库:关系型数据库mysql:互联网公司 sqllite:小型数据库,占用资源少,手机里面使用oracle:银行.保险.以前外企.sybase:银行+通信 互联网公司key:valuem ...

  8. Maven插件maven-shade-plugin打包配置

    转载以下两篇文章 https://www.cnblogs.com/fuxinci/p/3356087.html https://chenzhou123520.iteye.com/blog/197132 ...

  9. Mongodb数据库学习

    数据库 MongoDB (芒果数据库) 数据存储阶段 文件管理阶段 (.txt .doc .xls)优点 : 数据可以长期保存 可以存储大量的数据 使用简单 缺点 : 数据一致性差 数据查找修改不方便 ...

  10. 自己电脑组一个Wifi热点

    ① 在cmd窗口 ssid 是wifi名称.key是密码 netsh wlan set hostednetwork mode=allow ssid=yb key=15564130 ② ③ 运行脚本 新 ...