前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >centos7.6部署django+nginx+uwsgi

centos7.6部署django+nginx+uwsgi

作者头像
kirin
发布2020-05-09 15:42:46
6690
发布2020-05-09 15:42:46
举报
文章被收录于专栏:Kirin博客

首先你需要准备好一台已经安装好的centos7.6虚拟机,这个用vm很容易实现 首先约定好 $为系统用户 # 为系统管理员 *** 首先进入系统 执行 # yum update -y *** 然后安装软件管理包和可能使用到的系统依赖环境 执行 # yum -y groupinstall “Development tools” *** 接着执行 :# yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel *** 漫长的等待过后就开始安装python了 ######这里有个安装源的操作 ######: # pip install -i https://pypi.tuna.tsinghua.edu.cn/simple 包名 这里用清华大学的源,国内源,比国外的源下载速度快多了,能 切换到/usr/local目录下 ” # cd /usr/local *** 然后开始下载python :# wget https://www.python.org/ftp/python/3.6.6/Python-3.6.6.tgz 如果有提示报错的话就先安装下载工具 :# yum install wget (python官网下载很慢的。。。。。漫长的等待中。。) *** 下载完成后解压缩下载的包 :# tar -zxvf Python-3.6.6.tgz *** 解压完成后先用ls看一下目录 随后进入Python3.6目录 : # ls : # cd Python-3.6.6 *** 继续编译安装python3到指定目录下 : # ./configure –prefix=/usr/local/python3 等于号=后面的路径可以自己定义,但是要记住,因为后面要用到 *** make一下 :# make *** 接着安装 :# make install *** 安装完成后建立python的软连接 : # ln -s /usr/local/python3/bin/python3.6 /usr/bin/python3 *** 安装完成后建立pip的软连接 :# ln -s /usr/local/python3/bin/pip3 /usr/bin/pip *** 然后查看一下python的版本和pip的版本 : # python -v : # pip -v 正常显示就代表已经安装完成了 *** 接着来安装virtualenv,创建虚拟环境,为了多个项目之间不会产生冲突 : # pip install virtualenv *** 然后为创建的virtualenv 建立软连接 : # ln -s /usr/local/python3/bin/virtualenv /usr/bin/virtualenv *** 创建env目录和站点目录 : # mkdir -p /data/env : # mkdir -p /data/wwwroot *** 切换到/data/env目录下创建指定版本的虚拟环境 : # cd /data/env : # virtualenv –python=/usr/bin/python3 pyweb *** 进入/data/env/pyweb/bin 启动虚拟环境 : # cd /data/env/pyweb/bin : # source activate 如果是成功的话会在控制台显示 pyweb 这样的: #####(pyweb) [root@localhost bin]# *** 接在在虚拟环境里面安装Django和uwsgi :# pip install django django后面可以接= 等于号,指定版本安装 : # pip install uwsgi 然后给uwsgi建立软连接 : # ln -s /usr/localpython3/bin/uwsgi /usr/bin/uwsgi *** 建立完成后切换到网站目录 /data/wwwroot : # cd /data/wwwroot 然后创建django项目 : # django-admin.py startproject mysite 等待一段时间后就自动建立好的项目了,接着进入mysite项目中创建app : # cd mysite 创建app : # python manage.py startapp blog *** 我开始遇到了错误,报了sqlite数据库不存在,然后我改了setting中的sqlite改成了mysql,并配置了数据库信息,然后又报了mysqlclient客户端版本过低,我xx,没办法,解决方案有两个,1.改mysql版本,2.换成用mysqlclient,第二种试了,失败告终,所以只能去改了,这真的很不靠谱 *** 分别创建static 和 templates 用于存放静态文件和模板文件 : # mkdir static : # mkdir templates 然后编辑mysite 里面的setting.py文件 : # cd mysite 在INSTALLED_APPS中添加blog app 修改ALLOWED_HOSTS=[‘*’] 允许所有网络访问 添加模板路径os.path.join(BASE_DIR, ‘templates’) 并且在末尾添加静态文件配置路径 STATICFILES_DIRS = (os.path.join(BASE_DIR,’static’),) 然后切换到templates中创建html文件 这里随意的添加一些代码即可 *** <!DOCTYPE html> <html> <head> <meta charset=”utf-8″> <title>我的网站</title> </head> <body> :<h1> hello!欢迎光临我的网站!</h1> </body> *** 接着配置django的url路由 进入mysite目录 : # cd /data/wwwroot/mysite/mysite 打开urls.py 文件 : # vi urls.py *** 配置: from django.urls import path from . import views urlpatterns=[ path(”,views.index), ] *** 配置视图views 进入blog目录 : # cd /data/wwwroot/mysite/blog : # vi views.py *** from django.shortcuts import render def index(request): return render(request,’index.html’) *** 然后就可以启动项目了, : # python manage.py runserver 接着浏览器中输入终端的地址:127.0.0.1::8000 然后就可以看到html中的内容了, *** 接着配置uwsgi 切换到mysite项目下 : # cd /data/wwwroot/mysite 创建mysite.xml文件 : # vi mysite.xml *** <uwsgi> <socket>127.0.0.1:8997</socket><!– 内部端口,自定义 –> <chdir>/data/wwwroot/mysite/</chdir><!– 项目路径 –> <module>mysite.wsgi</module> <processes>4</processes> <!– 进程数 –> <daemonize>uwsgi.log</daemonize><!– 日志文件 –> *** 安装nginx和配置nginx.conf文件 进入home目录 : # cd /home : # wget http://nginx.org/download/nginx-1.13.7.tar.gz 解压nginx : # tar -zxvf nginx-1.13.7.tar.gz 然后依次执行下面命令 : # cd nginx-1.13.7 : # ./configure : # make : # make install nginx安装好的默认路径为 /usr/local/nginx 进入 /usr/local/nginx/conf : # cd /usr/local/nginx/conf 然后打开conf文件 : # vi nginx.conf *** charset utf-8; location / { include uwsgi_params; uwsgi_pass 127.0.0.1:8997; uwsgi_param UWSGI_SCRIPT mysite.wsgi; uwsgi_param UWSGI_CHDIR /data/wwwroot/mysite; } location /static/ { alias /data/wwwroot/mysite/static/; #静态文件目录 *** 进入 /usr/local/nginx/sbin/ 目录 :# /usr/local/nginx/sbin/ :# ./nginx -t 看到successful字眼就表示成功了,然后执行 : # ./nginx 如果没有任何提示就表示启动成功了 *** 访问项目的页面 进入Django项目目录 : # cd /data/wwwroot/mysite/ : # uwsgi -x mysite.xml 如果没有报错就继续进入目录 :# cd /usr/local/nginx/sbin/ 重启nginx就可以访问到你的页面了 : # ./nginx -s reload 如果忘记配置了所有人访问了就进入到虚拟环境中 : # cd /data/env/pyweb/bin 启动虚拟环境 :# source activate 查看uwsgi进程 : # ps -ef | grep uwsgi 然后进入项目根目录下启动xml文件 uwsgi mysite.xml 接着进入nginx目录重启nginx : # cd /usr/local/nginx/sbin/ 重启nginx : # ./nginx -s reload *** 这就是django + nginx 的配置啦,有点繁琐,但是并不难

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/03/08 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档