django2.0 + python3.6 在centos7 下部署生产环境的一些注意事项
2024-10-19 15:29:41
一: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;
} }
最新文章
- cocos2dx的android版FileUtils的坑
- oracle中的自动增长
- C# 时间戳和时间的相互转换
- NOIP2004 合唱队列
- C++ Primer 读书笔记 第1章
- 最佳新秀SSH(十三)——Spring集装箱IOC分析和简单的实现
- 处理eclipse启动时报java.lang.IllegalStateException
- Nginx 开启gzip 压缩,实现基于域名的虚拟主机。
- Python基础:数据类型-字符串(7)
- C语言程序设计II—第七周教学
- PHP浮点数的精确计算BCMath
- vscode使用wsl调试代码
- gentoo raid1
- C3P0配置实战
- 利用jquery修改href的部分字符
- Windows ElasticSearch中文分词配置
- spring boot sso 学习资源
- Centos7 創建快捷方式
- windows更新文件和windows.old文件夹清理
- # 20155337 2016-2017-2 《Java程序设计》第十周学习总结
热门文章
- matlab-调用摄像头人脸识别
- Ionic框架搭建简明教程
- thinkphp51初始化方法initialize
- 微信小程序商城开源项目,Weixin-App-Shop 1.0 版本正式发布!!!
- ReactiveX 学习笔记(26)使用 RxJS + React.js 调用 REST API
- 【UiPath 中文教程】02 - 创建自定义 Activity
- Java基础知识思维导图
- vue-cli 报Module build failed: Error: No parser and no file path given, couldn't infer a parser.错的解决方法
- window备忘录
- linux 安装 kafka&;zookeeper