CentOS7下部署Django项目详细操作步骤

所需积分/C币:45 2018-10-26 00:50:50 651KB PDF
收藏 收藏 3
举报

CentOS7下部署Django项目详细操作步骤,部署是基于:centos7+nginx+uwsgi+python3+django 之上做的
pip3 install django(如果用于生产的话,则需要指定安装和你项目相同的版本) pip3 install uwsgi 给uwsg建立软链接,方便使用 In-s/usr/local/python/bin/uwsgi /usr/bin/uwsgi 八、切换到网站目录/data/ wwwroot创建 Django项目 django-admin py startproject mysite 创建成功之后,/data/ wwwroot下面就会多出一个 mysite文件夹,我们的项目就在这个文 件夹里。 pyweb) Root@MiwiFl-RID-srv mysite]# cd /data/wwwroot/ Ipyweh)[root@MiwiFi-RID-srv wwwroot]# ls mysIte [pyweb) TrooteMiwiFi-RID-srv wwwroot]# cd mysite/ 然后新建立一个名叫bog的APP pythons manage. py startapp blog 进入项目文件夹/data/ wwwroot/mysite添加 statIC和 templates,分别用于存放静态文件 和模板文件 编辑项目里 mysite/ settings;py文件 vim /data/wwwroot/mysite/mysite/settings. py 在| NSTALLED APPS列表里添加 blog'APP INSTALLED APPS django. contrib. adman ango. contra django. contrib. contenttypes django. contrib. sessions Jango. contrib. messages rib staticfiles 00 修改 ALLOWED HOSTS,[*,可以让任何P 访问 #t SECURITY WARNING: don't run with debug turned on in production DEBUG True ALLOWED HOSTS=[.1 TEMPLATES里添加模 板路径 os path join(BASE DIr, templates) TEMPLATES BACKEND ends. django. DjangoTemp lates DIRS': [os path. join(BASE_DIR, temp Lates )p APP DIRS: True 尾部添加 OPTIONS: I context processors: django temp Late context processors. debug: django, temp Late context processors, request ango. contrib. auth. context processors.auth" ango. contrib. messages, context processors,messages } STATICFILES DIRS = os path. join (BASE DIR,'static), STATICFILES DIRS ospath. join( BASE DIR,'static 然后Wq保存 九、在 templates下添加 index. htm文件,输入下面内容。 vim /data/wwwroot/mystie/templates/index. html <IDOCTYPE html> <html> < head> <meta charset ="utf-8> <tte>我的网站</tte> </head> <body> <h1>欢迎光临我的网站!</h1> </body> </html> 十、配置URL vim /data/wwwroot/mysite/mysite/urls. py from django. contrib import admin django, urL path b log urlpatterns = path( admin/, admin. site. urls) path(·ⅵ /lews index), 十一、编辑 blog APP下的 views.py vim/data/wwwroot/mysite/blog/views. py from django. sho rtcuts Import render def index( request) return render(request,'index. htmL 十二、启动项目 pythons manage. py runserver pyweb) [root@MiWiF1-RID-srv mysite]# pwd /data/wwwroot/mysite pyweb [root@MiwiFi-RID-srv mysite]# pythons manage. py runserver Perfoming system checks System check identified no issues (0 silenced June28,2018-23:04:45 DJango version 2.0.6, usIng settings ' mysIte. settings Startingdevelopmentserverathttp://127.0.0.1:8000/ quit the server with CONTROL-C 正常运行! 十三、 Django正常运行之后我们就开始配置一下 usga 我们网站项目路径是/data/ wwwroot/ mysite/在项目根目录下创建 mysite.Xm文件,输入如下内容 <uwsgI> < socket>127.0.0.1:3997</ socket><!-内部端口,自定义--> <chdr>/data/ wwwroot/ mysite/</chdr><!-项目路径 <module>mysite. wsgi</module> < processes>4</ processes><!-进程数 < daemonize> uwsgi log</ daemonize><!-日志文件-> </uwsgi> 保存 注意飄红的 mysite,还有配置文件里的 mysite这是我们的项目名。 十四、安装 ngInx和配置 nginx. conf文件 进入home目录,执行下面命令 cd /home/ wgethttp://nginx.org/download/nginx-1.13.7.tar.gz 下载完成后,执行解压命令 tar-ZXVf nginx-1.13.7.tar. gz 进入解压后的 nginx-1.13.7文件夹,依次执行以下命令 /configure make make install ngin×-般默认安装好的路径为/usr/ocal/ ngInX 在/usr/oca/ngnx/conf中先备份一下 nginx. conf文件,以防意外。 cp nginx. conf nginx. conf. bak 然后打开 nginx. conf,把原来的内容删除,直接加入以下内容 events f worker connections 1024 httpi include mime types default type application/octet-stream sendfile on server listen 80 servernamewww.django.cn; charset utf-8 location/i include uwsgi params uwsgl pass127.0.0.1:8997;#端口要和uwsg里配置的一样 uwsgi param UWSG|SCR| PT mysite. wsgi;#wsgi:py所在的目录名+wsgi uwsgi param UWSG| CHDIR/data/ wwwroot/ mysite;#项目路径 ocation /static/( alias data/wwwroot/mysite/ static/#静态资源路径 要留意备注的地方,要和UWSG配置文件 mysite.xml,还有项目路径对应上。 进入/usr/ local/ nginx/sbin目录 执行/ nginx-t命令先检查配置文件是否有错,没有错就执行以下命令: /nginx 终端没有任何提示就证明 nginx启动成功。可以使用你的服务器地址查看,成功之后就会看 到一个ngnx欢迎页面。 之后,在 settings;py里设置: 、关闭 DEBUG模式 DEBUG= False 2、 ALLOWED HOSTS设置为*表示任何|P都可以访问网站。 ALLOWED HOSTS=[* 十五、访问项目的页面。 进入网站项目目录 cd/ data/wwwroot/mysite/ 执行下面命令: uwsgI -x mysite.xm 以上步骤都没有出错的话。 进入/usr/loca/ ngInx/sbin/目录 执行 /nginx reload 重启 ngInx。 然后在浏览器里访问你的项目地址! ←)→C ①19216831.121 欢迎光临我的网站! 成功访问! 里面最值得留薏的就是项目的路径不要弄错,还有,项目的所有操作都要在虚拟环境下进 行。 环境部罟部份,懒的话,直接复制我的代码直接部署就行。 本地项目搬迁到服务器 如果原来项目是在本地的,想要部署上线,可以参考下面的步骤: 1、备份本地数据库。(使用 sqlite数据库的话,直接打包数据库文件上传到服务器即可) 2、在项目目录下用下面的命令把当前的环境依赖包导出到 requirements. txt文件 pip freeze requirements txt 3、把项目源码压缩打包。 4、把项目上传到对应的目录里。 5、创建新的虚拟环境 6、安装 requirements. txt里的依赖 pip install -r requirements. txt 7、导入数据库到服务器。 数据库原来是 SQLite的,想换成 Mysql,请查看文章:如何把SαLite数据库转换为Mysq数 据库 如果是Mysq数据库的,则在命令行里输入 #导出 Mysql, django为你的数据库 mysqldump -uroot-ppassword django> django sq #把 django.sq上传到服务器,在服务器里用下面命令导入 mysql -uroot -ppassword use dango source your Path\django. sql 然后重复上面的13、14、15的步骤,即可。 如果有什么疑问的,大家可以在评论里留言讨论! 关于线上部署 admin后台样式没有生效的问题: 方法一: 1、在 settings;py尾部: STATIC ROOT=/wwW/ mysite/ mysite/ ' static#设置一个目录,把后台CSS样式放到这 个目录里 2、收集CSS样式,在终端输入: python manage. py collectstatio 运行这个命令之后,就会自动把后台CSS样式收集到/ static/目录下。刷新页面就能恢复样 方法二: 在 Python安装目录下(如果使用虚拟环境,则在虚拟环境目录下)找到 \Lib\site packages\django\contrib\adminltemplates目录,把里面的 admin目录复制到指定目录 即可。 注意:收集或复制前一定先在 settings里配置并指定 STATIO_ROOT路径, static/个目录可 以自己定。指定的时候一定要在 settings:py和 nginx里指定新的路径。不然无法生效。 Django启用SL证书htps域名) 群里好多朋友都需要使用SSL证书,在使用我这个部署教程的基础上部署SSL证书,总是遇 到不少坑。在这,我在这补充一下安装SSL证书的方法,供大家参考。 1、进入之前我们下载 nginx的源码目录 cd /home/nginx-1.13.7/ 2、安装PCRE库 yum -y install pcre 3、安装SSL yum -y install openssl openssI-devel 4、依次执行下面两行代码重新编译一下 /configure /configure--with-httpsslmodule 5、执行make make 注意:是make而不是 make install 6、备份原来的 ngInx cp/usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx. bak 7、将新的 ngInX覆盖旧安装目录 cp objs/nginx /usr/local/nginx/sbin/nginx 如果报错,刚用执行下面的命令覆盖 cp-rfp objs/nginx/usr/local/nginx/ sbin/nginx 8、免费证书下载后有两个文件。(以阿里云免费证书为例)一个是扩展名为pem的文件, 一个是扩展名为key的文件。,pem文件中已经包含服务器证书和CA中间证书,第一段为服 务器证书,第二段为CA中间证书,您可以使用文本编辑器自行提取。key文件是证书私 钥。这里我们直接把域名证书复制到网站根目录里去就行。 9、配置 nginx. conf文件。 events i worker connections 1024 httpi include mime types default type application/octet-stream sendfile on server i listen443sslhttp2; servernamewww.django.cndjango.cn; root/data/ wwwroot/ mysite;#项目路径 charset utf-8 ssIcertificate/data/wwwroot/mysite/1www.django.cn.pem;#,pem证书路径 sslcertificatekey/data/wwwroot/mysite/2www.django.cn.key;#key证书路径 ssl protocols TLSv1TLSv1.1 TLSv1. 2, ssl ciphers ECDHE-RSA-AES128-GCM-SHA256: HIGH: aNULL: MD5: RC4: DHE ssl preter server ciphers on ssI session cache shared ssL: 1 0m. ssI session timeout 10m errorpage497https://shoStsrequesturi ocation/( include uwsgl params, usgs_pass127.0.0.1:8997; uwsgi param UWSGI SCRIPT wechatProject wsgi uwsgi param UWSG|CHDR/data/ wwwroot/mysite;#项目路径 location /static/( alias/data/ wwwroot/ mysite/ statIC/;#静态资源路径 accesslog/data/wwwroot/mysite/www.django.cn.log errorlog/data/wwwroot/mysite/www.django.cn.errorlog: 留意证书的路径,我们主要是把原来的80端口,修改在443,然后再加一些SSL证书配置, 大家可以和前面的 ngInx的配置进行对比一下。 10、测试配置文件是否正确 /usr/local/nginx/sbin/nginx-t 如果没有报错则重启ngnx即可。 /usr/local/nginx/sbin/nginx-s reload

...展开详情
试读 11P CentOS7下部署Django项目详细操作步骤
立即下载 低至0.43元/次 身份认证VIP会员低至7折
抢沙发
一个资源只可评论一次,评论内容不能少于5个字
关注 私信 TA的资源
上传资源赚积分,得勋章
最新推荐
CentOS7下部署Django项目详细操作步骤 45积分/C币 立即下载
1/11
CentOS7下部署Django项目详细操作步骤第1页
CentOS7下部署Django项目详细操作步骤第2页
CentOS7下部署Django项目详细操作步骤第3页

试读结束, 可继续读1页

45积分/C币 立即下载 >