首先你需要准备好一台已经安装好的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 的配置啦,有点繁琐,但是并不难
centos7.6部署django+nginx+uwsgi
2020-05-09 15:42:46
浏览数 (1)